41 #ifndef Foam_processorFaPatchField_H 42 #define Foam_processorFaPatchField_H 73 mutable label sendRequest_;
76 mutable label recvRequest_;
94 virtual bool all_ready()
const;
100 TypeName(processorFaPatch::typeName_());
267 virtual label
comm()
const 269 return procPatch_.
comm();
297 virtual int rank()
const virtual void evaluateLocal(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field after a local operation (e.g. *=).
virtual int myProcNo() const
Return processor number.
virtual const tensorField & forwardT() const
Return face transformation tensor.
virtual void initEvaluate(const Pstream::commsTypes commsType)
Initialise the evaluation of the patch field.
commsTypes
Communications types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual int neighbProcNo() const
Return neighbour processor number.
virtual bool coupled() const
The patch field is coupled if running in parallel.
static bool & parRun() noexcept
Test if this a parallel run.
virtual label comm() const
Return communicator used for communication.
virtual label comm() const
Return communicator used for communication.
virtual bool doTransform() const
Does the patch field perform the transformation.
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.
TypeName(processorFaPatch::typeName_())
Runtime type information.
Abstract base class for processor coupled interfaces.
Generic templated field type.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
virtual int rank() const
Return rank of component for transform.
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.
static tmp< faPatchField< Type > > Clone(const DerivedPatchField &pf)
Clone a patch field with its own internal field reference.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
virtual tmp< faPatchField< Type > > clone() const
Return clone.
Finite area patch class. Used for 2-D non-Euclidian finite area method.
~processorFaPatchField()=default
Destructor.
int neighbProcNo() const noexcept
Return neighbour processor number.
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
bool parallel() const
Are the cyclic planes parallel.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
virtual void initEvaluateLocal(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Initialise the evaluation of the patch field after a local.
::Foam::direction rank(const expressions::valueTypeCode) noexcept
The vector-space rank associated with given valueTypeCode.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
A class for managing temporary objects.
"buffered" : (MPI_Bsend, MPI_Recv)
A FieldMapper for finite-area patch fields.
virtual const tensorField & forwardT() const
Return face transformation tensor.
processorFaPatchField(const faPatch &, const DimensionedField< Type, areaMesh > &)
Construct from patch and internal field.
virtual bool ready() const
Are all (receive) data available?
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
int myProcNo() const noexcept
Return processor number.
tmp< Field< Type > > patchNeighbourField() const
Return neighbour field given internal field.