31 const word& patchFieldType,
38 Info<<
"fvPatchField<Type>::New(const word&, const fvPatch&, "
39 "const DimensionedField<Type, volMesh>&) : patchFieldType="
44 typename patchConstructorTable::iterator cstrIter =
45 patchConstructorTablePtr_->find(patchFieldType);
47 if (cstrIter == patchConstructorTablePtr_->end())
51 "fvPatchField<Type>::New(const word&, const fvPatch&, "
52 "const DimensionedField<Type, volMesh>&)"
53 ) <<
"Unknown patchTypefield type " << patchFieldType
55 <<
"Valid patchField types are :" <<
endl
56 << patchConstructorTablePtr_->sortedToc()
60 typename patchConstructorTable::iterator patchTypeCstrIter =
61 patchConstructorTablePtr_->find(p.type());
63 if (patchTypeCstrIter != patchConstructorTablePtr_->end())
65 return patchTypeCstrIter()(
p, iF);
69 return cstrIter()(
p, iF);
86 Info<<
"fvPatchField<Type>::New(const fvPatch&, "
87 "const DimensionedField<Type, volMesh>&, "
88 "const dictionary&) : patchFieldType=" << patchFieldType
92 typename dictionaryConstructorTable::iterator cstrIter
93 = dictionaryConstructorTablePtr_->find(patchFieldType);
95 if (cstrIter == dictionaryConstructorTablePtr_->end())
97 if (!disallowGenericFvPatchField)
99 cstrIter = dictionaryConstructorTablePtr_->find(
"generic");
102 if (cstrIter == dictionaryConstructorTablePtr_->end())
106 "fvPatchField<Type>::New(const fvPatch&, "
107 "const DimensionedField<Type, volMesh>&, "
108 "const dictionary&)",
110 ) <<
"Unknown patchField type " << patchFieldType
111 <<
" for patch type " << p.type() <<
endl <<
endl
112 <<
"Valid patchField types are :" <<
endl
113 << dictionaryConstructorTablePtr_->sortedToc()
120 !dict.
found(
"patchType")
124 typename dictionaryConstructorTable::iterator patchTypeCstrIter
125 = dictionaryConstructorTablePtr_->find(p.type());
129 patchTypeCstrIter != dictionaryConstructorTablePtr_->end()
130 && patchTypeCstrIter() != cstrIter()
135 "fvPatchField<Type>::New(const fvPatch&, "
136 "const DimensionedField<Type, volMesh>&, "
137 "const dictionary&)",
139 ) <<
"inconsistent patch and patchField types for \n"
140 " patch type " << p.type()
141 <<
" and patchField type " << patchFieldType
146 return cstrIter()(
p, iF, dict);
161 Info<<
"fvPatchField<Type>::New(const fvPatchField<Type>&, "
162 "const fvPatch&, const DimensionedField<Type, volMesh>&, "
163 "const fvPatchFieldMapper&) : "
164 "constructing fvPatchField<Type>"
168 typename patchMapperConstructorTable::iterator cstrIter =
169 patchMapperConstructorTablePtr_->find(ptf.type());
171 if (cstrIter == patchMapperConstructorTablePtr_->end())
175 "fvPatchField<Type>::New(const fvPatchField<Type>&, "
176 "const fvPatch&, const DimensionedField<Type, volMesh>&, "
177 "const fvPatchFieldMapper&)"
178 ) <<
"unknown patchTypefield type " << ptf.type() <<
endl <<
endl
179 <<
"Valid patchField types are :" <<
endl
180 << patchMapperConstructorTablePtr_->sortedToc()
184 return cstrIter()(ptf,
p, iF, pfMapper);