Intermediate class for handling inter-region heat exchanges. More...
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 ()=default |
Destructor. More... | |
const word & | nbrRegionName () const |
Return const access to the neighbour region name. More... | |
const meshToMesh & | meshInterp () const |
Return const access to the mapToMap pointer. More... | |
const volScalarField & | htc () const |
Return the heat transfer coefficient. More... | |
const interRegionHeatTransferModel & | nbrModel () const |
Return const access to the neighbour model. More... | |
interRegionHeatTransferModel & | nbrModel () |
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 source 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... | |
interRegionOption (const interRegionOption &)=delete | |
No copy construct. More... | |
void | operator= (const interRegionOption &)=delete |
No copy assignment. More... | |
virtual | ~interRegionOption ()=default |
Destructor. More... | |
const word & | nbrRegionName () const |
Return const access to the neighbour region name. More... | |
const meshToMesh & | meshInterp () 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< option > | clone () const |
Return clone. More... | |
virtual | ~option ()=default |
Destructor. More... | |
const word & | name () const noexcept |
Return const access to the source name. More... | |
const fvMesh & | mesh () const noexcept |
Return const access to the mesh database. More... | |
const dictionary & | coeffs () const noexcept |
Return dictionary. More... | |
bool | active () const noexcept |
True if source is active. More... | |
void | setApplied (const label fieldi) |
Set the applied flag to true for field index fieldi. More... | |
bool | active (const bool on) noexcept |
Change source active flag, return previous value. 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 | 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 |
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 Member Functions inherited from option | |
void | resetApplied () |
Resize/reset applied flag list for all fieldNames_ entries. More... | |
Protected Attributes | |
word | nbrModelName_ |
Name of the model in the neighbour mesh. More... | |
interRegionHeatTransferModel * | nbrModel_ |
Pointer to neighbour interRegionHeatTransferModel. More... | |
bool | firstIter_ |
Flag to determine the first iteration. More... | |
bool | semiImplicit_ |
Flag to activate semi-implicit coupling. More... | |
label | timeIndex_ |
Time index - used for updating htc. More... | |
volScalarField | htc_ |
Heat transfer coefficient [W/m2/k] times area/volume [1/m]. More... | |
word | TName_ |
Name of operand temperature field. More... | |
word | TNbrName_ |
Name of operand neighbour temperature field. More... | |
Protected Attributes inherited from interRegionOption | |
bool | master_ |
Master or slave region. More... | |
word | nbrRegionName_ |
Name of the neighbour region to map. More... | |
autoPtr< meshToMesh > | meshInterpPtr_ |
Mesh to mesh interpolation object. More... | |
Protected Attributes inherited from option | |
const word | name_ |
Source name. More... | |
const word | modelType_ |
Model type. More... | |
const fvMesh & | mesh_ |
Reference to the mesh database. More... | |
dictionary | dict_ |
Top level source dictionary. More... | |
dictionary | coeffs_ |
Dictionary containing source coefficients. 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... | |
bool | active_ |
Source active flag. More... | |
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. More... | |
Public Attributes inherited from option | |
bool | log |
Switch write log to Info. More... | |
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.
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 104 of file interRegionHeatTransferModel.C.
References option::resetApplied().
|
virtualdefault |
Destructor.
|
protected |
Set the neighbour interRegionHeatTransferModel.
Definition at line 42 of file interRegionHeatTransferModel.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, interRegionHeatTransferModel::firstIter_, forAll, fvOptions, objectRegistry::lookupObject(), option::mesh_, option::name(), interRegionHeatTransferModel::nbrModel_, interRegionHeatTransferModel::nbrModelName_, interRegionOption::nbrRegionName_, Foam::nl, interRegionHeatTransferModel::setNbrModel(), and fvMesh::time().
Referenced by interRegionHeatTransferModel::setNbrModel().
|
protected |
Correct to calculate the inter-region heat transfer coefficient.
Definition at line 83 of file interRegionHeatTransferModel.C.
References Foam::interpolate().
|
protected |
Interpolate field with nbrModel specified.
Referenced by variableHeatTransfer::calculateHtc().
Interpolate field without nbrModel specified.
|
protected |
Interpolate field with nbrModel specified.
Definition at line 53 of file interRegionHeatTransferModelTemplates.C.
References field(), meshToMesh::mapSrcToTgt(), and interRegionHeatTransferModel::meshInterp().
Interpolate field without nbrModel specified.
Definition at line 72 of file interRegionHeatTransferModelTemplates.C.
References field(), and Foam::fac::interpolate().
TypeName | ( | "interRegionHeatTransferModel" | ) |
Runtime type information.
|
inline |
Return const access to the neighbour region name.
Definition at line 25 of file interRegionHeatTransferModelI.H.
References interRegionOption::nbrRegionName_.
Referenced by variableHeatTransfer::calculateHtc().
|
inline |
Return const access to the mapToMap pointer.
Definition at line 32 of file interRegionHeatTransferModelI.H.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
Referenced by interRegionHeatTransferModel::interpolate().
|
inline |
Return the heat transfer coefficient.
Definition at line 46 of file interRegionHeatTransferModelI.H.
|
inline |
Return const access to the neighbour model.
Definition at line 53 of file interRegionHeatTransferModelI.H.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
|
inline |
Return access to the neighbour model.
Definition at line 67 of file interRegionHeatTransferModelI.H.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
|
virtual |
Source term to energy equation.
Reimplemented from option.
Definition at line 152 of file interRegionHeatTransferModel.C.
References correct, Foam::ensightOutput::debug, dictionary::dictName(), Foam::dimEnergy, Foam::dimMass, Foam::dimTemperature, Foam::fvc::domainIntegrate(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, he, Foam::Info, Foam::interpolate(), objectRegistry::lookupObject(), tmp< T >::New(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, fvMatrix< Type >::psi(), GeometricField< Type, PatchField, GeoMesh >::ref(), Foam::fvm::Sp(), Foam::T(), IOobject::time(), Foam::type(), dimensioned< Type >::value(), and Ostream::write().
|
virtual |
Source term to compressible energy equation.
Reimplemented from option.
Definition at line 247 of file interRegionHeatTransferModel.C.
|
pure virtual |
Calculate heat transfer coefficient.
Implemented in tabulatedNTUHeatTransfer, variableHeatTransfer, tabulatedHeatTransfer, and constantHeatTransfer.
|
virtual |
Read source dictionary.
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().
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().
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().
|
protected |
Name of the model in the neighbour mesh.
Definition at line 149 of file interRegionHeatTransferModel.H.
Referenced by interRegionHeatTransferModel::setNbrModel().
|
protected |
Pointer to neighbour interRegionHeatTransferModel.
Definition at line 154 of file interRegionHeatTransferModel.H.
Referenced by interRegionHeatTransferModel::setNbrModel().
|
protected |
Flag to determine the first iteration.
Definition at line 159 of file interRegionHeatTransferModel.H.
Referenced by interRegionHeatTransferModel::setNbrModel().
|
protected |
Flag to activate semi-implicit coupling.
Definition at line 164 of file interRegionHeatTransferModel.H.
|
protected |
Time index - used for updating htc.
Definition at line 169 of file interRegionHeatTransferModel.H.
|
protected |
Heat transfer coefficient [W/m2/k] times area/volume [1/m].
Definition at line 174 of file interRegionHeatTransferModel.H.
Referenced by variableHeatTransfer::calculateHtc().
|
protected |
Name of operand temperature field.
Definition at line 179 of file interRegionHeatTransferModel.H.
|
protected |
Name of operand neighbour temperature field.
Definition at line 184 of file interRegionHeatTransferModel.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.