Public Member Functions | List of all members
turbulentTemperatureRadCoupledMixedFvPatchScalarField Class Reference

Mixed boundary condition for temperature and radiation heat transfer, suitable for multiregion cases. The optional specification of thin thermal layer resistances can be made using the entries thicknessLayers and kappaLayers. More...

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

Public Member Functions

 TypeName ("compressible::turbulentTemperatureRadCoupledMixed")
 Runtime type information. More...
 
 turbulentTemperatureRadCoupledMixedFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field. More...
 
 turbulentTemperatureRadCoupledMixedFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 turbulentTemperatureRadCoupledMixedFvPatchScalarField (const turbulentTemperatureRadCoupledMixedFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a new patch. More...
 
 turbulentTemperatureRadCoupledMixedFvPatchScalarField (const turbulentTemperatureRadCoupledMixedFvPatchScalarField &)
 Construct as copy. More...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 turbulentTemperatureRadCoupledMixedFvPatchScalarField (const turbulentTemperatureRadCoupledMixedFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchScalarFieldclone (const DimensionedField< scalar, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
virtual void autoMap (const fvPatchFieldMapper &)
 Map (and resize as needed) from self given a mapping object. More...
 
virtual void rmap (const fvPatchField< scalar > &, const labelList &)
 Reverse map the given fvPatchField onto this fvPatchField. More...
 
virtual tmp< scalarFieldkappa (const scalarField &Tp) const
 Given patch temperature calculate corresponding K field. Override temperatureCoupledBase::kappa to includes effect of any explicit kappaThickness. More...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void manipulateMatrix (fvMatrix< scalar > &m, const label iMatrix, const direction cmpt)
 Manipulate matrix. More...
 
virtual void write (Ostream &os) const
 Write. More...
 
- Public Member Functions inherited from temperatureCoupledBase
 temperatureCoupledBase (const fvPatch &patch, const KMethodType method=KMethodType::mtFluidThermo)
 Default construct from patch, using fluidThermo (default) or specified method. More...
 
 temperatureCoupledBase (const fvPatch &patch, const KMethodType method, const word &kappaName, const word &alphaName, const word &alphaAniName)
 Construct from patch, method type and field names. More...
 
 temperatureCoupledBase (const fvPatch &patch, const dictionary &dict)
 Construct from patch and dictionary. More...
 
 temperatureCoupledBase (const fvPatch &patch, const temperatureCoupledBase &base)
 Construct from patch and temperatureCoupledBase. More...
 
 temperatureCoupledBase (const temperatureCoupledBase &base)
 Copy construct. More...
 
virtual ~temperatureCoupledBase ()=default
 Destructor. More...
 
word KMethod () const
 Method to obtain K. More...
 
const wordkappaName () const noexcept
 Name of thermal conductivity field. More...
 
const wordalphaName () const noexcept
 Name of thermal diffusivity field. More...
 
virtual tmp< scalarFieldalpha (const scalarField &Tp) const
 Given patch temperature calculate corresponding alphaEff field. More...
 
void write (Ostream &os) const
 Write. More...
 
- Public Member Functions inherited from mappedPatchFieldBase< scalar >
 mappedPatchFieldBase (const mappedPatchBase &mapper, const fvPatchField< scalar > &patchField, const word &fieldName, const bool setAverage, const scalar average, const word &interpolationScheme)
 Construct from components. More...
 
 mappedPatchFieldBase (const mappedPatchBase &mapper, const fvPatchField< scalar > &patchField, const dictionary &dict)
 Construct from dictionary. More...
 
 mappedPatchFieldBase (const mappedPatchBase &mapper, const fvPatchField< scalar > &patchField, const dictionary &dict, const Field< scalar > &fld)
 Construct from dictionary and initial field value. More...
 
 mappedPatchFieldBase (const mappedPatchBase &mapper, const fvPatchField< scalar > &patchField)
 Construct empty. More...
 
 mappedPatchFieldBase (const mappedPatchFieldBase< scalar > &mapper)
 Construct copy. More...
 
 mappedPatchFieldBase (const mappedPatchBase &mapper, const fvPatchField< scalar > &patchField, const mappedPatchFieldBase< scalar > &base)
 Construct copy, resetting patch and field. More...
 
virtual ~mappedPatchFieldBase ()=default
 Destructor. More...
 
const GeometricField< T, fvPatchField, volMesh > & sampleField (const word &fieldName) const
 Field to sample. Either on my or nbr mesh. More...
 
const GeometricField< scalar, fvPatchField, volMesh > & sampleField () const
 Field to sample. Either on my or nbr mesh. More...
 
const Foam::GeometricField< Type2, Foam::fvPatchField, Foam::volMesh > & sampleField (const word &fieldName) const
 
virtual tmp< Field< scalar > > mappedField () const
 Map sampleField onto *this patch. More...
 
virtual tmp< Field< scalar > > mappedInternalField () const
 Map internal of sampleField onto *this patch. More...
 
virtual tmp< scalarFieldmappedWeightField () const
 Map optional weightField onto *this patch. Default is deltaCoeffs. More...
 
virtual void mappedWeightField (const word &weightFieldName, tmp< scalarField > &thisWeights, tmp< scalarField > &nbrWeights) const
 Map optional weightField (given by name) onto *this patch. More...
 
void distribute (const word &fieldName, Field< T > &newValues) const
 Wrapper for mapDistribute::distribute that knows about dabase mapping. More...
 
- Public Member Functions inherited from writeFile
 writeFile (const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true)
 Construct from objectRegistry, prefix, fileName. More...
 
 writeFile (const objectRegistry &obr, const fileName &prefix, const word &name, const dictionary &dict, const bool writeToFile=true)
 Construct from objectRegistry, prefix, fileName and read options from dictionary. More...
 
 writeFile (const writeFile &wf)
 Construct copy. More...
 
virtual ~writeFile ()=default
 Destructor. More...
 
virtual bool read (const dictionary &dict)
 Read. More...
 
virtual OFstreamfile ()
 Return access to the file (if only 1) More...
 
virtual bool writeToFile () const
 Flag to allow writing to file. More...
 
virtual bool canWriteToFile () const
 Flag to allow writing to the file. More...
 
virtual bool canResetFile () const
 Flag to allow resetting the file. More...
 
virtual bool canWriteHeader () const
 Flag to allow writing the header. More...
 
virtual label charWidth () const
 Return width of character stream output. More...
 
virtual void writeCommented (Ostream &os, const string &str) const
 Write a commented string to stream. More...
 
virtual void writeTabbed (Ostream &os, const string &str) const
 Write a tabbed string to stream. More...
 
virtual void writeHeader (Ostream &os, const string &str) const
 Write a commented header to stream. More...
 
virtual void writeCurrentTime (Ostream &os) const
 Write the current time to stream. More...
 
virtual void writeBreak (Ostream &os) const
 Write a break marker to the stream. More...
 
template<class Type >
void writeHeaderValue (Ostream &os, const string &property, const Type &value) const
 Write a (commented) header property and value pair. More...
 
template<class Type >
void writeValue (Ostream &os, const Type &val) const
 Write a given value to stream with the space delimiter. More...
 

Additional Inherited Members

- Public Types inherited from temperatureCoupledBase
enum  KMethodType {
  mtFluidThermo, mtSolidThermo, mtDirectionalSolidThermo, mtLookup,
  mtFunction
}
 Type of supplied Kappa. More...
 
- Static Public Member Functions inherited from mappedPatchFieldBase< scalar >
static const mappedPatchBasemapper (const fvPatch &p, const DimensionedField< scalar, volMesh > &iF)
 Check that patch is of correct type. More...
 
- Static Public Attributes inherited from writeFile
static label addChars = 8
 Additional characters for writing. More...
 
- Protected Member Functions inherited from mappedPatchFieldBase< scalar >
void initRetrieveField (const objectRegistry &obr, const word &region, const word &patch, const labelListList &map, const word &fieldName, const Field< T > &fld) const
 Construct field from registered elements. More...
 
void initRetrieveField (const word &fieldName, const Field< T > &fld) const
 Initialise field to retrieve (e.g. when value read from dictionary) More...
 
bool storeAndRetrieveField (const word &fieldName, const label myComm, const labelListList &subMap, const label constructSize, const labelListList &constructMap, const labelListList &address, const scalarListList &weights, Field< T > &fld) const
 Helper : storeField and retrieveField and interpolate. Leaves fld. More...
 
void storeField (const objectRegistry &obr, const word &region, const word &patch, const label myComm, const labelListList &procToMap, const word &fieldName, const Field< T > &fld) const
 Store elements of field onto (sub) registry. More...
 
bool retrieveField (const bool allowUnset, const objectRegistry &obr, const word &region, const word &patch, const label myComm, const labelListList &procToMap, const word &fieldName, Field< T > &fld) const
 Construct field from registered elements. More...
 
- Protected Member Functions inherited from writeFile
void initStream (Ostream &os) const
 Initialise the output stream for writing. More...
 
fileName baseFileDir () const
 Return the base directory for output. More...
 
fileName baseTimeDir () const
 Return the base directory for the current time value. More...
 
fileName filePath (const fileName &fName) const
 Return the full path for the supplied file name. More...
 
virtual autoPtr< OFstreamnewFile (const fileName &fName) const
 Return autoPtr to a new file using file name. More...
 
virtual autoPtr< OFstreamnewFileAtTime (const word &name, scalar timeValue) const
 Return autoPtr to a new file for a given time. More...
 
virtual autoPtr< OFstreamnewFileAtStartTime (const word &name) const
 Return autoPtr to a new file using the simulation start time. More...
 
virtual void resetFile (const word &name)
 Reset internal file pointer to new file with new name. More...
 
Omanip< int > valueWidth (const label offset=0) const
 Return the value width when writing to stream with optional offset. More...
 
void operator= (const writeFile &)=delete
 No copy assignment. More...
 
virtual autoPtr< OFstreamcreateFile (const word &name, scalar timeValue) const
 Deprecated(2022-09) Return autoPtr to a new file for a given time. More...
 
virtual autoPtr< OFstreamcreateFile (const word &name) const
 Deprecated(2022-09) Return autoPtr to a new file using the simulation start time. More...
 
- Protected Attributes inherited from temperatureCoupledBase
const fvPatchpatch_
 Underlying patch. More...
 
const KMethodType method_
 How to get K. More...
 
const word kappaName_
 Name of thermal conductivity field (if looked up from database) More...
 
const word alphaName_
 Name of thermal diffusivity. More...
 
const word alphaAniName_
 Name of the non-isotropic alpha (for directional solidThermo) More...
 
autoPtr< PatchFunction1< scalar > > kappaFunction1_
 Function1 for kappa. More...
 
autoPtr< PatchFunction1< scalar > > alphaFunction1_
 Function1 for alpha. More...
 
- Protected Attributes inherited from mappedPatchFieldBase< scalar >
const mappedPatchBasemapper_
 Mapping engine. More...
 
const fvPatchField< scalar > & patchField_
 Underlying patch field. More...
 
word fieldName_
 Name of field to sample. More...
 
const bool setAverage_
 If true adjust the mapped field to maintain average value average_. More...
 
const scalar average_
 Average value the mapped field is adjusted to maintain if setAverage_ is set true. More...
 
word interpolationScheme_
 Interpolation scheme to use for nearestcell mode. More...
 
- Protected Attributes inherited from writeFile
const objectRegistryfileObr_
 Reference to the region objectRegistry. More...
 
const fileName prefix_
 Prefix. More...
 
word fileName_
 Name of file. More...
 
autoPtr< OFstreamfilePtr_
 File pointer. More...
 
label writePrecision_
 Write precision. More...
 
bool writeToFile_
 Flag to enable/disable writing to file. More...
 
bool updateHeader_
 Flag to update the header, e.g. on mesh changes. Default is true. More...
 
bool writtenHeader_
 Flag to identify whether the header has been written. More...
 
bool useUserTime_
 Flag to use the specified user time, e.g. CA deg instead of seconds. Default = true. More...
 
scalar startTime_
 Start time value. More...
 
- Static Protected Attributes inherited from temperatureCoupledBase
static const Enum< KMethodTypeKMethodTypeNames_
 

Detailed Description

Mixed boundary condition for temperature and radiation heat transfer, suitable for multiregion cases. The optional specification of thin thermal layer resistances can be made using the entries thicknessLayers and kappaLayers.

The thermal conductivity kappa can be obtained from a variety of sources, as explained in the temperatureCoupledBase class.

Usage
Example of the boundary condition specification:
<patchName>
{
    // Mandatory entries
    type                compressible::turbulentTemperatureRadCoupledMixed;

    // Optional entries
    Tnbr                <word>;
    qrNbr               <word>;
    qr                  <word>;
    logInterval         <scalar>;
    thermalInertia      <bool>;
    verbose             <bool>;
    prefix              <word>;

    // Conditional entries

        // Option-1
        thicknessLayers <scalarList>;
        kappaLayers     <scalarList>;

        // Option-2
        thicknessLayer  <PatchFunction1<scalar>>;
        kappaLayer      <PatchFunction1<scalar>>;

    // Inherited entries
    kappaMethod         <word>;
    kappa               <word>;
    ...
}

For example:

<patchName>
{
    type            compressible::turbulentTemperatureRadCoupledMixed;
    Tnbr            T;
    qrNbr           qr; // or none. Name of qr field on neighbour region
    qr              qr; // or none. Name of qr field on this region
    thicknessLayers (0.1 0.2 0.3 0.4);
    kappaLayers     (1 2 3 4);
    thermalInertia  false/true;
    kappaMethod     lookup;
    kappa           kappa;
    value           uniform 300;
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: compressible::turbulentTemperatureRadCoupledMixed word yes -
Tnbr Name of the nbr temperature field word no T
qrNbr Name of the radiative flux in the nbr region word no none
qr Name of the radiative flux in this region word no none
logInterval Log-file output frequency [s] scalar no -1
thermalInertia Flag to add thermal inertia to wall node bool no false
verbose Flag to enable verbose output with extra fields bool no false
prefix Name of output-field prefix (in verbose mode) word no multiWorld
thicknessLayers List of thicknesses per layer [m] scalarList choice -
kappaLayers List of thermal conductivites per layer [W/m/K] scalarList choice -
thicknessLayer Single thickness of layer [m] PatchFunction1<scalar> choice -
kappaLayer Corresponding thermal conductivity [W/m/K] PatchFunction1<scalar> choice -

The inherited entries are elaborated in:

Note
  • Needs to be on underlying mapped(Wall)FvPatch.
Source files

Definition at line 238 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ turbulentTemperatureRadCoupledMixedFvPatchScalarField() [1/5]

Construct from patch and internal field.

Definition at line 118 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

References Foam::Zero.

Referenced by turbulentTemperatureRadCoupledMixedFvPatchScalarField::clone().

Here is the caller graph for this function:

◆ turbulentTemperatureRadCoupledMixedFvPatchScalarField() [2/5]

turbulentTemperatureRadCoupledMixedFvPatchScalarField ( const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF,
const dictionary dict 
)

Construct from patch, internal field and dictionary.

Definition at line 188 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOobjectOption::MUST_READ, PatchFunction1< Type >::NewIfPresent(), p, Foam::foamVersion::patch, Foam::blockMeshTools::read(), and Foam::Zero.

Here is the call graph for this function:

◆ turbulentTemperatureRadCoupledMixedFvPatchScalarField() [3/5]

Construct by mapping given turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a new patch.

Definition at line 155 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

◆ turbulentTemperatureRadCoupledMixedFvPatchScalarField() [4/5]

Construct as copy.

Definition at line 356 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

◆ turbulentTemperatureRadCoupledMixedFvPatchScalarField() [5/5]

Construct as copy setting internal field reference.

Definition at line 325 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "compressible::turbulentTemperatureRadCoupledMixed"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented in thermalBaffleFvPatchScalarField.

Definition at line 411 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.H.

References turbulentTemperatureRadCoupledMixedFvPatchScalarField::turbulentTemperatureRadCoupledMixedFvPatchScalarField().

Here is the call graph for this function:

◆ clone() [2/2]

virtual tmp<fvPatchScalarField> clone ( const DimensionedField< scalar, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Reimplemented in thermalBaffleFvPatchScalarField.

Definition at line 435 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.H.

References turbulentTemperatureRadCoupledMixedFvPatchScalarField::turbulentTemperatureRadCoupledMixedFvPatchScalarField().

Here is the call graph for this function:

◆ autoMap()

void autoMap ( const fvPatchFieldMapper mapper)
virtual

Map (and resize as needed) from self given a mapping object.

Implements temperatureCoupledBase.

Definition at line 387 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

References temperatureCoupledBase::autoMap().

Here is the call graph for this function:

◆ rmap()

void rmap ( const fvPatchField< scalar > &  ptf,
const labelList addr 
)
virtual

Reverse map the given fvPatchField onto this fvPatchField.

Implements temperatureCoupledBase.

Definition at line 403 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

References Foam::refCast(), and temperatureCoupledBase::rmap().

Here is the call graph for this function:

◆ kappa()

tmp< Foam::scalarField > kappa ( const scalarField Tp) const
virtual

Given patch temperature calculate corresponding K field. Override temperatureCoupledBase::kappa to includes effect of any explicit kappaThickness.

Reimplemented from temperatureCoupledBase.

Definition at line 428 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

References temperatureCoupledBase::kappa().

Referenced by turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs().

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

◆ updateCoeffs()

void updateCoeffs ( )
virtual

◆ manipulateMatrix()

void manipulateMatrix ( fvMatrix< scalar > &  m,
const label  iMatrix,
const direction  cmpt 
)
virtual

Manipulate matrix.

Definition at line 783 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

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

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Reimplemented from mappedPatchFieldBase< scalar >.

Reimplemented in thermalBaffleFvPatchScalarField.

Definition at line 961 of file turbulentTemperatureRadCoupledMixedFvPatchScalarField.C.

References os(), temperatureCoupledBase::write(), mappedPatchFieldBase< Type >::write(), and mixedFvPatchField< Type >::write().

Referenced by thermalBaffleFvPatchScalarField::write().

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

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