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

Base class for inter region heat exchange. The derived classes must provide the heat transfer coeffisine (htc) which is used as follows in the energy equation. More...

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

Public Member Functions

 TypeName ("interRegionHeatTransferModel")
 Runtime type information. More...
 
 interRegionHeatTransferModel (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from dictionary. More...
 
virtual ~interRegionHeatTransferModel ()
 Destructor. More...
 
const wordnbrRegionName () const
 Return const access to the neighbour region name. More...
 
const meshToMeshmeshInterp () const
 Return const access to the mapToMap pointer. More...
 
const volScalarFieldhtc () const
 Return the heat transfer coefficient. More...
 
const interRegionHeatTransferModelnbrModel () const
 Return const access to the neighbour model. More...
 
interRegionHeatTransferModelnbrModel ()
 Return access to the neighbour model. More...
 
virtual void addSup (fvMatrix< scalar > &eqn, const label fieldi)
 Source term to energy equation. More...
 
virtual void addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 Source term to compressible energy equation. More...
 
virtual void calculateHtc ()=0
 Calculate heat transfer coefficient. More...
 
virtual bool read (const dictionary &dict)
 Read dictionary. More...
 
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")
 Runtime type information. More...
 
 interRegionOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from dictionary. More...
 
virtual ~interRegionOption ()
 Destructor. More...
 
const wordnbrRegionName () const
 Return const access to the neighbour region name. More...
 
const meshToMeshmeshInterp () const
 Return const access to the mapToMap pointer. More...
 
- Public Member Functions inherited from option
 TypeName ("option")
 Runtime type information. More...
 
 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)
 Construct from components. More...
 
autoPtr< optionclone () const
 Return clone. More...
 
virtual ~option ()
 Destructor. More...
 
const wordname () const
 Return const access to the source name. More...
 
const fvMeshmesh () const
 Return const access to the mesh database. More...
 
const dictionarycoeffs () const
 Return dictionary. More...
 
bool active () const
 Return const access to the source active flag. More...
 
void setApplied (const label fieldi)
 Set the applied flag to true for field index fieldi. More...
 
Switchactive ()
 Return access to the source active flag. More...
 
virtual bool isActive ()
 Is the source active? More...
 
virtual label applyToField (const word &fieldName) const
 Return index of field name if found in fieldNames list. More...
 
virtual void checkApplied () const
 Check that the source has been applied. More...
 
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 writeHeader (Ostream &) const
 Write the source header information. More...
 
virtual void writeFooter (Ostream &) const
 Write the source footer information. More...
 
virtual void writeData (Ostream &) const
 Write the source properties. More...
 

Protected Member Functions

void setNbrModel ()
 Set the neighbour interRegionHeatTransferModel. More...
 
void correct ()
 Correct to calculate the inter-region heat transfer coefficient. More...
 
template<class Type >
tmp< Field< Type > > interpolate (const interRegionHeatTransferModel &nbrModel, const Field< Type > &field) const
 Interpolate field with nbrModel specified. More...
 
template<class Type >
tmp< Field< Type > > interpolate (const Field< Type > &field) const
 Interpolate field without nbrModel specified. More...
 
template<class Type >
void interpolate (const interRegionHeatTransferModel &nbrModel, const Field< Type > &field, Field< Type > &result) const
 Interpolate field with nbrModel specified. More...
 
template<class Type >
void interpolate (const Field< Type > &field, Field< Type > &result) const
 Interpolate field without nbrModel specified. More...
 
- Protected Member Functions inherited from interRegionOption
void setMapper ()
 Set the mesh to mesh interpolation object. More...
 

Protected Attributes

word nbrModelName_
 Name of the model in the neighbour mesh. More...
 
interRegionHeatTransferModelnbrModel_
 Pointer to neighbour interRegionHeatTransferModel. More...
 
bool firstIter_
 First iteration. More...
 
label timeIndex_
 Time index - used for updating htc. More...
 
volScalarField htc_
 Heat transfer coefficient [W/m2/k] times area/volume [1/m]. More...
 
bool semiImplicit_
 Flag to activate semi-implicit coupling. More...
 
word TName_
 Name of temperature field; default = "T". More...
 
word TNbrName_
 Name of neighbour temperature field; default = "T". More...
 
- Protected Attributes inherited from interRegionOption
bool master_
 Master or slave region. More...
 
word nbrRegionName_
 Name of the neighbour region to map. More...
 
autoPtr< meshToMeshmeshInterpPtr_
 Mesh to mesh interpolation object. More...
 
- Protected Attributes inherited from option
const word name_
 Source name. More...
 
const word modelType_
 Model type. More...
 
const fvMeshmesh_
 Reference to the mesh database. More...
 
dictionary dict_
 Top level source dictionary. More...
 
dictionary coeffs_
 Dictionary containing source coefficients. More...
 
Switch active_
 Source active flag. More...
 
wordList fieldNames_
 Field names to apply source to - populated by derived models. More...
 
List< bool > applied_
 Applied flag list - corresponds to each fieldNames_ entry. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from option
static autoPtr< optionNew (const word &name, const dictionary &dict, const fvMesh &mesh)
 Return a reference to the selected fvOption model. More...
 

Detailed Description

Base class for inter region heat exchange. The derived classes must provide the heat transfer coeffisine (htc) which is used as follows in the energy equation.

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

Definition at line 54 of file interRegionHeatTransferModel.H.

Constructor & Destructor Documentation

◆ interRegionHeatTransferModel()

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

Construct from dictionary.

Definition at line 108 of file interRegionHeatTransferModel.C.

Referenced by interRegionHeatTransferModel::correct().

Here is the caller graph for this function:

◆ ~interRegionHeatTransferModel()

Destructor.

Definition at line 161 of file interRegionHeatTransferModel.C.

References interRegionHeatTransferModel::addSup().

Here is the call graph for this function:

Member Function Documentation

◆ setNbrModel()

void setNbrModel ( )
protected

◆ correct()

void correct ( )
protected

Correct to calculate the inter-region heat transfer coefficient.

Definition at line 87 of file interRegionHeatTransferModel.C.

References Foam::interpolate(), and interRegionHeatTransferModel::interRegionHeatTransferModel().

Here is the call graph for this function:

◆ interpolate() [1/6]

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

Interpolate field with nbrModel specified.

Referenced by interRegionHeatTransferModel::interpolate().

Here is the caller graph for this function:

◆ interpolate() [2/6]

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

Interpolate field without nbrModel specified.

◆ interpolate() [3/6]

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

Interpolate field with nbrModel specified.

Definition at line 58 of file interRegionHeatTransferModelTemplates.C.

References interRegionHeatTransferModel::interpolate(), 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

Interpolate field without nbrModel specified.

Definition at line 77 of file interRegionHeatTransferModelTemplates.C.

References Foam::fvc::interpolate().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "interRegionHeatTransferModel"  )

Runtime type information.

◆ nbrRegionName()

const Foam::word & nbrRegionName ( ) const
inline

Return const access to the neighbour region name.

Definition at line 29 of file interRegionHeatTransferModelI.H.

References interRegionOption::nbrRegionName_.

◆ meshInterp()

const Foam::meshToMesh & meshInterp ( ) const
inline

Return const access to the mapToMap pointer.

Definition at line 36 of file interRegionHeatTransferModelI.H.

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

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

Return the heat transfer coefficient.

Definition at line 50 of file interRegionHeatTransferModelI.H.

References interRegionHeatTransferModel::htc_.

◆ nbrModel() [1/2]

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

Return const access to the neighbour model.

Definition at line 57 of file interRegionHeatTransferModelI.H.

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

Here is the call graph for this function:

◆ nbrModel() [2/2]

Return access to the neighbour model.

Definition at line 71 of file interRegionHeatTransferModelI.H.

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

Here is the call graph for this function:

◆ 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

Source term to compressible energy equation.

Reimplemented from option.

Definition at line 265 of file interRegionHeatTransferModel.C.

◆ calculateHtc()

virtual void calculateHtc ( )
pure virtual

Calculate heat transfer coefficient.

Implemented in variableHeatTransfer, tabulatedHeatTransfer, and constantHeatTransfer.

◆ read()

bool read ( const dictionary dict)
virtual

Read dictionary.

Reimplemented from interRegionOption.

Reimplemented in variableHeatTransfer, tabulatedHeatTransfer, and constantHeatTransfer.

Definition at line 30 of file interRegionHeatTransferModelIO.C.

References 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

◆ interpolate() [6/6]

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

Definition at line 48 of file interRegionHeatTransferModelTemplates.C.

References Foam::fvc::interpolate(), and interRegionHeatTransferModel::interpolate().

Here is the call graph for this function:

Member Data Documentation

◆ nbrModelName_

word nbrModelName_
protected

Name of the model in the neighbour mesh.

Definition at line 63 of file interRegionHeatTransferModel.H.

◆ nbrModel_

interRegionHeatTransferModel* nbrModel_
protected

Pointer to neighbour interRegionHeatTransferModel.

Definition at line 66 of file interRegionHeatTransferModel.H.

Referenced by interRegionHeatTransferModel::nbrModel().

◆ firstIter_

bool firstIter_
protected

First iteration.

Definition at line 69 of file interRegionHeatTransferModel.H.

◆ timeIndex_

label timeIndex_
protected

Time index - used for updating htc.

Definition at line 72 of file interRegionHeatTransferModel.H.

◆ htc_

volScalarField htc_
protected

Heat transfer coefficient [W/m2/k] times area/volume [1/m].

Definition at line 75 of file interRegionHeatTransferModel.H.

Referenced by interRegionHeatTransferModel::htc().

◆ semiImplicit_

bool semiImplicit_
protected

Flag to activate semi-implicit coupling.

Definition at line 78 of file interRegionHeatTransferModel.H.

◆ TName_

word TName_
protected

Name of temperature field; default = "T".

Definition at line 81 of file interRegionHeatTransferModel.H.

◆ TNbrName_

word TNbrName_
protected

Name of neighbour temperature field; default = "T".

Definition at line 84 of file interRegionHeatTransferModel.H.


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