34 const word& patchFieldType,
36 const DimensionedField<Type, edgeMesh>& iF
41 auto* ctorPtr = patchConstructorTable(patchFieldType);
49 *patchConstructorTablePtr_
53 auto* patchTypeCtor = patchConstructorTable(
p.type());
57 return patchTypeCtor(
p, iF);
61 return ctorPtr(
p, iF);
70 const DimensionedField<Type, edgeMesh>& iF,
71 const dictionary&
dict
76 const word patchFieldType(
dict.get<word>(
"type"));
78 auto* ctorPtr = dictionaryConstructorTable(patchFieldType);
82 if (!disallowGenericFaePatchField)
84 ctorPtr = dictionaryConstructorTable(
"generic");
90 <<
"Unknown patchField type " << patchFieldType
91 <<
" for patch type " <<
p.type() <<
nl <<
nl
92 <<
"Valid patchField types are :" <<
nl
93 << dictionaryConstructorTablePtr_->sortedToc()
98 auto* patchTypeCtor = dictionaryConstructorTable(
p.type());
100 if (patchTypeCtor && patchTypeCtor != ctorPtr)
103 <<
"inconsistent patch and patchField types for \n"
104 <<
" patch type " <<
p.type()
105 <<
" and patchField type " << patchFieldType
109 return ctorPtr(
p, iF,
dict);
116 const faePatchField<Type>& ptf,
118 const DimensionedField<Type, edgeMesh>& iF,
119 const faPatchFieldMapper& pfMapper
124 auto* ctorPtr = patchMapperConstructorTable(ptf.type());
132 *patchMapperConstructorTablePtr_
136 auto* patchTypeCtor = patchMapperConstructorTable(
p.type());
140 return patchTypeCtor(ptf,
p, iF, pfMapper);
143 return ctorPtr(ptf,
p, iF, pfMapper);