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 auto* patchTypeCtor = patchConstructorTable(
p.type());
59 if (actualPatchType.empty() || actualPatchType !=
p.type())
63 return patchTypeCtor(
p, iF);
67 return ctorPtr(
p, iF);
77 tpfld.
ref().patchType() = actualPatchType;
86 const word& patchFieldType,
88 const DimensionedField<Type, areaMesh>& iF
91 return New(patchFieldType, word::null,
p, iF);
105 word actualPatchType;
106 dict.readIfPresent(
"patchType", actualPatchType, keyType::LITERAL);
109 <<
"patchFieldType = " << patchFieldType
110 <<
" [" << actualPatchType
111 <<
"] : " <<
p.type() <<
" name = " <<
p.name() <<
endl;
113 auto* ctorPtr = dictionaryConstructorTable(patchFieldType);
117 if (!faPatchFieldBase::disallowGenericPatchField)
119 ctorPtr = dictionaryConstructorTable(
"generic");
125 <<
"Unknown patchField type " << patchFieldType
126 <<
" for patch type " <<
p.type() <<
nl <<
nl 127 <<
"Valid patchField types are :" <<
nl 128 << dictionaryConstructorTablePtr_->sortedToc()
133 if (actualPatchType.empty() || actualPatchType !=
p.type())
135 auto* patchTypeCtor = dictionaryConstructorTable(
p.type());
137 if (patchTypeCtor && patchTypeCtor != ctorPtr)
140 <<
"inconsistent patch and patchField types for\n" 141 " patch type " <<
p.type()
142 <<
" and patchField type " << patchFieldType
147 return ctorPtr(
p, iF,
dict);
161 <<
"patchFieldType = " << ptf.type()
162 <<
" : " <<
p.type() <<
" name = " <<
p.name() <<
endl;
164 auto* ctorPtr = patchMapperConstructorTable(ptf.type());
172 *patchMapperConstructorTablePtr_
176 auto* patchTypeCtor = patchMapperConstructorTable(
p.type());
180 return patchTypeCtor(ptf,
p, iF, pfMapper);
183 return ctorPtr(ptf,
p, iF, pfMapper);
static tmp< faPatchField< Type > > New(const word &patchFieldType, const word &actualPatchType, const faPatch &, const DimensionedField< Type, areaMesh > &)
Return a pointer to a new patchField created on freestore given patch and internal field...
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...
T & ref() const
Return non-const reference to the contents of a non-null managed pointer.
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
faPatchField<Type> abstract base class. This class gives a fat-interface to all derived classes cover...
#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.
Finite area patch class. Used for 2-D non-Euclidian finite area method.
#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.
A FieldMapper for finite-area patch fields.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...