67 refCast<const processorLduInterfaceField>(fineInterface);
69 doTransform_ =
p.doTransform();
77 const bool doTransform,
83 doTransform_(doTransform),
102 procInterface_.interfaceInternalField(psiInternal, scalarSendBuf_);
111 scalarReceiveBuf_.setSize(scalarSendBuf_.size());
116 procInterface_.neighbProcNo(),
117 scalarReceiveBuf_.data_bytes(),
118 scalarReceiveBuf_.size_bytes(),
119 procInterface_.tag(),
127 procInterface_.neighbProcNo(),
128 scalarSendBuf_.cdata_bytes(),
129 scalarSendBuf_.size_bytes(),
130 procInterface_.tag(),
136 procInterface_.compressedSend(commsType, scalarSendBuf_);
171 outstandingRecvRequest_ >= 0
178 outstandingSendRequest_ = -1;
179 outstandingRecvRequest_ = -1;
184 transformCoupleField(scalarReceiveBuf_, cmpt);
187 addToInternalField(result, !
add,
faceCells, coeffs, scalarReceiveBuf_);
193 procInterface_.compressedReceive<solveScalar>
199 transformCoupleField(pnf, cmpt);
201 addToInternalField(result, !
add,
faceCells, coeffs, pnf);
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Abstract base class for GAMG agglomerated interface fields.
Abstract base class for GAMG agglomerated interfaces.
virtual bool read()
Re-read model coefficients if they have changed.
void size(const label n)
Older name for setAddressableSize.
commsTypes
Types of communications.
@ nonBlocking
"nonBlocking"
static bool floatTransfer
static label nRequests()
Get number of outstanding requests.
static void waitRequest(const label i)
Wait until request i has finished.
Smooth ATC in cells next to a set of patches supplied by type.
virtual bool write()
Write the output fields.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
virtual const labelUList & patchAddr(const label patchNo) const =0
Return patch to internal addressing given patch number.
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
bool updatedMatrix() const
Whether matrix has been updated.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches.
GAMG agglomerated processor interface field.
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 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.
GAMG agglomerated processor interface.
Abstract base class for processor coupled interfaces.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
To & refCast(From &r)
Reference type cast template function.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)