46#ifndef lduCalculatedProcessorField_H
47#define lduCalculatedProcessorField_H
113 ClassName(
"lduCalculatedProcessorField");
141 virtual label
comm()
const
171 virtual int rank()
const
180 virtual bool ready()
const;
Generic templated field type.
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
commsTypes
Types of communications.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
A lduProcessorField type bypassing coupledFvPatchField and holding a reference to the Field<Type>.
Field< Type > receiveBuf_
Receive buffer.
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 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 initInterfaceMatrixUpdate(Field< scalar > &result, const bool add, const lduAddressing &lduAddr, const label patchId, const Field< scalar > &psiInternal, const scalarField &coeffs, const Pstream::commsTypes commsType) const
Initialise neighbour matrix update.
solveScalarField scalarReceiveBuf_
Scalar receive buffer.
const Field< Type > & field_
Local Field.
ClassName("lduCalculatedProcessorField")
Runtime type information.
solveScalarField scalarSendBuf_
Scalar send buffer.
virtual int myProcNo() const
Return processor number.
virtual label comm() const
Return communicator used for comms.
virtual void updateInterfaceMatrix(Field< scalar > &result, const bool add, const lduAddressing &lduAddr, const label patchId, const Field< scalar > &psiInternal, const scalarField &coeffs, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
label outstandingSendRequest_
Outstanding request.
label outstandingRecvRequest_
Outstanding request.
virtual ~lduCalculatedProcessorField()=default
Destructor.
void addToInternalField(solveScalarField &result, const bool add, const scalarField &coeffs, const solveScalarField &vals) const
virtual bool ready() const
Is all data available.
virtual int neighbProcNo() const
Return neighbour processor number.
virtual const tensorField & forwardT() const
Return face transformation tensor.
const lduInterface & interface() const
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 int myProcNo() const
Return processor number (rank in communicator)
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.
Abstract base class for processor coupled interfaces.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)