Go to the documentation of this file.
51 mixedFvPatchScalarField(
p, iF),
60 TnbrName_(
"undefined-Tnbr"),
65 this->refValue() = 0.0;
66 this->refGrad() = 0.0;
67 this->valueFraction() = 1.0;
80 mixedFvPatchScalarField(ptf,
p, iF, mapper),
82 TnbrName_(ptf.TnbrName_),
83 thicknessLayers_(ptf.thicknessLayers_),
84 kappaLayers_(ptf.kappaLayers_),
85 contactRes_(ptf.contactRes_)
97 mixedFvPatchScalarField(
p, iF),
104 if (!isA<mappedPatchBase>(this->
patch().
patch()))
107 <<
"' not type '" << mappedPatchBase::typeName <<
"'"
108 <<
"\n for patch " <<
p.name()
109 <<
" of field " << internalField().name()
110 <<
" in file " << internalField().objectPath()
114 if (
dict.readIfPresent(
"thicknessLayers", thicknessLayers_))
116 dict.readEntry(
"kappaLayers", kappaLayers_);
118 if (thicknessLayers_.size() > 0)
121 forAll(thicknessLayers_, iLayer)
123 contactRes_ += thicknessLayers_[iLayer]/kappaLayers_[iLayer];
125 contactRes_ = 1.0/contactRes_;
131 if (
dict.found(
"refValue"))
143 valueFraction() = 1.0;
155 mixedFvPatchScalarField(wtcsf, iF),
157 TnbrName_(wtcsf.TnbrName_),
158 thicknessLayers_(wtcsf.thicknessLayers_),
159 kappaLayers_(wtcsf.kappaLayers_),
160 contactRes_(wtcsf.contactRes_)
180 refCast<const mappedPatchBase>(
patch().
patch());
184 refCast<const fvMesh>(nbrMesh).boundary()[samplePatchi];
205 if (contactRes_ == 0.0)
207 nbrIntFld.
ref() = nbrField.patchInternalField();
212 nbrIntFld.
ref() = nbrField;
213 nbrKDelta.
ref() = contactRes_;
237 this->refValue() = nbrIntFld();
238 this->refGrad() = 0.0;
239 this->valueFraction() = nbrKDelta()/(nbrKDelta() + myKDelta());
241 mixedFvPatchScalarField::updateCoeffs();
247 Info<<
patch().boundaryMesh().mesh().name() <<
':'
248 <<
patch().name() <<
':'
249 << this->internalField().name() <<
" <- "
250 << nbrMesh.
name() <<
':'
251 << nbrPatch.
name() <<
':'
252 << this->internalField().name() <<
" :"
253 <<
" heat transfer rate:" << Q
254 <<
" walltemperature "
255 <<
" min:" <<
gMin(*
this)
256 <<
" max:" <<
gMax(*
this)
273 thicknessLayers_.
writeEntry(
"thicknessLayers", os);
int debug
Static debugging option.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const word & name() const
Return name.
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
Type gAverage(const FieldField< Field, Type > &f)
const polyPatch & samplePolyPatch() const
Get the patch on the region.
turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Common functions used in temperature coupled boundaries.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Type gSum(const FieldField< Field, Type > &f)
virtual const word & name() const
Return name.
Determines a mapping between patch face centres and mesh cell or face centres and processors they're ...
virtual void write(Ostream &) const
Write.
Mesh consisting of general polyhedral cells.
makePatchTypeField(fvPatchScalarField, alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField)
#define forAll(list, i)
Loop across all elements in list.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
const polyMesh & sampleMesh() const
Get the region mesh.
messageStream Info
Information stream (uses stdout - output is on the master only)
void distribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Mixed boundary condition for temperature, to be used for heat-transfer on back-to-back baffles....
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const GeometricField::Patch & lookupPatchField(const word &name, const GeometricField *=nullptr, const Type *=nullptr) const
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
To & refCast(From &r)
Reference type cast template function.
errorManipArg< error, int > exit(error &err, const int errNo=1)
static int & msgType()
Message tag of standard messages.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const std::string patch
OpenFOAM patch number as a std::string.
const scalarField & deltaCoeffs() const
virtual tmp< scalarField > kappa(const scalarField &Tp) const
Given patch temperature calculate corresponding K field.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
void write(vtk::formatter &fmt, const Type &val, const label n=1)
Component-wise write of a value (N times)
Foam::fvPatchFieldMapper.
void write(Ostream &os) const
Write.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Type gMin(const FieldField< Field, Type > &f)
virtual void operator=(const UList< scalar > &)
label index() const
The index of this patch in the boundaryMesh.
Type gMax(const FieldField< Field, Type > &f)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...