72 if (!isType<processorFaPatch>(this->
patch()))
75 <<
"\n patch type '" << p.type()
76 <<
"' not constraint type '" <<
typeName <<
"'" 77 <<
"\n for patch " <<
p.name()
89 const DimensionedField<Type, areaMesh>& iF,
90 const dictionary&
dict 93 coupledFaPatchField<Type>(
p, iF,
dict),
96 if (!isType<processorFaPatch>(
p))
99 <<
"\n patch type '" <<
p.type()
100 <<
"' not constraint type '" <<
typeName <<
"'" 101 <<
"\n for patch " <<
p.name()
112 const processorFaPatchField<Type>& ptf
115 processorLduInterfaceField(),
158 procPatch_.send(commsType, this->patchInternalField()());
171 procPatch_.receive<Type>(commsType, *
this);
184 return this->
patch().deltaCoeffs()*(*
this - this->patchInternalField());
204 this->
patch().patchInternalField(psiInternal)()
224 procPatch_.receive<solveScalar>(commsType, this->size())()
228 transformCoupleField(pnf, cmpt);
238 result[edgeFaces[elemI]] += coeffs[elemI]*pnf[elemI];
245 result[edgeFaces[elemI]] -= coeffs[elemI]*pnf[elemI];
256 const lduAddressing& lduAddr,
258 const Field<Type>& psiInternal,
266 this->
patch().patchInternalField(psiInternal)()
285 procPatch_.receive<Type>(commsType, this->size())()
296 result[edgeFaces[elemI]] += coeffs[elemI]*pnf[elemI];
303 result[edgeFaces[elemI]] -= coeffs[elemI]*pnf[elemI];
const faPatch & patch() const noexcept
The associated objectRegistry.
virtual void initEvaluate(const Pstream::commsTypes commsType)
Initialise the evaluation of the patch field.
errorManipArg< error, int > exit(error &err, const int errNo=1)
commsTypes
Types of communications.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Type & refCast(U &obj)
A dynamic_cast (for references) that generates FatalError on failed casts, uses the virtual type() me...
static bool & parRun() noexcept
Test if this a parallel run.
const DimensionedField< Type, areaMesh > & internalField() const noexcept
Return dimensioned internal field reference.
#define forAll(list, i)
Loop across all elements in list.
virtual void updateInterfaceMatrix(solveScalarField &result, const bool add, const lduAddressing &lduAddr, const label patchId, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
static const char *const typeName
Typename for Field.
Generic templated field type.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
virtual void initInterfaceMatrixUpdate(solveScalarField &result, const bool add, const lduAddressing &lduAddr, const label patchId, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
Initialise neighbour matrix update.
virtual void evaluate(const Pstream::commsTypes commsType)
Evaluate the patch field.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
Finite area patch class. Used for 2-D non-Euclidian finite area method.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const std::string patch
OpenFOAM patch number as a std::string.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
A class for managing temporary objects.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
A FieldMapper for finite-area patch fields.
processorFaPatchField(const faPatch &, const DimensionedField< Type, areaMesh > &)
Construct from patch and internal field.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
tmp< Field< Type > > patchNeighbourField() const
Return neighbour field given internal field.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...