Applies a tabulated heat transfer model for inter-region heat exchanges. The heat flux is calculated based on the Number of Thermal Units (NTU). More...
Public Types | |
enum | geometryModeType { gmCalculated, gmUser } |
Public Member Functions | |
TypeName ("tabulatedNTUHeatTransfer") | |
tabulatedNTUHeatTransfer (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
tabulatedNTUHeatTransfer (const tabulatedNTUHeatTransfer &)=delete | |
void | operator= (const tabulatedNTUHeatTransfer &)=delete |
virtual | ~tabulatedNTUHeatTransfer ()=default |
virtual void | calculateHtc () |
virtual bool | read (const dictionary &dict) |
![]() | |
TypeName ("interRegionHeatTransferModel") | |
interRegionHeatTransferModel (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
virtual | ~interRegionHeatTransferModel ()=default |
const word & | nbrRegionName () const |
const meshToMesh & | meshInterp () const |
const volScalarField & | htc () const |
const interRegionHeatTransferModel & | nbrModel () const |
interRegionHeatTransferModel & | nbrModel () |
virtual void | addSup (fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolate (const interRegionHeatTransferModel &nbrModel, const Field< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolate (const Field< Type > &field) const |
![]() | |
TypeName ("interRegionOption") | |
interRegionOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
interRegionOption (const interRegionOption &)=delete | |
void | operator= (const interRegionOption &)=delete |
virtual | ~interRegionOption ()=default |
const word & | nbrRegionName () const |
const meshToMesh & | meshInterp () const |
![]() | |
TypeName ("option") | |
declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh)) | |
option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
autoPtr< option > | clone () const |
virtual | ~option ()=default |
const word & | name () const noexcept |
const fvMesh & | mesh () const noexcept |
const dictionary & | coeffs () const noexcept |
bool | active () const noexcept |
void | setApplied (const label fieldi) |
bool | active (const bool on) noexcept |
virtual bool | isActive () |
virtual label | applyToField (const word &fieldName) const |
virtual void | checkApplied () const |
virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< vector > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | correct (volScalarField &field) |
virtual void | correct (volVectorField &field) |
virtual void | correct (volSphericalTensorField &field) |
virtual void | correct (volSymmTensorField &field) |
virtual void | correct (volTensorField &field) |
virtual void | postProcessSens (scalarField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
virtual void | postProcessSens (vectorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
virtual void | postProcessSens (tensorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
virtual void | writeHeader (Ostream &) const |
virtual void | writeFooter (Ostream &) const |
virtual void | writeData (Ostream &) const |
Static Public Attributes | |
static const Enum< geometryModeType > | geometryModelNames_ |
Additional Inherited Members | |
![]() | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
![]() | |
bool | log |
![]() | |
void | setNbrModel () |
void | correct () |
template<class Type > | |
tmp< Field< Type > > | interpolate (const interRegionHeatTransferModel &nbrModel, const Field< Type > &field) const |
template<class Type > | |
tmp< Field< Type > > | interpolate (const Field< Type > &field) const |
template<class Type > | |
void | interpolate (const interRegionHeatTransferModel &nbrModel, const Field< Type > &field, Field< Type > &result) const |
template<class Type > | |
void | interpolate (const Field< Type > &field, Field< Type > &result) const |
![]() | |
void | setMapper () |
![]() | |
void | resetApplied () |
![]() | |
word | nbrModelName_ |
interRegionHeatTransferModel * | nbrModel_ |
bool | firstIter_ |
bool | semiImplicit_ |
label | timeIndex_ |
volScalarField | htc_ |
word | TName_ |
word | TNbrName_ |
![]() | |
bool | master_ |
word | nbrRegionName_ |
autoPtr< meshToMesh > | meshInterpPtr_ |
![]() | |
const word | name_ |
const word | modelType_ |
const fvMesh & | mesh_ |
dictionary | dict_ |
dictionary | coeffs_ |
wordList | fieldNames_ |
List< bool > | applied_ |
bool | active_ |
Applies a tabulated heat transfer model for inter-region heat exchanges. The heat flux is calculated based on the Number of Thermal Units (NTU).
A 2-D table of NTU as functions of the primary and secondary mass flow rates is required.
The exchanger geometry can be specified using either:
calculated:
coreBlockageRatio
[0-1] entryuser:
Heat transfer coefficient calculated by:
Where is given by:
constant/fvOptions
: tabulatedNTUHeatTransfer1 { // Mandatory entries (unmodifiable) type tabulatedNTUHeatTransfer; // Mandatory entries (runtime modifiable) geometryMode <geometryMode>; outOfBounds clamp; file "ntuTable"; // Optional entries (runtime modifiable) U <Uname>; Unbr <UnbrName>; rho <rhoName>; rhoNbr <rhoNbrName>; // Conditional mandatory entries (runtime modifiable) // when geometryMode=user Ain 0.01728; AinNbr 0.3456; // when geometryMode=calculated inletPatch inlet_HWK; inletPatchNbr inlet_air; inletBlockageRatio 0.10; inletBlockageRatioNbr 0.04; coreBlockageRatio 0; // Conditional optional entries (runtime modifiable) // when geometryMode=user Vcore 0.01244; // Mandatory/Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Reqd | Dflt |
---|---|---|---|---|
type | Type name: tabulatedNTUHeatTransfer | word | yes | - |
geometryMode | Geometry mode type | word | yes | - |
file | Heat transfer coefficient table | interpolate2DTable | yes | - |
U | Name of operand velocity field | word | no | U |
Unbr | Name of operand neighbour velocity field | word | no | U |
Ain | Inlet area [m2] | scalar | cndtnl | - |
AinNbr | Neighbour region inlet area [m2] | scalar | cndtnl | - |
Vcore | Heat exchanger core volume | scalar | cndtnl | - |
inletPatch | Name of inlet patch | word | cndtnl | - |
inletNbrPatch | Name of inlet patch neighbour | word | cndtnl | - |
inletBlockageRatio | Inlet patch blockage ratio [0, 1] | scalar | cndtnl | - |
inletBlockageRatioNbr | Inlet neighbour patch blockage ratio [0, 1] | scalar | cndtnl | - |
coreBlockageRatio | Core volume blockage ratio [0, 1] | scalar | cndtnl | - |
The inherited entries are elaborated in:
Options for the geometryMode
entry:
calculated | Use settings computed internally user | Use settings provided by the user
Example usage:
coolerToAir { type tabulatedNTUHeatTransfer; active yes; tabulatedNTUHeatTransferCoeffs { interpolationMethod cellVolumeWeight; nbrRegion air; master true; fields (h); outOfBounds clamp; file "ntuTable"; nbrModel airToCooler; semiImplicit no; geometryMode user; Ain 0.01728; AinNbr 0.3456; Vcore 0.01244; // Optional // geometryMode calculated; // inletPatch inlet_HWK; // inletPatchNbr inlet_air; // inletBlockageRatio 0.10; // inletBlockageRatioNbr 0.04; // coreBlockageRatio 0; } }
Definition at line 286 of file tabulatedNTUHeatTransfer.H.
enum geometryModeType |
Enumerator | |
---|---|
gmCalculated | |
gmUser |
Definition at line 295 of file tabulatedNTUHeatTransfer.H.
tabulatedNTUHeatTransfer | ( | const word & | name, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Definition at line 184 of file tabulatedNTUHeatTransfer.C.
|
delete |
|
virtualdefault |
TypeName | ( | "tabulatedNTUHeatTransfer" | ) |
|
delete |
|
virtual |
Implements interRegionHeatTransferModel.
Definition at line 206 of file tabulatedNTUHeatTransfer.C.
References Cp, basicThermo::Cp(), forAll, Foam::interpolate(), Foam::mag(), Foam::min(), rho, thermo, and U.
|
virtual |
Reimplemented from interRegionHeatTransferModel.
Definition at line 248 of file tabulatedNTUHeatTransfer.C.
References dict, and option::read().
|
static |
Definition at line 302 of file tabulatedNTUHeatTransfer.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.