34 const word& patchFieldType,
35 const word& actualPatchType,
41 <<
"patchFieldType = " << patchFieldType
42 <<
" [" << actualPatchType
43 <<
"] : " <<
p.type() <<
" name = " <<
p.name() <<
endl;
45 auto* ctorPtr = patchConstructorTable(patchFieldType);
53 *patchConstructorTablePtr_
57 if (actualPatchType.empty() || actualPatchType !=
p.type())
59 auto* patchTypeCtor = patchConstructorTable(
p.type());
63 return patchTypeCtor(
p, iF);
67 return ctorPtr(
p, iF);
74 const word& patchFieldType,
79 return New(patchFieldType, word::null,
p, iF);
94 dict.readIfPresent(
"patchType", actualPatchType, keyType::LITERAL);
97 <<
"patchFieldType = " << patchFieldType
98 <<
" [" << actualPatchType
99 <<
"] : " <<
p.type() <<
" name = " <<
p.name() <<
endl;
101 auto* ctorPtr = dictionaryConstructorTable(patchFieldType);
105 if (!fvsPatchFieldBase::disallowGenericPatchField)
107 ctorPtr = dictionaryConstructorTable(
"generic");
113 <<
"Unknown patchField type " << patchFieldType
114 <<
" for patch type " <<
p.type() <<
nl <<
nl 115 <<
"Valid patchField types :" <<
endl 116 << dictionaryConstructorTablePtr_->sortedToc()
121 if (actualPatchType.empty() || actualPatchType !=
p.type())
123 auto* patchTypeCtor = dictionaryConstructorTable(
p.type());
125 if (patchTypeCtor && patchTypeCtor != ctorPtr)
128 <<
"inconsistent patch and patchField types for\n" 129 " patch type " <<
p.type()
130 <<
" and patchField type " << patchFieldType
135 return ctorPtr(
p, iF,
dict);
149 <<
"patchFieldType = " << ptf.type()
150 <<
" : " <<
p.type() <<
" name = " <<
p.name() <<
endl;
152 auto* ctorPtr = patchMapperConstructorTable(ptf.type());
160 *patchMapperConstructorTablePtr_
164 auto* patchTypeCtor = patchMapperConstructorTable(
p.type());
168 return patchTypeCtor(ptf,
p, iF, pfMapper);
171 return ctorPtr(ptf,
p, iF, pfMapper);
errorManipArg< error, int > exit(error &err, const int errNo=1)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
#define FatalErrorInLookup(lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalError.
A class for handling words, derived from Foam::string.
#define DebugInFunction
Report an information message using Foam::Info.
A FieldMapper for finite-volume patch fields.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A class for managing temporary objects.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
static tmp< fvsPatchField< Type > > New(const word &patchFieldType, const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Return a pointer to a new patchField created on freestore given.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...