walberla::pe::communication Namespace Reference

Classes

struct  BoxParameters
 
struct  CapsuleParameters
 
struct  EllipsoidParameters
 
struct  GeomPrimitiveParameters
 
class  MarshalDynamically
 
struct  MPIRigidBodyTraitParameter
 
class  RigidBodyCopyNotification
 Wrapper class for rigid body copies. More...
 
class  RigidBodyDeletionNotification
 Wrapper class for rigid body deletion notifications. More...
 
class  RigidBodyForceNotification
 Wrapper class for rigid body force and torque contribution notifications. More...
 
class  RigidBodyMigrationNotification
 Wrapper class for rigid body migration notifications. More...
 
class  RigidBodyNewShadowCopyNotification
 Wrapper class for rigid body new shadow copy notifications. More...
 
struct  RigidBodyParameters
 
class  RigidBodyRemoteMigrationNotification
 Wrapper class for rigid body remote migration notifications. More...
 
class  RigidBodyRemovalInformationNotification
 Wrapper class for rigid body removal notifications. More...
 
class  RigidBodyRemovalNotification
 Wrapper class for rigid body removal notifications. More...
 
class  RigidBodyUpdateNotification
 Wrapper class for rigid body updates. More...
 
class  RigidBodyVelocityCorrectionNotification
 Wrapper class for rigid body velocity corrections. More...
 
class  RigidBodyVelocityUpdateNotification
 Wrapper class for rigid body velocity updates. More...
 
struct  SphereParameters
 
struct  SquirmerParameters
 
struct  UnionParameters
 
class  UnmarshalDynamically
 

Enumerations

enum  NotificationType {
  rigidBodyDeletionNotification = 1, rigidBodyRemovalNotification, rigidBodyCopyNotification, rigidBodyForceNotification,
  rigidBodyUpdateNotification, rigidBodyMigrationNotification, rigidBodyRemoteMigrationNotification, rigidBodyVelocityUpdateNotification,
  rigidBodyVelocityCorrectionNotification, rigidBodyNewShadowCopyNotification, rigidBodyRemovalInformationNotification
}
 Associate a unique number to notifications for identifying/tagging them. More...
 

Functions

template<>
mesh::pe::ConvexPolyhedronPtr instantiate (mpi::RecvBuffer &buffer, const math::AABB &domain, const math::AABB &block, mesh::pe::ConvexPolyhedronID &newBody)
 
void correctBodyPosition (const math::AABB &domain, const Vec3 &center, Vec3 &pos)
 
template<class BodyT >
std::unique_ptr< BodyT > instantiate (mpi::RecvBuffer &, const math::AABB &, const math::AABB &, BodyT *&)
 
void marshal (mpi::SendBuffer &buffer, const MPIRigidBodyTrait &obj)
 Marshalling rigid body parameters. More...
 
void unmarshal (mpi::RecvBuffer &buffer, MPIRigidBodyTraitParameter &objparam)
 Unmarshalling rigid body parameters. More...
 
void marshal (mpi::SendBuffer &buffer, const RigidBody &obj)
 Marshalling rigid body parameters. More...
 
void unmarshal (mpi::RecvBuffer &buffer, RigidBodyParameters &objparam)
 Unmarshalling rigid body parameters. More...
 
void marshal (mpi::SendBuffer &buffer, const GeomPrimitive &obj)
 Marshalling parameters of a geometric primitive. More...
 
void unmarshal (mpi::RecvBuffer &buffer, GeomPrimitiveParameters &objparam)
 Unmarshalling parameters of a geometric primitive. More...
 
template<class T >
void packNotification (const Owner &sender, const Owner &receiver, mpi::SendBuffer &sb, const T &notification)
 
template<class T >
void packNotificationWithoutSender (const Owner &receiver, mpi::SendBuffer &sb, const T &notification)
 
template<typename BodyTypeTuple >
void parseMessage (Owner sender, mpi::RecvBuffer &rb, const domain_decomposition::BlockStorage &blockStorage, IBlock &block, BodyStorage &localStorage, BodyStorage &shadowStorage)
 
void parseForceReduceMessage (Owner sender, mpi::RecvBuffer &rb, const domain_decomposition::BlockStorage &, IBlock &, BodyStorage &localStorage, BodyStorage &)
 
void parseForceDistributeMessage (Owner sender, mpi::RecvBuffer &rb, const domain_decomposition::BlockStorage &, IBlock &, BodyStorage &, BodyStorage &shadowStorage)
 
void marshal (mpi::SendBuffer &buffer, const Box &obj)
 Marshalling a sphere primitive. More...
 
void unmarshal (mpi::RecvBuffer &buffer, BoxParameters &objparam)
 Unmarshalling a sphere primitive. More...
 
BoxPtr instantiate (mpi::RecvBuffer &buffer, const math::AABB &domain, const math::AABB &block, BoxID &newBody)
 
void marshal (mpi::SendBuffer &buffer, const Capsule &obj)
 Marshalling a capsule primitive. More...
 
void unmarshal (mpi::RecvBuffer &buffer, CapsuleParameters &objparam)
 Unmarshalling a capsule primitive. More...
 
CapsulePtr instantiate (mpi::RecvBuffer &buffer, const math::AABB &domain, const math::AABB &block, CapsuleID &newBody)
 
void marshal (mpi::SendBuffer &buffer, const Ellipsoid &obj)
 Marshalling a Ellipsoid primitive. More...
 
void unmarshal (mpi::RecvBuffer &buffer, EllipsoidParameters &objparam)
 Unmarshalling a Ellipsoid primitive. More...
 
EllipsoidPtr instantiate (mpi::RecvBuffer &buffer, const math::AABB &domain, const math::AABB &block, EllipsoidID &newBody)
 
void marshal (mpi::SendBuffer &buffer, const Sphere &obj)
 Marshalling a sphere primitive. More...
 
void unmarshal (mpi::RecvBuffer &buffer, SphereParameters &objparam)
 Unmarshalling a sphere primitive. More...
 
SpherePtr instantiate (mpi::RecvBuffer &buffer, const math::AABB &domain, const math::AABB &block, SphereID &newBody)
 
void marshal (mpi::SendBuffer &buffer, const Squirmer &obj)
 Marshalling a squirmer primitive. More...
 
void unmarshal (mpi::RecvBuffer &buffer, SquirmerParameters &objparam)
 Unmarshalling a squirmer primitive. More...
 
SquirmerPtr instantiate (mpi::RecvBuffer &buffer, const math::AABB &domain, const math::AABB &block, SquirmerID &newBody)
 
template<typename... BodyTypes>
void marshal (mpi::SendBuffer &buffer, const Union< BodyTypes... > &obj)
 Marshalling a box primitive. More...
 
void unmarshal (mpi::RecvBuffer &buffer, UnionParameters &objparam)
 Unmarshalling a box primitive. More...
 
template<typename... BodyTypes>
std::unique_ptr< Union< BodyTypes... > > instantiate (mpi::RecvBuffer &buffer, const math::AABB &domain, const math::AABB &block, Union< BodyTypes... > *&newBody)
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyCopyNotification &obj)
 Marshaling rigid body copies. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyCopyNotification::Parameters &objparam)
 Unmarshaling rigid body copies. More...
 
template<>
NotificationType notificationType< RigidBodyCopyNotification > ()
 Returns the notification type of a rigid body copy. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyDeletionNotification &obj)
 Marshaling rigid body deletion notifications. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyDeletionNotification::Parameters &objparam)
 Unmarshaling rigid body deletion notifications. More...
 
template<>
NotificationType notificationType< RigidBodyDeletionNotification > ()
 Returns the notification type of a rigid body deletion. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyForceNotification &obj)
 Marshaling rigid body force notifications. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyForceNotification::Parameters &objparam)
 Unmarshaling rigid body updates. More...
 
template<>
NotificationType notificationType< RigidBodyForceNotification > ()
 Returns the notification type of a rigid body force notification. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyMigrationNotification &obj)
 Marshaling rigid body migration notifications. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyMigrationNotification::Parameters &objparam)
 Unmarshaling rigid body migration notifications. More...
 
template<>
NotificationType notificationType< RigidBodyMigrationNotification > ()
 Returns the notification type of a rigid body migration. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyNewShadowCopyNotification &obj)
 Marshaling rigid body new shadow copy notifications. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyNewShadowCopyNotification::Parameters &objparam)
 Unmarshaling rigid body new shadow copy notifications. More...
 
template<>
NotificationType notificationType< RigidBodyNewShadowCopyNotification > ()
 Returns the notification type of a rigid body new shadow copy notification. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyRemoteMigrationNotification &obj)
 Marshaling rigid body remote migration notifications. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyRemoteMigrationNotification::Parameters &objparam)
 Unmarshaling rigid body remote migration notifications. More...
 
template<>
NotificationType notificationType< RigidBodyRemoteMigrationNotification > ()
 Returns the notification type of a rigid body migration. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyRemovalInformationNotification &obj)
 Marshaling rigid body removal information notifications. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyRemovalInformationNotification::Parameters &objparam)
 Unmarshaling rigid body removal information notifications. More...
 
template<>
NotificationType notificationType< RigidBodyRemovalInformationNotification > ()
 Returns the notification type of a rigid body removal information. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyRemovalNotification &obj)
 Marshaling rigid body removal notifications. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyRemovalNotification::Parameters &objparam)
 Unmarshaling rigid body removal notifications. More...
 
template<>
NotificationType notificationType< RigidBodyRemovalNotification > ()
 Returns the notification type of a rigid body removal. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyUpdateNotification &obj)
 Marshalling rigid body updates. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, typename RigidBodyUpdateNotification::Parameters &objparam)
 Unmarshalling rigid body updates. More...
 
template<>
NotificationType notificationType< RigidBodyUpdateNotification > ()
 Returns the notification type of a rigid body update. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyVelocityCorrectionNotification &obj)
 Marshalling rigid body updates. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyVelocityCorrectionNotification::Parameters &objparam)
 Unmarshalling rigid body updates. More...
 
template<>
NotificationType notificationType< RigidBodyVelocityCorrectionNotification > ()
 Returns the notification type of a rigid body migration. More...
 
template<typename Buffer >
void marshal (Buffer &buffer, const RigidBodyVelocityUpdateNotification &obj)
 Marshalling rigid body updates. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, RigidBodyVelocityUpdateNotification::Parameters &objparam)
 Unmarshalling rigid body updates. More...
 
template<>
NotificationType notificationType< RigidBodyVelocityUpdateNotification > ()
 Returns the notification type of a rigid body migration. More...
 
Notification utility functions
template<typename T >
NotificationType notificationType ()
 Returns the notification type of the template parameter. More...
 
Notification type marshalling functions
template<typename Buffer >
void marshal (Buffer &buffer, const NotificationType &type)
 TODO. More...
 
template<typename Buffer >
void unmarshal (Buffer &buffer, NotificationType &type)
 TODO. More...
 

Enumeration Type Documentation

Associate a unique number to notifications for identifying/tagging them.

Enumerator
rigidBodyDeletionNotification 
rigidBodyRemovalNotification 
rigidBodyCopyNotification 
rigidBodyForceNotification 
rigidBodyUpdateNotification 
rigidBodyMigrationNotification 
rigidBodyRemoteMigrationNotification 
rigidBodyVelocityUpdateNotification 
rigidBodyVelocityCorrectionNotification 
rigidBodyNewShadowCopyNotification 
rigidBodyRemovalInformationNotification 

Function Documentation

void walberla::pe::communication::correctBodyPosition ( const math::AABB domain,
const Vec3 center,
Vec3 pos 
)
inline
template<class BodyT >
std::unique_ptr<BodyT> walberla::pe::communication::instantiate ( mpi::RecvBuffer ,
const math::AABB ,
const math::AABB ,
BodyT *&   
)
BoxPtr walberla::pe::communication::instantiate ( mpi::RecvBuffer buffer,
const math::AABB domain,
const math::AABB block,
BoxID newBody 
)
inline
SquirmerPtr walberla::pe::communication::instantiate ( mpi::RecvBuffer buffer,
const math::AABB domain,
const math::AABB block,
SquirmerID newBody 
)
inline
CapsulePtr walberla::pe::communication::instantiate ( mpi::RecvBuffer buffer,
const math::AABB domain,
const math::AABB block,
CapsuleID newBody 
)
inline
EllipsoidPtr walberla::pe::communication::instantiate ( mpi::RecvBuffer buffer,
const math::AABB domain,
const math::AABB block,
EllipsoidID newBody 
)
inline
SpherePtr walberla::pe::communication::instantiate ( mpi::RecvBuffer buffer,
const math::AABB domain,
const math::AABB block,
SphereID newBody 
)
inline
template<>
mesh::pe::ConvexPolyhedronPtr walberla::pe::communication::instantiate ( mpi::RecvBuffer buffer,
const math::AABB domain,
const math::AABB block,
mesh::pe::ConvexPolyhedronID newBody 
)
inline
template<typename... BodyTypes>
std::unique_ptr<Union<BodyTypes...> > walberla::pe::communication::instantiate ( mpi::RecvBuffer buffer,
const math::AABB domain,
const math::AABB block,
Union< BodyTypes... > *&  newBody 
)
inline
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const Squirmer obj 
)

Marshalling a squirmer primitive.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const MPIRigidBodyTrait obj 
)

Marshalling rigid body parameters.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const Box obj 
)

Marshalling a sphere primitive.

Marshalling a box primitive.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const Capsule obj 
)

Marshalling a capsule primitive.

Marshalling a box primitive.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const Ellipsoid obj 
)

Marshalling a Ellipsoid primitive.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const Sphere obj 
)

Marshalling a sphere primitive.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const RigidBody obj 
)

Marshalling rigid body parameters.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
template<typename... BodyTypes>
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const Union< BodyTypes... > &  obj 
)

Marshalling a box primitive.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyVelocityUpdateNotification obj 
)
inline

Marshalling rigid body updates.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void

The update consists of the linear and angular velocities.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyForceNotification obj 
)
inline

Marshaling rigid body force notifications.

Parameters
bufferThe buffer to be filled.
objThe object to be marshaled.
Returns
void

The force notification consists of the force and torque contribution to a body.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyRemovalInformationNotification obj 
)
inline

Marshaling rigid body removal information notifications.

Parameters
bufferThe buffer to be filled.
objThe object to be marshaled.
Returns
void

The removal information notifications just consists of the system ID of the body to remove.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyVelocityCorrectionNotification obj 
)
inline

Marshalling rigid body updates.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void

The update consists of the linear and angular velocity corrections.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyNewShadowCopyNotification obj 
)
inline

Marshaling rigid body new shadow copy notifications.

Parameters
bufferThe buffer to be filled.
objThe object to be marshaled.
Returns
void

The new shadow copy notifications just consists of the system ID of the body to remove.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyDeletionNotification obj 
)
inline

Marshaling rigid body deletion notifications.

Parameters
bufferThe buffer to be filled.
objThe object to be marshaled.
Returns
void

The deletion notifications just consists of the system ID of the body to delete.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyMigrationNotification obj 
)
inline

Marshaling rigid body migration notifications.

Parameters
bufferThe buffer to be filled.
objThe object to be marshaled.
Returns
void

The migration notifications just consists of the system ID of the body migrating.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyRemovalNotification obj 
)
inline

Marshaling rigid body removal notifications.

Parameters
bufferThe buffer to be filled.
objThe object to be marshaled.
Returns
void

The removal notifications just consists of the system ID of the body to remove.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyRemoteMigrationNotification obj 
)
inline

Marshaling rigid body remote migration notifications.

Parameters
bufferThe buffer to be filled.
objThe object to be marshaled.
Returns
void

The remote migration notifications just consists of the system ID of the body migrating and the rank of the process it is migrating to.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyUpdateNotification obj 
)
inline

Marshalling rigid body updates.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void

The update consists of the position, orientation and linear and angular velocities and the list of shadow copy holders.

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const RigidBodyCopyNotification obj 
)
inline

Marshaling rigid body copies.

Parameters
bufferThe buffer to be filled.
objThe object to be marshaled.
Returns
void

TODO

template<typename Buffer >
void walberla::pe::communication::marshal ( Buffer &  buffer,
const NotificationType type 
)
inline

TODO.

Returns
void
void walberla::pe::communication::marshal ( mpi::SendBuffer buffer,
const GeomPrimitive obj 
)

Marshalling parameters of a geometric primitive.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
Returns
void
template<typename T >
NotificationType walberla::pe::communication::notificationType ( )

Returns the notification type of the template parameter.

Returns
The notification type of the template parameter.

Returns the notification type of a rigid body copy.

Returns
The notification type of a rigid body copy.

Returns the notification type of a rigid body deletion.

Returns
The notification type of a rigid body deletion.

Returns the notification type of a rigid body force notification.

Returns
The notification type of a rigid body notification.

Returns the notification type of a rigid body migration.

Returns
The notification type of a rigid body migration.

Returns the notification type of a rigid body new shadow copy notification.

Returns
The notification type of a rigid body new shadow copy notification.

Returns the notification type of a rigid body migration.

Returns
The notification type of a rigid body migration.

Returns the notification type of a rigid body removal information.

Returns
The notification type of a rigid body removal information.

Returns the notification type of a rigid body removal.

Returns
The notification type of a rigid body removal.

Returns the notification type of a rigid body update.

Returns
The notification type of a rigid body update.

Returns the notification type of a rigid body migration.

Returns
The notification type of a rigid body velocity correction.

Returns the notification type of a rigid body migration.

Returns
The notification type of a rigid body velocity update.
template<class T >
void walberla::pe::communication::packNotification ( const Owner sender,
const Owner receiver,
mpi::SendBuffer sb,
const T &  notification 
)
inline
template<class T >
void walberla::pe::communication::packNotificationWithoutSender ( const Owner receiver,
mpi::SendBuffer sb,
const T &  notification 
)
inline
void walberla::pe::communication::parseForceDistributeMessage ( Owner  sender,
mpi::RecvBuffer rb,
const domain_decomposition::BlockStorage ,
IBlock &  ,
BodyStorage ,
BodyStorage shadowStorage 
)
inline
void walberla::pe::communication::parseForceReduceMessage ( Owner  sender,
mpi::RecvBuffer rb,
const domain_decomposition::BlockStorage ,
IBlock &  ,
BodyStorage localStorage,
BodyStorage  
)
inline
template<typename BodyTypeTuple >
void walberla::pe::communication::parseMessage ( Owner  sender,
mpi::RecvBuffer rb,
const domain_decomposition::BlockStorage blockStorage,
IBlock &  block,
BodyStorage localStorage,
BodyStorage shadowStorage 
)
void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
MPIRigidBodyTraitParameter objparam 
)

Unmarshalling rigid body parameters.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
hasSuperBodyFalse if body is not part of a union. Subordinate bodies in unions do not encode velocities but encode relative positions.
Returns
void
void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
SquirmerParameters objparam 
)

Unmarshalling a squirmer primitive.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void
void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
BoxParameters objparam 
)

Unmarshalling a sphere primitive.

Unmarshalling a box primitive.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
hasSuperBodyFalse if body is not part of a union. Passed on to rigid body unmarshalling.
Returns
void
void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
EllipsoidParameters objparam 
)

Unmarshalling a Ellipsoid primitive.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
hasSuperBodyFalse if body is not part of a union. Passed on to rigid body unmarshalling.
Returns
void
void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
SphereParameters objparam 
)

Unmarshalling a sphere primitive.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
hasSuperBodyFalse if body is not part of a union. Passed on to rigid body unmarshalling.
Returns
void
void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
CapsuleParameters objparam 
)

Unmarshalling a capsule primitive.

Unmarshalling a box primitive.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
hasSuperBodyFalse if body is not part of a union. Passed on to rigid body unmarshalling.
Returns
void
void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
RigidBodyParameters objparam 
)

Unmarshalling rigid body parameters.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
hasSuperBodyFalse if body is not part of a union. Subordinate bodies in unions do not encode velocities but encode relative positions.
Returns
void
template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyVelocityUpdateNotification::Parameters objparam 
)
inline

Unmarshalling rigid body updates.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The update consists of the linear and angular velocities.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyRemovalInformationNotification::Parameters objparam 
)
inline

Unmarshaling rigid body removal information notifications.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The removal information notifications just consists of the system ID of the body to remove.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyForceNotification::Parameters objparam 
)
inline

Unmarshaling rigid body updates.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The update consists of the position, orientation and linear and angular velocities.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyVelocityCorrectionNotification::Parameters objparam 
)
inline

Unmarshalling rigid body updates.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The update consists of the linear and angular velocity corrections.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyNewShadowCopyNotification::Parameters objparam 
)
inline

Unmarshaling rigid body new shadow copy notifications.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The new shadow copy notifications just consists of the system ID of the body to remove.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyDeletionNotification::Parameters objparam 
)
inline

Unmarshaling rigid body deletion notifications.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The deletion notifications just consists of the system ID of the body to delete.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyRemovalNotification::Parameters objparam 
)
inline

Unmarshaling rigid body removal notifications.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The removal notifications just consists of the system ID of the body to remove.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyMigrationNotification::Parameters objparam 
)
inline

Unmarshaling rigid body migration notifications.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The migration notifications just consists of the system ID of the body migrating.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
NotificationType type 
)
inline

TODO.

Returns
void
void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
UnionParameters objparam 
)
inline

Unmarshalling a box primitive.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
hasSuperBodyFalse if body is not part of a union. Passed on to rigid body unmarshalling.
Returns
void
template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyRemoteMigrationNotification::Parameters objparam 
)
inline

Unmarshaling rigid body remote migration notifications.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The remote migration notifications just consists of the system ID of the body migrating and the rank of the process it is migrating to.

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
RigidBodyCopyNotification::Parameters objparam 
)
inline

Unmarshaling rigid body copies.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

TODO

template<typename Buffer >
void walberla::pe::communication::unmarshal ( Buffer &  buffer,
typename RigidBodyUpdateNotification::Parameters objparam 
)
inline

Unmarshalling rigid body updates.

Parameters
bufferThe buffer from where to read.
objparamThe object to be reconstructed.
Returns
void

The update consists of the position, orientation and linear and angular velocities and the list of shadow copy holders.

void walberla::pe::communication::unmarshal ( mpi::RecvBuffer buffer,
GeomPrimitiveParameters objparam 
)

Unmarshalling parameters of a geometric primitive.

Parameters
bufferThe buffer to be filled.
objThe object to be marshalled.
hasSuperBodyFalse if body is not part of a union. Passed on to rigid body unmarshalling.
Returns
void