45 #ifndef Foam_lduCalculatedProcessorField_H 46 #define Foam_lduCalculatedProcessorField_H 113 ClassName(
"lduCalculatedProcessorField");
140 virtual bool ready()
const;
202 virtual label
comm()
const 232 virtual int rank()
const virtual label comm() const
Return communicator used for sending.
virtual int myProcNo() const
Return processor number (rank in communicator)
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 int neighbProcNo() const
Return neighbour processor number.
virtual const tensorField & forwardT() const
Return face transformation tensor.
virtual int rank() const
Return rank of component for transform.
commsTypes
Communications types.
label recvRequest_
Current (non-blocking) recv request.
label sendRequest_
Current (non-blocking) send request.
virtual bool doTransform() const
Is the transform required.
A traits class, which is primarily used for primitives and vector-space.
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
const lduInterface & interface() const noexcept
Return the interface.
Field< Type > recvBuf_
Receive buffer.
virtual const tensorField & forwardT() const
Return face transformation tensor.
solveScalarField scalarSendBuf_
Scalar send buffer.
solveScalarField scalarRecvBuf_
Scalar recv buffer.
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 bool all_ready() const
Receive and send requests have both completed.
lduCalculatedProcessorField(const lduInterface &interface)
Construct from ldu interface.
void addToInternalField(solveScalarField &result, const bool add, const scalarField &coeffs, const solveScalarField &vals) const
Abstract base class for processor coupled interfaces.
Generic templated field type.
virtual ~lduCalculatedProcessorField()=default
Destructor.
virtual bool ready() const
Are all (receive) data available?
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
Concrete implementation of processor interface. Used to temporarily store settings.
Field< Type > sendBuf_
Send buffer.
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches...
A lduProcessorField type bypassing coupledFvPatchField.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
const lduPrimitiveProcessorInterface & procInterface_
Local reference cast into the interface.
virtual label comm() const
Return communicator used for communication.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
ClassName("lduCalculatedProcessorField")
Runtime type information.
virtual int myProcNo() const
Return processor number.