Public Types | Public Member Functions | Static Public Attributes | List of all members
tabulatedNTUHeatTransfer Class Reference

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...

Inheritance diagram for tabulatedNTUHeatTransfer:
Inheritance graph
[legend]
Collaboration diagram for tabulatedNTUHeatTransfer:
Collaboration graph
[legend]

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)
 
- Public Member Functions inherited from interRegionHeatTransferModel
 TypeName ("interRegionHeatTransferModel")
 
 interRegionHeatTransferModel (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 
virtual ~interRegionHeatTransferModel ()=default
 
const wordnbrRegionName () const
 
const meshToMeshmeshInterp () const
 
const volScalarFieldhtc () const
 
const interRegionHeatTransferModelnbrModel () const
 
interRegionHeatTransferModelnbrModel ()
 
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
 
- Public Member Functions inherited from interRegionOption
 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 wordnbrRegionName () const
 
const meshToMeshmeshInterp () const
 
- Public Member Functions inherited from option
 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< optionclone () const
 
virtual ~option ()=default
 
const wordname () const noexcept
 
const fvMeshmesh () const noexcept
 
const dictionarycoeffs () 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< geometryModeTypegeometryModelNames_
 

Additional Inherited Members

- Static Public Member Functions inherited from option
static autoPtr< optionNew (const word &name, const dictionary &dict, const fvMesh &mesh)
 
- Public Attributes inherited from option
bool log
 
- Protected Member Functions inherited from interRegionHeatTransferModel
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
 
- Protected Member Functions inherited from interRegionOption
void setMapper ()
 
- Protected Member Functions inherited from option
void resetApplied ()
 
- Protected Attributes inherited from interRegionHeatTransferModel
word nbrModelName_
 
interRegionHeatTransferModelnbrModel_
 
bool firstIter_
 
bool semiImplicit_
 
label timeIndex_
 
volScalarField htc_
 
word TName_
 
word TNbrName_
 
- Protected Attributes inherited from interRegionOption
bool master_
 
word nbrRegionName_
 
autoPtr< meshToMeshmeshInterpPtr_
 
- Protected Attributes inherited from option
const word name_
 
const word modelType_
 
const fvMeshmesh_
 
dictionary dict_
 
dictionary coeffs_
 
wordList fieldNames_
 
List< boolapplied_
 
bool active_
 

Detailed Description

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:

Heat transfer coefficient calculated by:

\[ htc = C_{min} \frac{NTU}{V_{core}} \]

Where $ C_{min} $ is given by:

\[ C_{min} = min \left(Cp_1 \dot{m}_1, Cp_2 \dot{m}_2 \right) \]

Usage
Minimal example by using 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;
        }
    }
See also
Source files

Definition at line 286 of file tabulatedNTUHeatTransfer.H.

Member Enumeration Documentation

◆ geometryModeType

Enumerator
gmCalculated 
gmUser 

Definition at line 295 of file tabulatedNTUHeatTransfer.H.

Constructor & Destructor Documentation

◆ tabulatedNTUHeatTransfer() [1/2]

tabulatedNTUHeatTransfer ( const word name,
const word modelType,
const dictionary dict,
const fvMesh mesh 
)

Definition at line 184 of file tabulatedNTUHeatTransfer.C.

◆ tabulatedNTUHeatTransfer() [2/2]

◆ ~tabulatedNTUHeatTransfer()

virtual ~tabulatedNTUHeatTransfer ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "tabulatedNTUHeatTransfer"  )

◆ operator=()

void operator= ( const tabulatedNTUHeatTransfer )
delete

◆ calculateHtc()

void calculateHtc ( )
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.

Here is the call graph for this function:

◆ read()

bool read ( const dictionary dict)
virtual

Reimplemented from interRegionHeatTransferModel.

Definition at line 248 of file tabulatedNTUHeatTransfer.C.

References dict, and option::read().

Here is the call graph for this function:

Member Data Documentation

◆ geometryModelNames_

Definition at line 302 of file tabulatedNTUHeatTransfer.H.


The documentation for this class was generated from the following files: