mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: processorCyclic: cell->point interpolation. Fixes #2817
This commit is contained in:
@ -95,19 +95,19 @@ void Foam::processorCyclicPointPatchField<Type>::initSwapAddSeparated
|
|||||||
{
|
{
|
||||||
if (Pstream::parRun())
|
if (Pstream::parRun())
|
||||||
{
|
{
|
||||||
// Get internal field into correct order for opposite side
|
// Get internal field into correct order for opposite side. Note use
|
||||||
Field<Type> pf
|
// of member data buffer since using non-blocking. Could be optimised
|
||||||
|
// out if not using non-blocking...
|
||||||
|
sendBuf_ = this->patchInternalField
|
||||||
(
|
(
|
||||||
this->patchInternalField
|
pField,
|
||||||
(
|
procPatch_.reverseMeshPoints()
|
||||||
pField,
|
|
||||||
procPatch_.reverseMeshPoints()
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
if (commsType == Pstream::commsTypes::nonBlocking)
|
if (commsType == Pstream::commsTypes::nonBlocking)
|
||||||
{
|
{
|
||||||
recvBuf_.resize_nocopy(pf.size());
|
recvBuf_.resize_nocopy(sendBuf_.size());
|
||||||
|
|
||||||
UIPstream::read
|
UIPstream::read
|
||||||
(
|
(
|
||||||
commsType,
|
commsType,
|
||||||
@ -122,8 +122,8 @@ void Foam::processorCyclicPointPatchField<Type>::initSwapAddSeparated
|
|||||||
(
|
(
|
||||||
commsType,
|
commsType,
|
||||||
procPatch_.neighbProcNo(),
|
procPatch_.neighbProcNo(),
|
||||||
pf.cdata_bytes(),
|
sendBuf_.cdata_bytes(),
|
||||||
pf.size_bytes(),
|
sendBuf_.size_bytes(),
|
||||||
procPatch_.tag(),
|
procPatch_.tag(),
|
||||||
procPatch_.comm()
|
procPatch_.comm()
|
||||||
);
|
);
|
||||||
|
|||||||
@ -60,6 +60,9 @@ class processorCyclicPointPatchField
|
|||||||
//- Local reference to processor patch
|
//- Local reference to processor patch
|
||||||
const processorCyclicPointPatch& procPatch_;
|
const processorCyclicPointPatch& procPatch_;
|
||||||
|
|
||||||
|
//- Send buffer for non-blocking communication
|
||||||
|
mutable Field<Type> sendBuf_;
|
||||||
|
|
||||||
//- Receive buffer for non-blocking communication
|
//- Receive buffer for non-blocking communication
|
||||||
mutable Field<Type> recvBuf_;
|
mutable Field<Type> recvBuf_;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user