34 const dictionary&
dict 37 zoneNames_.resize(
dict.size());
38 schemePtrs_.resize(
dict.size());
43 zoneNames_[0] =
"default";
45 corrected_ =
scheme(0).corrected();
49 for (
const auto&
e :
dict)
54 <<
"Entries must be given in zoneName-scheme pairs" 58 const word&
key =
e.keyword();
66 zoneNames_[schemei] =
key;
68 schemePtrs_[schemei] =
71 corrected_ = corrected_ ||
scheme(schemei).corrected();
84 const dictionary&
dict 87 zoneNames_.resize(
dict.size());
88 schemePtrs_.resize(
dict.size());
95 dict.lookup(
"default")
98 zoneNames_[0] =
"default";
100 corrected_ =
scheme(0).corrected();
104 for (
const auto&
e :
dict)
109 <<
"Entries must be given in faceZoneName-scheme pairs" 113 const word&
key =
e.keyword();
115 if (
key ==
"default")
121 zoneNames_[schemei] =
key;
123 schemePtrs_[schemei] =
131 corrected_ = corrected_ ||
scheme(schemei).corrected();
140 template<
class FieldType>
144 const FieldType& src,
148 const auto&
mesh = dest.mesh();
149 const auto&
pbm =
mesh.boundaryMesh();
150 const auto& srcBf = src.boundaryField();
151 auto& destBf = dest.boundaryFieldRef();
153 for (
const label facei : fz)
155 if (
mesh.isInternalFace(facei))
157 dest[facei] = src[facei];
162 auto& pdest = destBf[pf.first()];
165 pdest[pf.second()] = srcBf[pf.first()][pf.second()];
173 template<
class FieldType>
180 const auto&
mesh = dest.mesh();
181 const auto&
pbm =
mesh.boundaryMesh();
182 auto& destBf = dest.boundaryFieldRef();
184 for (
const label facei : fz)
186 if (
mesh.isInternalFace(facei))
188 dest[facei] = pTraits<Type>::zero;
193 auto& pdest = destBf[pf.first()];
196 pdest[pf.second()] = pTraits<Type>::zero;
const polyBoundaryMesh & pbm
static tmp< edgeInterpolationScheme< Type > > scheme(const edgeScalarField &faceFlux, Istream &schemeData)
Return weighting factors for scheme given from Istream.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
const dimensionedScalar e
Elementary charge.
Multi-faceZone based blending differencing scheme.
auto key(const Type &t) -> std::enable_if_t< std::is_enum_v< Type >, std::underlying_type_t< Type > >
errorManip< error > abort(error &err)
Pair< label > labelPair
A pair of labels.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...