Go to the documentation of this file.
55 modelNames.
append(iter()->regionMesh().
name());
60 <<
". Available regions include: " << modelNames
63 return **models.
begin();
86 modelNames.
append(iter()->regionMesh().
name());
92 <<
". Available regions include: " << modelNames
95 return **models.
begin();
108 mixedFvPatchScalarField(
p, iF),
110 filmRegionName_(
"surfaceFilmProperties"),
111 pyrolysisRegionName_(
"pyrolysisProperties"),
112 TnbrName_(
"undefined-Tnbr"),
113 QrName_(
"undefined-Qr"),
114 convectiveScaling_(1.0),
118 this->refValue() = 0.0;
119 this->refGrad() = 0.0;
120 this->valueFraction() = 1.0;
133 mixedFvPatchScalarField(psf,
p, iF, mapper),
153 mixedFvPatchScalarField(
p, iF),
169 if (!isA<mappedPatchBase>(this->patch().patch()))
172 <<
"' not type '" << mappedPatchBase::typeName <<
"'"
173 <<
"\n for patch " <<
p.name()
193 valueFraction() = 1.0;
205 mixedFvPatchScalarField(psf, iF),
228 refCast<const mappedPatchBase>(patch().patch());
230 const label patchI = patch().index();
235 refCast<const fvMesh>(nbrMesh).boundary()[nbrPatchI];
250 scalarField nbrIntFld(nbrField.patchInternalField());
274 label coupledPatchI = -1;
277 coupledPatchI = patchI;
286 coupledPatchI = nbrPatch.
index();
295 <<
type() <<
" condition is intended to be applied to either the "
296 <<
"primary or pyrolysis regions only"
351 valueFraction() =
alpha/(
alpha + (1.0 - ratio)*myKDelta);
353 refValue() = ratio*Tfilm + (1.0 - ratio)*(KDeltaNbr*nbrIntFld)/
alpha;
355 mixedFvPatchScalarField::updateCoeffs();
359 scalar Qc =
gSum(qConv*patch().magSf());
360 scalar
Qr =
gSum(qRad*patch().magSf());
361 scalar Qt =
gSum((qConv + qRad)*patch().magSf());
364 << patch().name() <<
':'
366 << nbrMesh.
name() <<
':'
367 << nbrPatch.
name() <<
':'
369 <<
" convective heat[W] : " << Qc <<
nl
370 <<
" radiative heat [W] : " <<
Qr <<
nl
371 <<
" total heat [W] : " << Qt <<
nl
372 <<
" wall temperature "
373 <<
" min:" <<
gMin(*
this)
374 <<
" max:" <<
gMax(*
this)
387 writeEntryIfDifferent<word>
391 "surfaceFilmProperties",
394 writeEntryIfDifferent<word>
398 "pyrolysisProperties",
403 os.
writeKeyword(
"convectiveScaling") << convectiveScaling_
Base class for pyrolysis models.
label nbrCoupledPatchID(const regionModel &nbrRegion, const label regionPatchI) const
Return the coupled patch ID paired with coupled patch.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void operator=(const UList< Type > &)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
A class for handling words, derived from string.
Type gAverage(const FieldField< Field, Type > &f)
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
virtual void write(Ostream &) const
Write.
rDeltaT dimensionedInternalField()
const polyPatch & samplePolyPatch() const
Get the patch on the region.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
Common functions for use in temperature coupled boundaries.
GeometricBoundaryField & boundaryField()
Return reference to GeometricBoundaryField.
const word filmRegionName_
Name of film region.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Type gSum(const FieldField< Field, Type > &f)
const word pyrolysisRegionName_
Name of pyrolysis region.
const scalar convectiveScaling_
Convective Scaling Factor (as determined by Prateep's tests)
Determines a mapping between patch face centres and mesh cell or face centres and processors they're ...
const pyrolysisModelType & pyrModel() const
Retrieve pyrolysis model from the database.
Mesh consisting of general polyhedral cells.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
const word & name() const
Return name.
CGAL::Exact_predicates_exact_constructions_kernel K
const fvMesh & primaryMesh() const
Return the reference to the primary mesh database.
const polyMesh & sampleMesh() const
Get the region mesh.
tmp< scalarField > K() const
Get corresponding K field.
const word TnbrName_
Name of field on the neighbour region.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
Pre-declare SubField and related Field type.
void distribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
virtual tmp< volScalarField > h() const =0
Return the heat transfer coefficient [W/m2/K].
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
volScalarField Qr(IOobject("Qr", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE), mesh, dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0))
const word QrName_
Name of the radiative heat flux.
const word & name() const
Return name.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const scalar filmDeltaWet_
Maximum delta film to be consired wet.
A list of keyword definitions, which are a keyword followed by any number of values (e....
label index() const
Return the index of this patch in the fvBoundaryMesh.
Macros for easy insertion into run-time selection tables.
tmp< Foam::Field< Type > > mapRegionPatchField(const regionModel &nbrRegion, const label regionPatchI, const label nbrPatchI, const Field< Type > &nbrField, const bool flip=false) const
Map patch field from another region model to local patch.
errorManip< error > abort(error &err)
makePatchTypeField(fvPatchVectorField, SRFFreestreamVelocityFvPatchVectorField)
To & refCast(From &r)
Reference type cast template function.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
errorManipArg< error, int > exit(error &err, const int errNo=1)
filmPyrolysisRadiativeCoupledMixedFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
An STL-conforming hash table.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
const filmModelType & filmModel() const
Retrieve film model from the database.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
iterator begin()
Iterator set to the beginning of the HashTable.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
const heatTransferModel & htcw() const
Return const access to the (wall) heat transfer model.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const scalarField & deltaCoeffs() const
Return the face - cell distance coeffient.
tmp< scalarField > kappa(const scalarField &Tp) const
Given patch temperature calculate corresponding K field.
Ostream & writeKeyword(const keyType &)
Write the keyword followed by an appropriate indentation.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
void toPrimary(const label regionPatchI, List< Type > ®ionField) const
Convert a local region field to the primary region.
const GeometricField::PatchFieldType & lookupPatchField(const word &name, const GeometricField *=NULL, const Type *=NULL) const
Lookup and return the patchField of the named field from the.
Foam::regionModels::surfaceFilmModels::thermoSingleLayer filmModelType
Foam::fvPatchFieldMapper.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Type gMin(const FieldField< Field, Type > &f)
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
virtual const volScalarField & Ts() const
Return the film surface temperature [K].
void write(Ostream &) const
Write.
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
label index() const
Return the index of this patch in the boundaryMesh.
const scalar filmDeltaDry_
Minimum delta film to be consired dry.
Type gMax(const FieldField< Field, Type > &f)
word name(const complex &)
Return a string representation of a complex.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const word & name() const
Return reference to name.