50 #ifndef Foam_processorFvPatchField_H 51 #define Foam_processorFvPatchField_H 84 mutable label sendRequest_;
87 mutable label recvRequest_;
105 virtual bool all_ready()
const;
111 TypeName(processorFvPatch::typeName_());
156 [[deprecated(
"2026-03: soon = delete")]]
158 #ifdef Foam_fvPatchField_copyConstruct 186 virtual bool ready()
const;
291 virtual label
comm()
const 293 return procPatch_.
comm();
313 is_rotational_vectorspace_v<Type>
325 virtual int rank()
const 345 #include "processorFvPatchField.txx" virtual int myProcNo() const
Return processor number.
virtual void evaluateLocal(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field after a local operation (e.g. *=).
~processorFvPatchField()=default
Destructor.
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 parallel() const
Are the cyclic planes parallel.
friend Ostream & operator(Ostream &, const fvPatchField< Type > &)
virtual bool coupled() const
The patch field is coupled if running in parallel.
virtual int myProcNo() const
Return processor number.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
static bool & parRun() noexcept
Test if this a parallel run.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual bool ready() const
Are all (receive) data available?
virtual label comm() const
Return communicator used for communication.
virtual void initEvaluate(const Pstream::commsTypes commsType)
Initialise the evaluation of the patch field.
virtual bool doTransform() const
Does the patch field perform the transformation.
virtual int neighbProcNo() const
Return neighbour processor number.
TypeName(processorFvPatch::typeName_())
Runtime type information.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
Abstract base class for processor coupled interfaces.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A FieldMapper for finite-volume patch fields.
virtual void evaluate(const Pstream::commsTypes commsType)
Evaluate the patch field.
virtual int rank() const
Return rank of component for transform.
Abstract base class for coupled patches.
virtual tmp< Field< Type > > patchNeighbourField() const
Return neighbour field.
virtual const tensorField & forwardT() const
Return face transformation tensor.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
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 initEvaluateLocal(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Initialise the evaluation of the patch field after a local.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const DimensionedField< Type, volMesh > & internalField() const noexcept
Return const-reference to the dimensioned internal field.
::Foam::direction rank(const expressions::valueTypeCode) noexcept
The vector-space rank associated with given valueTypeCode.
This boundary condition enables processor communication across patches.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
A class for managing temporary objects.
virtual const tensorField & forwardT() const
Return face transformation tensor.
"buffered" : (MPI_Bsend, MPI_Recv)
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.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
virtual label comm() const
Return communicator used for comms.
processorFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual tmp< fvPatchField< Type > > clone() const
No clone without an internal field reference.