externalWallHeatFluxTemperatureFvPatchScalarField Class Reference

This boundary condition applies a heat flux condition to temperature on an external wall in one of three modes: More...

Inheritance diagram for externalWallHeatFluxTemperatureFvPatchScalarField:
[legend]
Collaboration diagram for externalWallHeatFluxTemperatureFvPatchScalarField:
[legend]

Public Types

enum  operationMode { fixedPower , fixedHeatFlux , fixedHeatTransferCoeff }
 Operation mode enumeration. More...
 
- Public Types inherited from temperatureCoupledBase
enum  KMethodType {
  mtFluidThermo , mtSolidThermo , mtDirectionalSolidThermo , mtLookup ,
  mtFunction
}
 Type of supplied Kappa. More...
 

Public Member Functions

 TypeName ("externalWallHeatFluxTemperature")
 Runtime type information. More...
 
 externalWallHeatFluxTemperatureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field. More...
 
 externalWallHeatFluxTemperatureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 externalWallHeatFluxTemperatureFvPatchScalarField (const externalWallHeatFluxTemperatureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given. More...
 
 externalWallHeatFluxTemperatureFvPatchScalarField (const externalWallHeatFluxTemperatureFvPatchScalarField &)
 Construct as copy. More...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 externalWallHeatFluxTemperatureFvPatchScalarField (const externalWallHeatFluxTemperatureFvPatchScalarField &, 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 bool fixesValue () const
 Allow manipulation of the boundary values. More...
 
virtual void autoMap (const fvPatchFieldMapper &)
 Map (and resize as needed) from self given a mapping object. More...
 
virtual void rmap (const fvPatchScalarField &, const labelList &)
 Reverse map the given fvPatchField onto this fvPatchField. More...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
void write (Ostream &) const
 Write. More...
 
- Public Member Functions inherited from temperatureCoupledBase
 temperatureCoupledBase (const fvPatch &patch, const word &calculationMethod, const word &kappaName, const word &alphaAniName, const word &alphaName)
 Construct from patch and K name. 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 &)
 Construct as copy. More...
 
virtual ~temperatureCoupledBase ()=default
 Destructor. More...
 
word KMethod () const
 Method to obtain K. More...
 
const wordkappaName () const
 Name of thermal conductivity field. More...
 
const wordalphaName () const
 Name of thermal diffusivity field. More...
 
virtual void autoMap (const fvPatchFieldMapper &)=0
 Map (and resize as needed) from self given a mapping object. More...
 
virtual void rmap (const fvPatchField< scalar > &, const labelList &)=0
 Reverse map the given fvPatchField onto this fvPatchField. More...
 
virtual tmp< scalarFieldkappa (const scalarField &Tp) const
 Given patch temperature calculate corresponding K field. More...
 
virtual tmp< scalarFieldalpha (const scalarField &Tp) const
 Given patch temperature calculate corresponding alphaEff field. More...
 
void write (Ostream &os) const
 Write. More...
 

Static Public Attributes

static const Enum< operationModeoperationModeNames
 

Additional Inherited Members

- 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 alphaAniName_
 Name of the non-Isotropic alpha (default: Anialpha) More...
 
const word alphaName_
 Name of thermal diffusivity. More...
 
autoPtr< PatchFunction1< scalar > > kappaFunction1_
 Function1 for kappa. More...
 
autoPtr< PatchFunction1< scalar > > alphaFunction1_
 Function1 for alpha. More...
 
- Static Protected Attributes inherited from temperatureCoupledBase
static const Enum< KMethodTypeKMethodTypeNames_
 

Detailed Description

This boundary condition applies a heat flux condition to temperature on an external wall in one of three modes:

  • fixed power: supply Q
  • fixed heat flux: supply q
  • fixed heat transfer coefficient: supply h and Ta

where:

\( Q \) = Power [W]
\( q \) = Heat flux [W/m^2]
\( h \) = Heat transfer coefficient [W/m^2/K]
\( Ta \) = Ambient temperature [K]

For heat transfer coefficient mode optional thin thermal layer resistances can be specified through thicknessLayers and kappaLayers entries.

The thermal conductivity kappa can either be retrieved from various possible sources, as detailed in the class temperatureCoupledBase.

The ambient temperature Ta is specified as a Foam::Function1 of time but uniform in space.

Usage
Property Description Required Default
mode 'power', 'flux' or 'coefficient' yes
Q Power [W] for mode 'power'
q Heat flux [W/m^2] for mode 'flux'
h Heat transfer coefficient [W/m^2/K] for mode 'coefficient'
Ta Ambient temperature [K] for mode 'coefficient'
thicknessLayers Layer thicknesses [m] no
kappaLayers Layer thermal conductivities [W/m/K] no
relaxation Relaxation for the wall temperature no 1
emissivity Surface emissivity for radiative flux to ambient no 0
qr Name of the radiative field no none
qrRelaxation Relaxation factor for radiative field no 1
kappaMethod Inherited from temperatureCoupledBase inherited
kappa Inherited from temperatureCoupledBase inherited

Example of the boundary condition specification:

    <patchName>
    {
        type            externalWallHeatFluxTemperature;

        mode            coefficient;

        Ta              constant 300.0;
        h               constant 10.0;
        thicknessLayers (0.1 0.2 0.3 0.4);
        kappaLayers     (1 2 3 4);

        kappaMethod     fluidThermo;

        value           $internalField;
    }
Note
Quantities that are considered "global" (eg, power, ambient temperature) can be specified as Function1 types. Quantities that may have local variations (eg, htc, heat-flux) can be specified as PatchFunction1 types.
See also
Foam::temperatureCoupledBase Foam::mixedFvPatchScalarField
Source files

Definition at line 211 of file externalWallHeatFluxTemperatureFvPatchScalarField.H.

Member Enumeration Documentation

◆ operationMode

Operation mode enumeration.

Enumerator
fixedPower 

Heat power [W].

fixedHeatFlux 

Heat flux [W/m2].

fixedHeatTransferCoeff 

Heat transfer coefficient [W/m^2/K].

Definition at line 221 of file externalWallHeatFluxTemperatureFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [1/5]

Construct from patch and internal field.

Definition at line 53 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [2/5]

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [3/5]

Construct by mapping given.

externalWallHeatFluxTemperatureFvPatchScalarField onto a new patch

Definition at line 177 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

References Field< Type >::map(), List< T >::resize(), and FieldMapper::size().

Here is the call graph for this function:

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [4/5]

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [5/5]

Construct as copy setting internal field reference.

Definition at line 232 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "externalWallHeatFluxTemperature"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp< fvPatchScalarField > clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 313 of file externalWallHeatFluxTemperatureFvPatchScalarField.H.

◆ clone() [2/2]

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

Construct and return a clone setting internal field reference.

Definition at line 329 of file externalWallHeatFluxTemperatureFvPatchScalarField.H.

◆ fixesValue()

virtual bool fixesValue ( ) const
inlinevirtual

Allow manipulation of the boundary values.

Definition at line 346 of file externalWallHeatFluxTemperatureFvPatchScalarField.H.

◆ autoMap()

void autoMap ( const fvPatchFieldMapper mapper)
virtual

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

Implements temperatureCoupledBase.

Definition at line 258 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

References temperatureCoupledBase::autoMap().

Here is the call graph for this function:

◆ rmap()

void rmap ( const fvPatchScalarField ptf,
const labelList addr 
)
virtual

Reverse map the given fvPatchField onto this fvPatchField.

Implements temperatureCoupledBase.

Definition at line 282 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

References temperatureCoupledBase::rmap().

Here is the call graph for this function:

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 312 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

References DebugInfo, forAll, Foam::gAverage(), Foam::gMax(), Foam::gMin(), Foam::gSum(), Foam::nl, Foam::pow3(), Foam::pow4(), UList< T >::size(), dimensioned< Type >::value(), and Foam::Zero.

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const

Write.

Definition at line 454 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

References os(), ObukhovLength::write(), and Ostream::writeEntry().

Here is the call graph for this function:

Member Data Documentation

◆ operationModeNames


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