Go to the documentation of this file.
34 const word& patchFieldType,
35 const word& actualPatchType,
43 <<
"patchFieldType = " << patchFieldType
48 auto cstrIter = patchConstructorTablePtr_->cfind(patchFieldType);
50 if (!cstrIter.found())
56 *patchConstructorTablePtr_
60 auto patchTypeCstrIter = patchConstructorTablePtr_->cfind(
p.type());
64 actualPatchType == word::null
65 || actualPatchType !=
p.type()
68 if (patchTypeCstrIter.found())
70 return patchTypeCstrIter()(
p, iF);
74 return cstrIter()(
p, iF);
82 if (patchTypeCstrIter.found())
84 tfvp.
ref().patchType() = actualPatchType;
93 const word& patchFieldType,
98 return New(patchFieldType, word::null,
p, iF);
115 <<
"patchFieldType = " << patchFieldType
119 auto cstrIter = dictionaryConstructorTablePtr_->cfind(patchFieldType);
121 if (!cstrIter.found())
123 if (!disallowGenericFvPatchField)
125 cstrIter = dictionaryConstructorTablePtr_->cfind(
"generic");
128 if (!cstrIter.found())
131 <<
"Unknown patchField type " << patchFieldType
132 <<
" for patch type " <<
p.type() <<
nl <<
nl
133 <<
"Valid patchField types :" <<
endl
134 << dictionaryConstructorTablePtr_->sortedToc()
141 !
dict.found(
"patchType")
142 ||
dict.get<
word>(
"patchType") !=
p.type()
145 auto patchTypeCstrIter
146 = dictionaryConstructorTablePtr_->cfind(
p.type());
148 if (patchTypeCstrIter.found() && patchTypeCstrIter() != cstrIter())
151 <<
"inconsistent patch and patchField types for\n"
152 " patch type " <<
p.type()
153 <<
" and patchField type " << patchFieldType
158 return cstrIter()(
p, iF,
dict);
176 auto cstrIter = patchMapperConstructorTablePtr_->cfind(ptf.type());
178 if (!cstrIter.found())
184 *patchMapperConstructorTablePtr_
188 return cstrIter()(ptf,
p, iF, pfMapper);
int debug
Static debugging option.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
#define InfoInFunction
Report an information message using Foam::Info.
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
Ostream & endl(Ostream &os)
Add newline and flush stream.
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...