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,
76 const DimensionedField<Type, edgeMesh>& iF
102 <<
"patchFieldType = " << patchFieldType
103 <<
" : " <<
p.type() <<
" name = " <<
p.name() <<
endl;
105 auto* ctorPtr = dictionaryConstructorTable(patchFieldType);
111 ctorPtr = dictionaryConstructorTable(
"generic");
117 <<
"Unknown patchField type " << patchFieldType
118 <<
" for patch type " <<
p.type() << nl << nl
119 <<
"Valid patchField types are :" << nl
120 << dictionaryConstructorTablePtr_->sortedToc()
121 << exit(FatalIOError);
125 auto* patchTypeCtor = dictionaryConstructorTable(
p.type());
127 if (patchTypeCtor && patchTypeCtor != ctorPtr)
130 <<
"inconsistent patch and patchField types for\n"
131 " patch type " <<
p.type()
132 <<
" and patchField type " << patchFieldType
133 <<
exit(FatalIOError);
136 return ctorPtr(
p, iF,
dict);
143 const faePatchField<Type>& ptf,
145 const DimensionedField<Type, edgeMesh>& iF,
146 const faPatchFieldMapper& pfMapper
150 <<
"patchFieldType = " << ptf.type()
151 <<
" : " <<
p.type() <<
" name = " <<
p.name() << endl;
153 auto* ctorPtr = patchMapperConstructorTable(ptf.type());
161 *patchMapperConstructorTablePtr_
162 ) << exit(FatalError);
165 auto* patchTypeCtor = patchMapperConstructorTable(
p.type());
169 return patchTypeCtor(ptf,
p, iF, pfMapper);
172 return ctorPtr(ptf,
p, iF, pfMapper);
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A FieldMapper for finite-area patch fields.
Finite area patch class. Used for 2-D non-Euclidian finite area method.
static int disallowGenericPatchField
Debug switch to disallow the use of generic faePatchField.
faePatchField(const faPatch &, const DimensionedField< Type, edgeMesh > &)
Construct from patch and internal field.
static tmp< faePatchField< Type > > New(const word &patchFieldType, const faPatch &, const DimensionedField< Type, edgeMesh > &)
Return a pointer to a new patchField created on freestore given.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
static const word null
An empty word.
#define FatalErrorInLookup(lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalError.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
#define DebugInFunction
Report an information message using Foam::Info.
Ostream & endl(Ostream &os)
Add newline and flush stream.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a).