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 tfap.
ref().patchType() = actualPatchType;
86 const word& patchFieldType,
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 (!disallowGenericFaPatchField)
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);
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A FieldMapper for finite-area patch fields.
faPatchField<Type> abstract base class. This class gives a fat-interface to all derived classes cover...
Finite area patch class. Used for 2-D non-Euclidian finite area method.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#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.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)