#include <EulerianCommBoundary.h>
Inheritance diagram for elc::EulerianCommBoundary< N, T >:
Public Types | |
typedef T | Number |
The number type. | |
Public Member Functions | |
Constructors etc. | |
EulerianCommBoundary (const MPI_Comm comm, const MPI_Comm eulerian, const int lagrangianSize, const int lagrangianRoot, VertexIdentifierStyle vertexIdentifierStyle) | |
Construct from the communicators and Lagrangian info. | |
virtual | ~EulerianCommBoundary () |
Destructor. | |
Communication. | |
virtual void | sendPressure () |
Start sending the pressure to the relevant solid processors. | |
virtual void | waitForPressure () |
Wait for the pressure sends to be copied into communication buffers. | |
Protected Member Functions | |
virtual void | initializePressure () |
Initialize the pressure at the nodes. |
N | is the space dimension. 2 and 3 are supported. | |
T | is the floating point number type. By default it is double. |
One can access the node positions with either getPositions() or getPositionsData(); the node velocities can be access with getVelocities() or getVelocitiesData(). This processor must set the pressure at all node positions that lie within its domain. The pressures may be manipulated through getPressures() or getPressuresData().
After the pressures have been set, they are sent to the relevant Lagrangian processors with sendPressure() and waitForPressure().
elc::EulerianCommBoundary< N, T >::EulerianCommBoundary | ( | const MPI_Comm | comm, | |
const MPI_Comm | eulerian, | |||
const int | lagrangianSize, | |||
const int | lagrangianRoot, | |||
VertexIdentifierStyle | vertexIdentifierStyle | |||
) | [inline] |
Construct from the communicators and Lagrangian info.
comm | is the communicator that contains the Eulerian and Lagrangian processors. | |
eulerian | is the Eulerian communicator. It is duplicated to avoid message conflicts. | |
lagrangianSize | is the number of Lagrangian processors. | |
lagrangianRoot | is the rank of the Lagrangian root in comm . | |
vertexIdentifierStyle | is either LocalIndices or GlobalIdentifiers. |
virtual void elc::EulerianCommBoundary< N, T >::sendPressure | ( | ) | [virtual] |
Start sending the pressure to the relevant solid processors.
Call this function after the pressures at the nodes have been set.
Implements elc::EulerianComm< N, T >.
virtual void elc::EulerianCommBoundary< N, T >::waitForPressure | ( | ) | [virtual] |
Wait for the pressure sends to be copied into communication buffers.
This function must be called after send_pressure().
Implements elc::EulerianComm< N, T >.