Go to the documentation of this file.
34 const word& patchFieldType,
35 const word& actualPatchType,
41 <<
"patchFieldType = " << patchFieldType
42 <<
" : " <<
p.type() <<
nl;
44 auto cstrIter = patchConstructorTablePtr_->cfind(patchFieldType);
46 if (!cstrIter.found())
52 *patchConstructorTablePtr_
56 auto patchTypeCstrIter = patchConstructorTablePtr_->cfind(
p.type());
60 actualPatchType == word::null
61 || actualPatchType !=
p.type()
64 if (patchTypeCstrIter.found())
66 return patchTypeCstrIter()(
p, iF);
70 return cstrIter()(
p, iF);
78 if (patchTypeCstrIter.found())
80 tfvp.
ref().patchType() = actualPatchType;
89 const word& patchFieldType,
94 return New(patchFieldType, word::null,
p, iF);
109 <<
"patchFieldType = " << patchFieldType <<
nl;
111 auto cstrIter = dictionaryConstructorTablePtr_->cfind(patchFieldType);
113 if (!cstrIter.found())
115 if (!disallowGenericFvPatchField)
117 cstrIter = dictionaryConstructorTablePtr_->cfind(
"generic");
120 if (!cstrIter.found())
123 <<
"Unknown patchField type " << patchFieldType
124 <<
" for patch type " <<
p.type() <<
nl <<
nl
125 <<
"Valid patchField types :" <<
endl
126 << dictionaryConstructorTablePtr_->sortedToc()
133 !
dict.found(
"patchType")
134 ||
dict.get<
word>(
"patchType") !=
p.type()
137 auto patchTypeCstrIter
138 = dictionaryConstructorTablePtr_->cfind(
p.type());
140 if (patchTypeCstrIter.found() && patchTypeCstrIter() != cstrIter())
143 <<
"inconsistent patch and patchField types for\n"
144 " patch type " <<
p.type()
145 <<
" and patchField type " << patchFieldType
150 return cstrIter()(
p, iF,
dict);
164 <<
"Constructing fvPatchField<Type>" <<
nl;
166 auto cstrIter = patchMapperConstructorTablePtr_->cfind(ptf.type());
168 if (!cstrIter.found())
174 *patchMapperConstructorTablePtr_
178 return cstrIter()(ptf,
p, iF, pfMapper);
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
Ostream & endl(Ostream &os)
Add newline and flush stream.
#define DebugInFunction
Report an information message using Foam::Info.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
#define FatalErrorInLookup(lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
static tmp< fvPatchField< Type > > New(const word &, const fvPatch &, const DimensionedField< Type, volMesh > &)
Return a pointer to a new patchField created on freestore given.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Foam::fvPatchFieldMapper.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...