Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
interRegionHeatTransferModel Class Referenceabstract

Intermediate class for handling inter-region heat exchanges. More...

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

Public Member Functions

 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)
 
virtual void calculateHtc ()=0
 
virtual bool read (const dictionary &dict)
 
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
 

Protected Member Functions

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

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_
 

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
 

Detailed Description

Intermediate class for handling inter-region heat exchanges.

The derived classes must provide the heat transfer coefficients (htc) which is used as follows in the energy equation.

\[ -htc*Tmapped + Sp(htc, T) \]

Usage
Minimal example by using constant/fvOptions:
<userDefinedName1>
{
    // Mandatory/Optional (inherited) entries
    ...

    // Mandatory entries (unmodifiable)
    fields          (<field1> <field2> ... <fieldN>);
    nbrModel        <nbrModelName>;
    semiImplicit    true;

    // Optional entries (unmodifiable)
    T               <Tname>;
    Tnbr            <TnbrName>;

    // Mandatory/Optional (derived) entries
    ...
}

where the entries mean:

Property Description Type Reqd Dflt
nbrModel Name of the model in the neighbour mesh word yes -
fields Names of operand fields wordList yes -
semiImplicit Flag to activate semi-implicit coupling bool yes -
T Name of operand temperature field word no T
Tnbr Name of operand neighbour temperature field word no T

The inherited entries are elaborated in:

See also
Source files

Definition at line 138 of file interRegionHeatTransferModel.H.

Constructor & Destructor Documentation

◆ interRegionHeatTransferModel()

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

Definition at line 104 of file interRegionHeatTransferModel.C.

References option::resetApplied().

Here is the call graph for this function:

◆ ~interRegionHeatTransferModel()

virtual ~interRegionHeatTransferModel ( )
virtualdefault

Member Function Documentation

◆ setNbrModel()

void setNbrModel ( )
protected

◆ correct()

void correct ( )
protected

Definition at line 83 of file interRegionHeatTransferModel.C.

References Foam::interpolate().

Here is the call graph for this function:

◆ interpolate() [1/6]

tmp<Field<Type> > interpolate ( const interRegionHeatTransferModel nbrModel,
const Field< Type > &  field 
) const
protected

Referenced by variableHeatTransfer::calculateHtc().

Here is the caller graph for this function:

◆ interpolate() [2/6]

tmp<Field<Type> > interpolate ( const Field< Type > &  field) const
protected

◆ interpolate() [3/6]

void interpolate ( const interRegionHeatTransferModel nbrModel,
const Field< Type > &  field,
Field< Type > &  result 
) const
protected

Definition at line 53 of file interRegionHeatTransferModelTemplates.C.

References field(), meshToMesh::mapSrcToTgt(), and interRegionHeatTransferModel::meshInterp().

Here is the call graph for this function:

◆ interpolate() [4/6]

void interpolate ( const Field< Type > &  field,
Field< Type > &  result 
) const
protected

Definition at line 72 of file interRegionHeatTransferModelTemplates.C.

References field(), and Foam::fac::interpolate().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "interRegionHeatTransferModel"  )

◆ nbrRegionName()

const Foam::word & nbrRegionName ( ) const
inline

Definition at line 25 of file interRegionHeatTransferModelI.H.

References interRegionOption::nbrRegionName_.

Referenced by variableHeatTransfer::calculateHtc().

Here is the caller graph for this function:

◆ meshInterp()

const Foam::meshToMesh & meshInterp ( ) const
inline

Definition at line 32 of file interRegionHeatTransferModelI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Referenced by interRegionHeatTransferModel::interpolate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htc()

const Foam::volScalarField & htc ( ) const
inline

Definition at line 46 of file interRegionHeatTransferModelI.H.

◆ nbrModel() [1/2]

Foam::fv::interRegionHeatTransferModel & nbrModel ( ) const
inline

Definition at line 53 of file interRegionHeatTransferModelI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ nbrModel() [2/2]

interRegionHeatTransferModel& nbrModel ( )
inline

◆ addSup() [1/2]

void addSup ( fvMatrix< scalar > &  eqn,
const label  fieldi 
)
virtual

◆ addSup() [2/2]

void addSup ( const volScalarField rho,
fvMatrix< scalar > &  eqn,
const label  fieldi 
)
virtual

Reimplemented from option.

Definition at line 247 of file interRegionHeatTransferModel.C.

◆ calculateHtc()

virtual void calculateHtc ( )
pure virtual

◆ read()

bool read ( const dictionary dict)
virtual

Reimplemented from interRegionOption.

Reimplemented in tabulatedNTUHeatTransfer, variableHeatTransfer, tabulatedHeatTransfer, and constantHeatTransfer.

Definition at line 257 of file interRegionHeatTransferModel.C.

References dict, and interRegionOption::read().

Referenced by constantHeatTransfer::read(), tabulatedHeatTransfer::read(), and variableHeatTransfer::read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolate() [5/6]

Foam::tmp<Foam::Field<Type> > interpolate ( const interRegionHeatTransferModel nbrModel,
const Field< Type > &  field 
) const

Definition at line 24 of file interRegionHeatTransferModelTemplates.C.

References field(), meshToMesh::mapSrcToTgt(), and interRegionHeatTransferModel::meshInterp().

Here is the call graph for this function:

◆ interpolate() [6/6]

Foam::tmp<Foam::Field<Type> > interpolate ( const Field< Type > &  field) const

Definition at line 43 of file interRegionHeatTransferModelTemplates.C.

References field(), and Foam::fac::interpolate().

Here is the call graph for this function:

Member Data Documentation

◆ nbrModelName_

word nbrModelName_
protected

◆ nbrModel_

interRegionHeatTransferModel* nbrModel_
protected

◆ firstIter_

bool firstIter_
protected

◆ semiImplicit_

bool semiImplicit_
protected

Definition at line 156 of file interRegionHeatTransferModel.H.

◆ timeIndex_

label timeIndex_
protected

Definition at line 159 of file interRegionHeatTransferModel.H.

◆ htc_

volScalarField htc_
protected

Definition at line 162 of file interRegionHeatTransferModel.H.

Referenced by variableHeatTransfer::calculateHtc().

◆ TName_

word TName_
protected

Definition at line 165 of file interRegionHeatTransferModel.H.

◆ TNbrName_

word TNbrName_
protected

Definition at line 168 of file interRegionHeatTransferModel.H.


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