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 ¢er, 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 ¬ification) |
template<class T > | |
void | packNotificationWithoutSender (const Owner &receiver, mpi::SendBuffer &sb, const T ¬ification) |
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 box primitive. More... | |
void | unmarshal (mpi::RecvBuffer &buffer, BoxParameters &objparam) |
Unmarshalling a box 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 box primitive. More... | |
void | unmarshal (mpi::RecvBuffer &buffer, CapsuleParameters &objparam) |
Unmarshalling a box 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... | |
Associate a unique number to notifications for identifying/tagging them.
|
inline |
std::unique_ptr<BodyT> walberla::pe::communication::instantiate | ( | mpi::RecvBuffer & | , |
const math::AABB & | , | ||
const math::AABB & | , | ||
BodyT *& | |||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
TODO.
|
inline |
Marshaling rigid body copies.
buffer | The buffer to be filled. |
obj | The object to be marshaled. |
TODO
|
inline |
Marshaling rigid body deletion notifications.
buffer | The buffer to be filled. |
obj | The object to be marshaled. |
The deletion notifications just consists of the system ID of the body to delete.
|
inline |
Marshaling rigid body force notifications.
buffer | The buffer to be filled. |
obj | The object to be marshaled. |
The force notification consists of the force and torque contribution to a body.
|
inline |
Marshaling rigid body migration notifications.
buffer | The buffer to be filled. |
obj | The object to be marshaled. |
The migration notifications just consists of the system ID of the body migrating.
|
inline |
Marshaling rigid body new shadow copy notifications.
buffer | The buffer to be filled. |
obj | The object to be marshaled. |
The new shadow copy notifications just consists of the system ID of the body to remove.
|
inline |
Marshaling rigid body remote migration notifications.
buffer | The buffer to be filled. |
obj | The object to be marshaled. |
The remote migration notifications just consists of the system ID of the body migrating and the rank of the process it is migrating to.
|
inline |
Marshaling rigid body removal information notifications.
buffer | The buffer to be filled. |
obj | The object to be marshaled. |
The removal information notifications just consists of the system ID of the body to remove.
|
inline |
Marshaling rigid body removal notifications.
buffer | The buffer to be filled. |
obj | The object to be marshaled. |
The removal notifications just consists of the system ID of the body to remove.
|
inline |
Marshalling rigid body updates.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
The update consists of the position, orientation and linear and angular velocities and the list of shadow copy holders.
|
inline |
Marshalling rigid body updates.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
The update consists of the linear and angular velocity corrections.
|
inline |
Marshalling rigid body updates.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
The update consists of the linear and angular velocities.
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const Box & | obj | ||
) |
Marshalling a box primitive.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const Capsule & | obj | ||
) |
Marshalling a box primitive.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const Ellipsoid & | obj | ||
) |
Marshalling a Ellipsoid primitive.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const GeomPrimitive & | obj | ||
) |
Marshalling parameters of a geometric primitive.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const MPIRigidBodyTrait & | obj | ||
) |
Marshalling rigid body parameters.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const RigidBody & | obj | ||
) |
Marshalling rigid body parameters.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const Sphere & | obj | ||
) |
Marshalling a sphere primitive.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const Squirmer & | obj | ||
) |
Marshalling a squirmer primitive.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
void walberla::pe::communication::marshal | ( | mpi::SendBuffer & | buffer, |
const Union< BodyTypes... > & | obj | ||
) |
Marshalling a box primitive.
buffer | The buffer to be filled. |
obj | The object to be marshalled. |
NotificationType walberla::pe::communication::notificationType | ( | ) |
Returns the notification type of the template parameter.
|
inline |
Returns the notification type of a rigid body copy.
|
inline |
Returns the notification type of a rigid body deletion.
|
inline |
Returns the notification type of a rigid body force notification.
|
inline |
Returns the notification type of a rigid body migration.
|
inline |
Returns the notification type of a rigid body new shadow copy notification.
|
inline |
Returns the notification type of a rigid body migration.
|
inline |
Returns the notification type of a rigid body removal information.
|
inline |
Returns the notification type of a rigid body removal.
|
inline |
Returns the notification type of a rigid body update.
|
inline |
Returns the notification type of a rigid body migration.
|
inline |
Returns the notification type of a rigid body migration.
|
inline |
|
inline |
|
inline |
|
inline |
void walberla::pe::communication::parseMessage | ( | Owner | sender, |
mpi::RecvBuffer & | rb, | ||
const domain_decomposition::BlockStorage & | blockStorage, | ||
IBlock & | block, | ||
BodyStorage & | localStorage, | ||
BodyStorage & | shadowStorage | ||
) |
|
inline |
TODO.
|
inline |
Unmarshaling rigid body copies.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
TODO
|
inline |
Unmarshaling rigid body deletion notifications.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The deletion notifications just consists of the system ID of the body to delete.
|
inline |
Unmarshaling rigid body updates.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The update consists of the position, orientation and linear and angular velocities.
|
inline |
Unmarshaling rigid body migration notifications.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The migration notifications just consists of the system ID of the body migrating.
|
inline |
Unmarshaling rigid body new shadow copy notifications.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The new shadow copy notifications just consists of the system ID of the body to remove.
|
inline |
Unmarshaling rigid body remote migration notifications.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The remote migration notifications just consists of the system ID of the body migrating and the rank of the process it is migrating to.
|
inline |
Unmarshaling rigid body removal information notifications.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The removal information notifications just consists of the system ID of the body to remove.
|
inline |
Unmarshaling rigid body removal notifications.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The removal notifications just consists of the system ID of the body to remove.
|
inline |
Unmarshalling rigid body updates.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The update consists of the linear and angular velocity corrections.
|
inline |
Unmarshalling rigid body updates.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
The update consists of the linear and angular velocities.
|
inline |
Unmarshalling rigid body updates.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
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, |
BoxParameters & | objparam | ||
) |
Unmarshalling a box primitive.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
void walberla::pe::communication::unmarshal | ( | mpi::RecvBuffer & | buffer, |
CapsuleParameters & | objparam | ||
) |
Unmarshalling a box primitive.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
void walberla::pe::communication::unmarshal | ( | mpi::RecvBuffer & | buffer, |
EllipsoidParameters & | objparam | ||
) |
Unmarshalling a Ellipsoid primitive.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
void walberla::pe::communication::unmarshal | ( | mpi::RecvBuffer & | buffer, |
GeomPrimitiveParameters & | objparam | ||
) |
Unmarshalling parameters of a geometric primitive.
buffer | The buffer to be filled. |
objparam | The object to be marshalled. |
void walberla::pe::communication::unmarshal | ( | mpi::RecvBuffer & | buffer, |
MPIRigidBodyTraitParameter & | objparam | ||
) |
Unmarshalling rigid body parameters.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
void walberla::pe::communication::unmarshal | ( | mpi::RecvBuffer & | buffer, |
RigidBodyParameters & | objparam | ||
) |
Unmarshalling rigid body parameters.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
void walberla::pe::communication::unmarshal | ( | mpi::RecvBuffer & | buffer, |
SphereParameters & | objparam | ||
) |
Unmarshalling a sphere primitive.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
void walberla::pe::communication::unmarshal | ( | mpi::RecvBuffer & | buffer, |
SquirmerParameters & | objparam | ||
) |
Unmarshalling a squirmer primitive.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |
|
inline |
Unmarshalling a box primitive.
buffer | The buffer from where to read. |
objparam | The object to be reconstructed. |