63 refCast<const processorLduInterfaceField>(fineInterface);
98 procInterface_.interfaceInternalField(psiInternal, scalarSendBuf_);
107 scalarReceiveBuf_.setSize(scalarSendBuf_.size());
112 procInterface_.neighbProcNo(),
113 reinterpret_cast<char*
>(scalarReceiveBuf_.begin()),
114 scalarReceiveBuf_.byteSize(),
115 procInterface_.tag(),
123 procInterface_.neighbProcNo(),
124 reinterpret_cast<const char*
>(scalarSendBuf_.begin()),
125 scalarSendBuf_.byteSize(),
126 procInterface_.tag(),
132 procInterface_.compressedSend(commsType, scalarSendBuf_);
153 const labelUList& faceCells = procInterface_.faceCells();
164 outstandingRecvRequest_ >= 0
171 outstandingSendRequest_ = -1;
172 outstandingRecvRequest_ = -1;
177 transformCoupleField(scalarReceiveBuf_, cmpt);
182 result[faceCells[elemI]] -= coeffs[elemI]*scalarReceiveBuf_[elemI];
189 procInterface_.compressedReceive<scalar>(commsType, coeffs.
size())
191 transformCoupleField(pnf, cmpt);
195 result[faceCells[elemI]] -= coeffs[elemI]*pnf[elemI];
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
Abstract base class for GAMG agglomerated interface fields.
Abstract base class for GAMG agglomerated interfaces.
void size(const label)
Override size to be inconsistent with allocated storage.
static label read(const commsTypes commsType, const int fromProcNo, char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=0)
Read into given buffer from given processor and return the.
static bool write(const commsTypes commsType, const int toProcNo, const char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=0)
Write given buffer to given processor.
commsTypes
Types of communications.
static bool floatTransfer
Should compact transfer be used in which floats replace doubles.
static label nRequests()
Get number of outstanding requests.
static void waitRequest(const label i)
Wait until request i has finished.
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 updateInterfaceMatrix(scalarField &result, const scalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
virtual void initInterfaceMatrixUpdate(scalarField &result, const scalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
Initialise neighbour matrix update.
processorGAMGInterfaceField(const GAMGInterface &GAMGCp, const lduInterfaceField &fineInterface)
Construct from GAMG interface and fine level interface field.
virtual ~processorGAMGInterfaceField()
Destructor.
GAMG agglomerated processor interface.
Abstract base class for processor coupled interfaces.
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
To & refCast(From &r)
Reference type cast template function.
defineTypeNameAndDebug(combustionModel, 0)