Loading...
Searching...
No Matches
externalWallHeatFluxTemperatureFvPatchScalarField Class Reference

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

#include <externalWallHeatFluxTemperatureFvPatchScalarField.H>

Inheritance diagram for externalWallHeatFluxTemperatureFvPatchScalarField:
Collaboration diagram for externalWallHeatFluxTemperatureFvPatchScalarField:

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.
 externalWallHeatFluxTemperatureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field.
 externalWallHeatFluxTemperatureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary.
 externalWallHeatFluxTemperatureFvPatchScalarField (const externalWallHeatFluxTemperatureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given.
 externalWallHeatFluxTemperatureFvPatchScalarField (const externalWallHeatFluxTemperatureFvPatchScalarField &)
 Construct as copy.
 externalWallHeatFluxTemperatureFvPatchScalarField (const externalWallHeatFluxTemperatureFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference.
virtual tmp< fvPatchField< scalar > > clone () const
 Return a clone.
virtual tmp< fvPatchField< scalar > > clone (const DimensionedField< scalar, volMesh > &iF) const
 Clone with an internal field reference.
virtual bool fixesValue () const
 Allow manipulation of the boundary values.
virtual void autoMap (const fvPatchFieldMapper &)
 Map (and resize as needed) from self given a mapping object.
virtual void rmap (const fvPatchScalarField &, const labelList &)
 Reverse map the given fvPatchField onto this fvPatchField.
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field.
void write (Ostream &) const
 Write.
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.
 temperatureCoupledBase (const fvPatch &patch, const KMethodType method, const word &kappaName, const word &alphaName, const word &alphaAniName)
 Construct from patch, method type and field names.
 temperatureCoupledBase (const fvPatch &patch, const dictionary &dict)
 Construct from patch and dictionary.
 temperatureCoupledBase (const fvPatch &patch, const temperatureCoupledBase &base)
 Construct from patch and temperatureCoupledBase.
 temperatureCoupledBase (const temperatureCoupledBase &base)
 Copy construct.
virtual ~temperatureCoupledBase ()=default
 Destructor.
word KMethod () const
 Method to obtain K.
const wordkappaName () const noexcept
 Name of thermal conductivity field.
const wordalphaName () const noexcept
 Name of thermal diffusivity field.
virtual void rmap (const fvPatchField< scalar > &, const labelList &)=0
 Reverse map the given fvPatchField onto this fvPatchField.
virtual tmp< scalarFieldkappa (const scalarField &Tp) const
 Given patch temperature calculate corresponding K field.
virtual tmp< scalarFieldalpha (const scalarField &Tp) const
 Given patch temperature calculate corresponding alphaEff field.
void write (Ostream &os) const
 Write.

Static Public Attributes

static const Enum< operationModeoperationModeNames

Additional Inherited Members

Protected Attributes inherited from temperatureCoupledBase
const fvPatchpatch_
 Underlying patch.
const KMethodType method_
 How to get K.
const word kappaName_
 Name of thermal conductivity field (if looked up from database).
const word alphaName_
 Name of thermal diffusivity.
const word alphaAniName_
 Name of the non-isotropic alpha (for directional solidThermo).
autoPtr< PatchFunction1< scalar > > kappaFunction1_
 Function1 for kappa.
autoPtr< PatchFunction1< scalar > > alphaFunction1_
 Function1 for alpha.
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 207 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 219 of file externalWallHeatFluxTemperatureFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [1/5]

externalWallHeatFluxTemperatureFvPatchScalarField ( const fvPatch & p,
const DimensionedField< scalar, volMesh > & iF )

Construct from patch and internal field.

Definition at line 46 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

References fixedHeatFlux, p, and temperatureCoupledBase::temperatureCoupledBase().

Referenced by externalWallHeatFluxTemperatureFvPatchScalarField(), externalWallHeatFluxTemperatureFvPatchScalarField(), externalWallHeatFluxTemperatureFvPatchScalarField(), and TypeName().

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

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [2/5]

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

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [3/5]

externalWallHeatFluxTemperatureFvPatchScalarField ( const externalWallHeatFluxTemperatureFvPatchScalarField & rhs,
const fvPatch & p,
const DimensionedField< scalar, volMesh > & iF,
const fvPatchFieldMapper & mapper )

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [4/5]

externalWallHeatFluxTemperatureFvPatchScalarField ( const externalWallHeatFluxTemperatureFvPatchScalarField & rhs)

Construct as copy.

Definition at line 192 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

References clone(), externalWallHeatFluxTemperatureFvPatchScalarField(), Foam::rhs(), and temperatureCoupledBase::temperatureCoupledBase().

Here is the call graph for this function:

◆ externalWallHeatFluxTemperatureFvPatchScalarField() [5/5]

externalWallHeatFluxTemperatureFvPatchScalarField ( const externalWallHeatFluxTemperatureFvPatchScalarField & rhs,
const DimensionedField< scalar, volMesh > & iF )

Construct as copy setting internal field reference.

Definition at line 215 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

References clone(), externalWallHeatFluxTemperatureFvPatchScalarField(), Foam::rhs(), and temperatureCoupledBase::temperatureCoupledBase().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "externalWallHeatFluxTemperature" )

Runtime type information.

References externalWallHeatFluxTemperatureFvPatchScalarField().

Here is the call graph for this function:

◆ clone() [1/2]

virtual tmp< fvPatchField< scalar > > clone ( ) const
inlinevirtual

Return a clone.

Definition at line 357 of file externalWallHeatFluxTemperatureFvPatchScalarField.H.

References fvPatchField< Type >::Clone().

Referenced by externalWallHeatFluxTemperatureFvPatchScalarField(), externalWallHeatFluxTemperatureFvPatchScalarField(), and externalWallHeatFluxTemperatureFvPatchScalarField().

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

◆ clone() [2/2]

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

Clone with an internal field reference.

Definition at line 365 of file externalWallHeatFluxTemperatureFvPatchScalarField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ fixesValue()

virtual bool fixesValue ( ) const
inlinevirtual

Allow manipulation of the boundary values.

Definition at line 381 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 241 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.

Definition at line 265 of file externalWallHeatFluxTemperatureFvPatchScalarField.C.

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

Here is the call graph for this function:

◆ updateCoeffs()

void updateCoeffs ( )
virtual

◆ write()

Member Data Documentation

◆ operationModeNames


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