32 const word& actualPatchType,
41 <<
", actualPatchType = " << actualPatchType
42 <<
", patchType = " <<
p.type()
46 typename patchConstructorTable::iterator cstrIter =
49 if (cstrIter == patchConstructorTablePtr_->end())
53 <<
" for patch " <<
p.name() <<
" of type " <<
p.type()
54 <<
" for field " << iF.
name() <<
nl <<
nl
55 <<
"Valid null-constructable patchField types are :" <<
endl
56 << patchConstructorTablePtr_->sortedToc()
62 actualPatchType == word::null
63 || actualPatchType !=
p.type()
66 typename patchConstructorTable::iterator patchTypeCstrIter =
67 patchConstructorTablePtr_->find(
p.type());
69 if (patchTypeCstrIter != patchConstructorTablePtr_->end())
71 return patchTypeCstrIter()(
p, iF);
75 return cstrIter()(
p, iF);
80 return cstrIter()(
p, iF);
111 <<
", actualPatchType = "
112 <<
dict.lookupOrDefault<
word>(
"patchType", word::null)
113 <<
", patchType = " <<
p.type()
117 typename dictionaryConstructorTable::iterator cstrIter
120 if (cstrIter == dictionaryConstructorTablePtr_->end())
122 if (!disallowGenericFvsPatchField)
124 cstrIter = dictionaryConstructorTablePtr_->find(
"generic");
127 if (cstrIter == dictionaryConstructorTablePtr_->end())
133 <<
" for patch " <<
p.name() <<
" of type " <<
p.type()
134 <<
" for field " << iF.
name() <<
nl <<
nl
135 <<
"Valid patchField types are :" <<
endl
136 << dictionaryConstructorTablePtr_->sortedToc()
143 !
dict.found(
"patchType")
144 ||
word(
dict.lookup(
"patchType")) !=
p.type()
147 typename dictionaryConstructorTable::iterator patchTypeCstrIter
148 = dictionaryConstructorTablePtr_->find(
p.type());
152 patchTypeCstrIter != dictionaryConstructorTablePtr_->end()
153 && patchTypeCstrIter() != cstrIter()
159 ) <<
"inconsistent patch and patchField types for \n"
160 " patch type " <<
p.type()
162 <<
" for field " << iF.
name()
167 return cstrIter()(
p, iF,
dict);
185 typename patchMapperConstructorTable::iterator cstrIter =
186 patchMapperConstructorTablePtr_->find(ptf.type());
188 if (cstrIter == patchMapperConstructorTablePtr_->end())
191 <<
"Unknown patchField type " << ptf.type()
192 <<
" for patch " <<
p.name() <<
" of type " <<
p.type()
193 <<
" for field " << iF.
name() <<
nl <<
nl
194 <<
"Valid patchField types are :" <<
endl
195 << patchMapperConstructorTablePtr_->sortedToc()
199 return cstrIter()(ptf,
p, iF, pfMapper);
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const word & name() const
Return name.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Abstract base class for field mapping.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
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 &, const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Return a pointer to a new patchField created on freestore given.
A class for managing temporary objects.
A class for handling words, derived from string.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define InfoInFunction
Report an information message using Foam::Info.
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
errorManipArg< error, int > exit(error &err, const int errNo=1)
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
word patchFieldType(const PatchField &pf)