47#ifndef Foam_calculatedProcessorFvPatchField_H
48#define Foam_calculatedProcessorFvPatchField_H
170 virtual bool ready()
const;
250 virtual label
comm()
const
280 virtual int rank()
const
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
commsTypes
Communications types.
static bool & parRun() noexcept
Test if this a parallel run.
calculatedProcessorFvPatchField(const lduInterface &interface, const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
const lduPrimitiveProcessorInterface & procInterface_
Local reference cast into the interface.
virtual bool doTransform() const
Is the transform required.
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.
Field< Type > sendBuf_
Send buffer.
virtual int rank() const
Return rank of component for transform.
virtual void initInterfaceMatrixUpdate(Field< Type > &result, const bool add, const lduAddressing &lduAddr, const label patchId, const Field< Type > &psiInternal, const scalarField &coeffs, const Pstream::commsTypes commsType) const
Initialise neighbour matrix update.
virtual bool coupled() const
The patch field is coupled if running in parallel.
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 void updateInterfaceMatrix(Field< Type > &result, const bool add, const lduAddressing &lduAddr, const label patchId, const Field< Type > &psiInternal, const scalarField &coeffs, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
virtual void initEvaluate(const Pstream::commsTypes commsType)
Initialise the evaluation of the patch field.
virtual ~calculatedProcessorFvPatchField()=default
Destructor.
solveScalarField scalarSendBuf_
Scalar send buffer.
virtual int myProcNo() const
Return processor number.
Field< Type > recvBuf_
Receive buffer.
virtual bool all_ready() const
Receive and send requests have both completed.
virtual label comm() const
Return communicator used for communication.
label recvRequest_
Current (non-blocking) recv request.
solveScalarField scalarRecvBuf_
Scalar recv buffer.
TypeName("calculatedProcessor")
Runtime type information.
virtual void evaluate(const Pstream::commsTypes commsType)
Evaluate the patch field.
label sendRequest_
Current (non-blocking) send request.
virtual tmp< fvPatchField< Type > > clone() const
Return a clone.
void addToInternalField(solveScalarField &result, const bool add, const scalarField &coeffs, const solveScalarField &vals) const
virtual bool ready() const
Are all (receive) data available?
virtual tmp< Field< Type > > patchNeighbourField() const
Return neighbour field.
virtual int neighbProcNo() const
Return neighbour processor number.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Clone with an internal field reference.
virtual const tensorField & forwardT() const
Return face transformation tensor.
coupledFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
const lduInterface & interface() const noexcept
Return the interface.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches.
Concrete implementation of processor interface. Used to temporarily store settings.
virtual label comm() const
Return communicator used for sending.
virtual const tensorField & forwardT() const
Return face transformation tensor.
A traits class, which is primarily used for primitives and vector-space.
processorLduInterfaceField()=default
Default construct.
A class for managing temporary objects.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void add(DimensionedField< scalar, GeoMesh > &result, const dimensioned< scalar > &dt1, const DimensionedField< scalar, GeoMesh > &f2)
Field< solveScalar > solveScalarField
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.