Intermediate class for handling inter-region heat exchanges. More...
#include <interRegionHeatTransferModel.H>


Public Member Functions | |
| TypeName ("interRegionHeatTransferModel") | |
| Runtime type information. | |
| interRegionHeatTransferModel (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from dictionary. | |
| virtual | ~interRegionHeatTransferModel ()=default |
| Destructor. | |
| const word & | nbrRegionName () const |
| Return const access to the neighbour region name. | |
| const meshToMesh & | meshInterp () const |
| Return const access to the mapToMap pointer. | |
| const volScalarField & | htc () const |
| Return the heat transfer coefficient. | |
| const interRegionHeatTransferModel & | nbrModel () const |
| Return const access to the neighbour model. | |
| interRegionHeatTransferModel & | nbrModel () |
| Return access to the neighbour model. | |
| virtual void | addSup (fvMatrix< scalar > &eqn, const label fieldi) |
| Source term to energy equation. | |
| virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
| Source term to compressible energy equation. | |
| virtual void | calculateHtc ()=0 |
| Calculate heat transfer coefficient. | |
| virtual bool | read (const dictionary &dict) |
| Read source dictionary. | |
| 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. | |
| interRegionOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from dictionary. | |
| interRegionOption (const interRegionOption &)=delete | |
| No copy construct. | |
| void | operator= (const interRegionOption &)=delete |
| No copy assignment. | |
| virtual | ~interRegionOption ()=default |
| Destructor. | |
| const word & | nbrRegionName () const |
| Return const access to the neighbour region name. | |
| const meshToMesh & | meshInterp () const |
| Return const access to the mapToMap pointer. | |
| Public Member Functions inherited from option | |
| TypeName ("option") | |
| Runtime type information. | |
| 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. | |
| autoPtr< option > | clone () const |
| Return clone. | |
| virtual | ~option ()=default |
| Destructor. | |
| const word & | name () const noexcept |
| Return const access to the source name. | |
| const fvMesh & | mesh () const noexcept |
| Return const access to the mesh database. | |
| const dictionary & | coeffs () const noexcept |
| Return dictionary. | |
| bool | active () const noexcept |
| True if source is active. | |
| void | setApplied (const label fieldi) |
| Set the applied flag to true for field index fieldi. | |
| bool | active (const bool on) noexcept |
| Change source active flag, return previous value. | |
| virtual bool | isActive () |
| Is the source active? | |
| virtual label | applyToField (const word &fieldName) const |
| Return index of field name if found in fieldNames list. | |
| virtual void | checkApplied () const |
| Check that the source has been applied. | |
| 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 | correct (surfaceScalarField &field) |
| virtual void | correct (surfaceVectorField &field) |
| virtual void | correct (surfaceTensorField &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 | postProcessAuxSens (const volScalarField &primalField, const volScalarField &adjointField, scalarField &sensField, const word &fieldName=word::null) |
| virtual void | postProcessAuxSens (const volVectorField &primalField, const volVectorField &adjointField, scalarField &sensField, const word &fieldName=word::null) |
| virtual void | postProcessAuxSens (const volTensorField &primalField, const volTensorField &adjointField, scalarField &sensField, const word &fieldName=word::null) |
| virtual void | writeHeader (Ostream &) const |
| Write the source header information. | |
| virtual void | writeFooter (Ostream &) const |
| Write the source footer information. | |
| virtual void | writeData (Ostream &) const |
| Write the source properties. | |
Protected Member Functions | |
| void | setNbrModel () |
| Set the neighbour interRegionHeatTransferModel. | |
| void | correct () |
| Correct to calculate the inter-region heat transfer coefficient. | |
| template<class Type> | |
| tmp< Field< Type > > | interpolate (const interRegionHeatTransferModel &nbrModel, const Field< Type > &field) const |
| Interpolate field with nbrModel specified. | |
| template<class Type> | |
| tmp< Field< Type > > | interpolate (const Field< Type > &field) const |
| Interpolate field without nbrModel specified. | |
| template<class Type> | |
| void | interpolate (const interRegionHeatTransferModel &nbrModel, const Field< Type > &field, Field< Type > &result) const |
| Interpolate field with nbrModel specified. | |
| template<class Type> | |
| void | interpolate (const Field< Type > &field, Field< Type > &result) const |
| Interpolate field without nbrModel specified. | |
| Protected Member Functions inherited from interRegionOption | |
| void | setMapper () |
| Set the mesh to mesh interpolation object. | |
| Protected Member Functions inherited from option | |
| void | resetApplied () |
| Resize/reset applied flag list for all fieldNames_ entries. | |
Protected Attributes | |
| word | nbrModelName_ |
| Name of the model in the neighbour mesh. | |
| interRegionHeatTransferModel * | nbrModel_ |
| Pointer to neighbour interRegionHeatTransferModel. | |
| bool | firstIter_ |
| Flag to determine the first iteration. | |
| bool | semiImplicit_ |
| Flag to activate semi-implicit coupling. | |
| label | timeIndex_ |
| Time index - used for updating htc. | |
| volScalarField | htc_ |
| Heat transfer coefficient [W/m2/k] times area/volume [1/m]. | |
| word | TName_ |
| Name of operand temperature field. | |
| word | TNbrName_ |
| Name of operand neighbour temperature field. | |
| Protected Attributes inherited from interRegionOption | |
| bool | master_ |
| Master or slave region. | |
| word | nbrRegionName_ |
| Name of the neighbour region to map. | |
| autoPtr< meshToMesh > | meshInterpPtr_ |
| Mesh to mesh interpolation object. | |
| Protected Attributes inherited from option | |
| const word | name_ |
| Source name. | |
| const word | modelType_ |
| Model type. | |
| const fvMesh & | mesh_ |
| Reference to the mesh database. | |
| dictionary | dict_ |
| Top level source dictionary. | |
| dictionary | coeffs_ |
| Dictionary containing source coefficients. | |
| wordList | fieldNames_ |
| Field names to apply source to - populated by derived models. | |
| List< bool > | applied_ |
| Applied flag list - corresponds to each fieldNames_ entry. | |
| bool | active_ |
| Source active flag. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from option | |
| static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
| Return a reference to the selected fvOption model. | |
| Public Attributes inherited from option | |
| bool | log |
| Switch write log to Info. | |
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)
\]](form_492.png)
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:
Definition at line 138 of file interRegionHeatTransferModel.H.
| interRegionHeatTransferModel | ( | const word & | name, |
| const word & | modelType, | ||
| const dictionary & | dict, | ||
| const fvMesh & | mesh ) |
Construct from dictionary.
Definition at line 103 of file interRegionHeatTransferModel.C.
References option::active(), option::coeffs_, dict, Foam::dimEnergy, Foam::dimTemperature, Foam::dimTime, Foam::dimVolume, option::fieldNames_, firstIter_, htc_, interRegionOption::interRegionOption(), option::mesh(), option::name(), nbrModel_, nbrModelName_, option::resetApplied(), semiImplicit_, timeIndex_, timeName, TName_, TNbrName_, and Foam::Zero.
Referenced by constantHeatTransfer::constantHeatTransfer(), interpolate(), interpolate(), interpolate(), setNbrModel(), tabulatedHeatTransfer::tabulatedHeatTransfer(), tabulatedNTUHeatTransfer::tabulatedNTUHeatTransfer(), variableHeatTransfer::variableHeatTransfer(), and ~interRegionHeatTransferModel().


|
virtualdefault |
Destructor.
References interRegionHeatTransferModel(), and rho.

|
protected |
Set the neighbour interRegionHeatTransferModel.
Definition at line 42 of file interRegionHeatTransferModel.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, firstIter_, forAll, fvOptions, interRegionHeatTransferModel(), option::mesh_, option::name(), nbrModel_, nbrModelName_, interRegionOption::nbrRegionName_, Foam::nl, and Foam::refCast().
Referenced by addSup().


|
protected |
Correct to calculate the inter-region heat transfer coefficient.
Definition at line 83 of file interRegionHeatTransferModel.C.
References calculateHtc(), htc(), htc_, Foam::interpolate(), interRegionOption::master_, option::mesh_, nbrModel(), and timeIndex_.

|
protected |
Interpolate field with nbrModel specified.
References field(), interRegionHeatTransferModel(), and nbrModel().

|
protected |
Interpolate field without nbrModel specified.
References field(), interRegionHeatTransferModel(), and nbrModel().

|
protected |
Interpolate field with nbrModel specified.
Definition at line 52 of file interRegionHeatTransferModelTemplates.C.
References field(), interRegionHeatTransferModel(), interRegionOption::master_, meshInterp(), and nbrModel().

|
protected |
Interpolate field without nbrModel specified.
Definition at line 71 of file interRegionHeatTransferModelTemplates.C.
References field(), Foam::interpolate(), and nbrModel().

| TypeName | ( | "interRegionHeatTransferModel" | ) |
Runtime type information.
References dict, option::mesh(), and option::name().

|
inline |
Return const access to the neighbour region name.
Definition at line 25 of file interRegionHeatTransferModelI.H.
References interRegionOption::nbrRegionName_.
Referenced by tabulatedHeatTransfer::calculateHtc(), tabulatedNTUHeatTransfer::calculateHtc(), and variableHeatTransfer::calculateHtc().

|
inline |
Return const access to the mapToMap pointer.
Definition at line 32 of file interRegionHeatTransferModelI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and interRegionOption::meshInterpPtr_.
Referenced by interpolate(), and interpolate().


|
inline |
Return the heat transfer coefficient.
Definition at line 46 of file interRegionHeatTransferModelI.H.
References htc_.
Referenced by correct().

|
inline |
Return const access to the neighbour model.
Definition at line 53 of file interRegionHeatTransferModelI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and nbrModel_.
Referenced by correct(), interpolate(), interpolate(), interpolate(), and interpolate().


|
inline |
Return access to the neighbour model.
Definition at line 67 of file interRegionHeatTransferModelI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and nbrModel_.

|
virtual |
Source term to energy equation.
Reimplemented from option.
Definition at line 151 of file interRegionHeatTransferModel.C.
References correct(), basicThermo::dictName, Foam::dimEnergy, Foam::dimMass, Foam::dimTemperature, Foam::fvc::domainIntegrate(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, he, htc_, Foam::Info, Foam::interpolate(), objectRegistry::lookupObject(), option::mesh_, interRegionOption::nbrRegionName_, GeometricField< scalar, fvPatchField, volMesh >::New(), fvMatrix< Type >::psi(), GeometricField< Type, PatchField, GeoMesh >::ref(), IOobject::scopedName(), semiImplicit_, setNbrModel(), Foam::fvm::Sp(), Foam::T(), TName_, TNbrName_, Foam::type(), and dimensioned< Type >::value().
Referenced by addSup().


|
virtual |
Source term to compressible energy equation.
Reimplemented from option.
Definition at line 238 of file interRegionHeatTransferModel.C.

|
pure virtual |
Calculate heat transfer coefficient.
Implemented in constantHeatTransfer, tabulatedHeatTransfer, tabulatedNTUHeatTransfer, and variableHeatTransfer.
References dict.
Referenced by correct().

|
virtual |
Read source dictionary.
Reimplemented from interRegionOption.
Reimplemented in constantHeatTransfer, tabulatedHeatTransfer, tabulatedNTUHeatTransfer, and variableHeatTransfer.
Definition at line 249 of file interRegionHeatTransferModel.C.
References dict, and interRegionOption::read().
Referenced by constantHeatTransfer::read(), tabulatedHeatTransfer::read(), and variableHeatTransfer::read().


| Foam::tmp< Foam::Field< Type > > interpolate | ( | const interRegionHeatTransferModel & | nbrModel, |
| const Field< Type > & | field ) const |
Definition at line 23 of file interRegionHeatTransferModelTemplates.C.
References field(), interRegionHeatTransferModel(), meshToMesh::mapTgtToSrc(), interRegionOption::master_, meshInterp(), and nbrModel().

| Foam::tmp< Foam::Field< Type > > interpolate | ( | const Field< Type > & | field | ) | const |
Definition at line 42 of file interRegionHeatTransferModelTemplates.C.
References field(), Foam::interpolate(), and nbrModel().

|
protected |
Name of the model in the neighbour mesh.
Definition at line 149 of file interRegionHeatTransferModel.H.
Referenced by interRegionHeatTransferModel(), and setNbrModel().
|
protected |
Pointer to neighbour interRegionHeatTransferModel.
Definition at line 154 of file interRegionHeatTransferModel.H.
Referenced by interRegionHeatTransferModel(), nbrModel(), nbrModel(), and setNbrModel().
|
protected |
Flag to determine the first iteration.
Definition at line 159 of file interRegionHeatTransferModel.H.
Referenced by interRegionHeatTransferModel(), and setNbrModel().
|
protected |
Flag to activate semi-implicit coupling.
Definition at line 164 of file interRegionHeatTransferModel.H.
Referenced by addSup(), and interRegionHeatTransferModel().
|
protected |
Time index - used for updating htc.
Definition at line 169 of file interRegionHeatTransferModel.H.
Referenced by correct(), and interRegionHeatTransferModel().
|
protected |
Heat transfer coefficient [W/m2/k] times area/volume [1/m].
Definition at line 174 of file interRegionHeatTransferModel.H.
Referenced by addSup(), tabulatedHeatTransfer::calculateHtc(), tabulatedNTUHeatTransfer::calculateHtc(), variableHeatTransfer::calculateHtc(), constantHeatTransfer::constantHeatTransfer(), correct(), htc(), and interRegionHeatTransferModel().
|
protected |
Name of operand temperature field.
Definition at line 179 of file interRegionHeatTransferModel.H.
Referenced by addSup(), and interRegionHeatTransferModel().
|
protected |
Name of operand neighbour temperature field.
Definition at line 184 of file interRegionHeatTransferModel.H.
Referenced by addSup(), and interRegionHeatTransferModel().