coupledTemperatureFvPatchScalarField Class Reference

Mixed boundary condition for temperature, to be used for heat-transfer with another region in a CHT case. Optional thin wall material layer resistances can be specified through thicknessLayers and kappaLayers entries. More...

Inheritance diagram for coupledTemperatureFvPatchScalarField:
Collaboration diagram for coupledTemperatureFvPatchScalarField:

Public Member Functions

 TypeName ("coupledTemperature")
 Runtime type information. More...
 
 coupledTemperatureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 coupledTemperatureFvPatchScalarField (const coupledTemperatureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given. More...
 
 coupledTemperatureFvPatchScalarField (const coupledTemperatureFvPatchScalarField &, 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 updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void write (Ostream &) const
 Write. More...
 

Protected Member Functions

virtual void getThis (tmp< scalarField > &kappa, tmp< scalarField > &sumKappaTByDelta, tmp< scalarField > &sumKappaByDelta, scalarField &qTot, tmp< scalarField > &qByKappa) const
 Get the patch kappa, kappa*Tc/delta and kappa/delta and also the. More...
 
virtual void getNbr (tmp< scalarField > &sumKappaTByDeltaNbr, tmp< scalarField > &sumKappaByDeltaNbr, tmp< scalarField > &qNbr) const
 Get the neighbour patch kappa*Tc/delta and kappa/delta. More...
 
virtual void getNbr (tmp< scalarField > &TwNbr, tmp< scalarField > &qNbr) const
 Get the neighbour patch wall temperature and heat-flux. More...
 
void add (tmp< scalarField > &result, const tmp< scalarField > &field) const
 Add field to result which may have not been previously set. More...
 

Detailed Description

Mixed boundary condition for temperature, to be used for heat-transfer with another region in a CHT case. Optional thin wall material layer resistances can be specified through thicknessLayers and kappaLayers entries.

Specifies gradient and temperature such that the equations are the same on both sides:

  • refGradient = qs_/kappa
  • refValue = neighbour value
  • valueFraction = kappaByDeltaNbr/(kappaByDeltaNbr + kappaByDelta)

where kappaByDelta is heat-transfer coefficient kappa*deltaCoeffs and qs is the optional source heat flux.

Usage
Property Description Required Default value
Tnbr name of the field no T
thicknessLayers list of thicknesses per layer [m] no
kappaLayers list of thermal conductivities per layer [W/m/K] no
qs Optional source heat flux [W/m^2] no 0
Qs Optional heat source [W] no 0
qrNbr name of the radiative flux in the nbr region no none
qr name of the radiative flux in this region no none

Example of the boundary condition specification:

    <patchName>
    {
        type            coupledTemperature;
        thicknessLayers (0.1 0.2 0.3 0.4); // Optional wall layer thicknesses
        kappaLayers     (1 2 3 4); // Optional wall layer conductivities
        qs              uniform 100;    // Optional source heat flux [W/m^2]
        value           uniform 300;
    }

Needs to be on underlying mapped(Wall)FvPatch.

The patch thermal conductivity kappa is obtained from the region thermophysicalTransportModel so that this boundary condition can be applied directly to either fluid or solid regions.

Note that in order to provide an optional heat source either qs or Qs should be specified, not both.

Source files

Definition at line 134 of file coupledTemperatureFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ coupledTemperatureFvPatchScalarField() [1/3]

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

Construct from patch, internal field and dictionary.

Definition at line 130 of file coupledTemperatureFvPatchScalarField.C.

References dict, mappedPatchBase::from::differentPatch, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, forAll, Foam::gSum(), fvPatchField< Type >::operator=(), p, List< T >::size(), and mappedPatchBase::validateMapForField().

Here is the call graph for this function:

◆ coupledTemperatureFvPatchScalarField() [2/3]

coupledTemperatureFvPatchScalarField ( const coupledTemperatureFvPatchScalarField psf,
const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF,
const fvPatchFieldMapper mapper 
)

Construct by mapping given.

coupledTemperatureFvPatchScalarField onto a new patch

Definition at line 208 of file coupledTemperatureFvPatchScalarField.C.

◆ coupledTemperatureFvPatchScalarField() [3/3]

Construct as copy setting internal field reference.

Definition at line 234 of file coupledTemperatureFvPatchScalarField.C.

Member Function Documentation

◆ getThis()

void getThis ( tmp< scalarField > &  kappa,
tmp< scalarField > &  sumKappaTByDelta,
tmp< scalarField > &  sumKappaByDelta,
scalarField qTot,
tmp< scalarField > &  qByKappa 
) const
protectedvirtual

Get the patch kappa, kappa*Tc/delta and kappa/delta and also the.

heat-flux obtained from the sum heat-flux provided

Reimplemented in coupledMultiphaseTemperatureFvPatchScalarField.

Definition at line 35 of file coupledTemperatureFvPatchScalarField.C.

References Foam::constant::electromagnetic::kappa, thermophysicalTransportModel::kappaEff(), thermophysicalTransportModel::qCorr(), and tmp< T >::valid().

Here is the call graph for this function:

◆ getNbr() [1/2]

void getNbr ( tmp< scalarField > &  sumKappaTByDeltaNbr,
tmp< scalarField > &  sumKappaByDeltaNbr,
tmp< scalarField > &  qNbr 
) const
protectedvirtual

Get the neighbour patch kappa*Tc/delta and kappa/delta.

and the heat-flux correction

Reimplemented in coupledMultiphaseTemperatureFvPatchScalarField.

Definition at line 63 of file coupledTemperatureFvPatchScalarField.C.

References thermophysicalTransportModel::kappaEff(), and thermophysicalTransportModel::qCorr().

Referenced by coupledTemperatureFvPatchScalarField::updateCoeffs().

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

◆ getNbr() [2/2]

void getNbr ( tmp< scalarField > &  TwNbr,
tmp< scalarField > &  qNbr 
) const
protectedvirtual

Get the neighbour patch wall temperature and heat-flux.

when wall thermal resistance is specified

Reimplemented in coupledMultiphaseTemperatureFvPatchScalarField.

Definition at line 82 of file coupledTemperatureFvPatchScalarField.C.

References thermophysicalTransportModel::qCorr().

Here is the call graph for this function:

◆ add()

void add ( tmp< scalarField > &  result,
const tmp< scalarField > &  field 
) const
protected

Add field to result which may have not been previously set.

Definition at line 104 of file coupledTemperatureFvPatchScalarField.C.

References tmp< T >::isTmp(), tmp< T >::ref(), and tmp< T >::valid().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "coupledTemperature"  )

Runtime type information.

◆ clone()

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

Construct and return a clone setting internal field reference.

Reimplemented in coupledMultiphaseTemperatureFvPatchScalarField.

Definition at line 238 of file coupledTemperatureFvPatchScalarField.H.

◆ updateCoeffs()

◆ write()

void write ( Ostream os) const
virtual

Write.

Definition at line 385 of file coupledTemperatureFvPatchScalarField.C.

References Foam::vtkWriteOps::write(), and Foam::writeEntry().

Here is the call graph for this function:

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