walberla::pe::Squirmer Class Reference

#include <Squirmer.h>

+ Inheritance diagram for walberla::pe::Squirmer:

Public Member Functions

Constructors
 Squirmer (id_t sid, id_t uid, const Vec3 &gpos, const Quat &q, real_t radius, real_t squirmerVelocity, real_t squirmerBeta, MaterialID material, const bool global, const bool communicating, const bool infiniteMass)
 Constructor for the Squirmer class. More...
 
Destructor
 ~Squirmer () override
 Destructor for the Squirmer class. More...
 
- Public Member Functions inherited from walberla::pe::Sphere
 Sphere (id_t sid, id_t uid, const Vec3 &gpos, const Quat &q, real_t radius, MaterialID material, const bool global, const bool communicating, const bool infiniteMass)
 Constructor for the Sphere class. More...
 
 Sphere (id_t const typeID, id_t sid, id_t uid, const Vec3 &gpos, const Quat &q, real_t radius, MaterialID material, const bool global, const bool communicating, const bool infiniteMass)
 
 ~Sphere () override
 Destructor for the Sphere class. More...
 
real_t getRadius () const
 Returns the radius of the sphere. More...
 
real_t getVolume () const override
 Returns the volume of the sphere. More...
 
void print (std::ostream &os, const char *tab) const override
 Output of the current state of a sphere. More...
 
real_t getRelDepth (real_t px, real_t py, real_t pz) const
 Calculates the depth of a point relative to the sphere's geometric center. More...
 
real_t getRelDepth (const Vec3 &rpos) const
 Calculates the depth of a point relative to the sphere's geometric center. More...
 
real_t getDepth (real_t px, real_t py, real_t pz) const
 Calculates the depth of a point in global coordinates. More...
 
real_t getDepth (const Vec3 &gpos) const
 Calculates the depth of a point in global coordinates. More...
 
real_t getRelDistance (real_t px, real_t py, real_t pz) const
 Calculates the distance of a point relative to the sphere's frame of reference. More...
 
real_t getRelDistance (const Vec3 &rpos) const
 Calculates the distance of a point relative to the sphere's frame of reference. More...
 
real_t getDistance (real_t px, real_t py, real_t pz) const
 Calculates the distance of a point in global coordinates. More...
 
real_t getDistance (const Vec3 &gpos) const
 Calculates the distance of a point in global coordinates. More...
 
Vec3 support (const Vec3 &d) const override
 Estimates the point which is farthest in direction d. More...
 
- Public Member Functions inherited from walberla::pe::GeomPrimitive
MaterialID getMaterial () const
 Returns the material of the geometric primitive. More...
 
- Public Member Functions inherited from walberla::pe::RigidBody
virtual ~RigidBody ()=0
 Destructor for the RigidBody class. More...
 
void wake ()
 Waking the rigid body and ending the sleep mode. More...
 
void calcMotion ()
 Calculating the current motion of a rigid body. More...
 
bool hasManager () const
 Returns whether the rigid body currently has a supervising rigid body manager. More...
 
ManagerID getManager ()
 Returns the supervising rigid body manager of the rigid body. More...
 
ConstManagerID getManager () const
 
bool hasSuperBody () const
 Returns whether the rigid body is contained in a superordinate body. More...
 
BodyID getSuperBody ()
 Returns the superordinate body in which the rigid body is contained. More...
 
ConstBodyID getSuperBody () const
 
BodyID getTopSuperBody ()
 Returns the top level superordinate body in which the rigid body is contained. More...
 
ConstBodyID getTopSuperBody () const
 
virtual bool hasSubBodies () const
 
bool isFinite () const
 Returns whether the rigid body is finite or not. More...
 
bool isAwake () const
 Returns whether the rigid body is awake or not. More...
 
bool isFixed () const
 Returns whether the rigid body's position is fixed or not. More...
 
bool hasInfiniteMass () const
 Checks if a body is "mobile" e.g. More...
 
bool isVisible () const
 Returns whether the rigid body is visible or not. More...
 
bool isMarkedForDeletion () const
 
id_t getSystemID () const
 Returns the unique system-specific ID of the rigid body. More...
 
id_t getID () const
 Returns the user-specific ID of the rigid body. More...
 
const Vec3 getRelPosition () const
 Returns the relative position of the rigid body within the superordinate body. More...
 
const Vec3 getPosition () const
 Returns the global position of the center of mass of the rigid body. More...
 
const Vec3 getBodyLinearVel () const
 Returns the relative linear velocity of the rigid body. More...
 
const Vec3 getLinearVel () const
 Returns the global linear velocity of the rigid body. More...
 
const Vec3 getBodyAngularVel () const
 Returns the relative angular velocity. More...
 
const Vec3getAngularVel () const
 Returns the global angular velocity. More...
 
const Quat getRelQuaternion () const
 Returns the relative orientation of the rigid body to its superbody. More...
 
const Quat getQuaternion () const
 Returns the orientation of the rigid body. More...
 
const Mat3 getRotation () const
 Returns the rotation of the rigid body. More...
 
real_t getMass () const
 Returns the total mass of the rigid body. More...
 
real_t getInvMass () const
 Returns the inverse total mass of the rigid body. More...
 
const Mat3getBodyInertia () const
 Returns the moment of inertia in reference to the body frame of the rigid body. More...
 
const Mat3 getInertia () const
 Returns the moment of inertia in reference to the global world frame. More...
 
const Mat3getInvBodyInertia () const
 Returns the inverse moment of inertia in reference to the body frame of the rigid body. More...
 
const Mat3 getInvInertia () const
 Returns the inverse moment of inertia in reference to the global world frame. More...
 
const AABB & getAABB () const
 Returns the axis-aligned bounding box of the rigid body. More...
 
real_t getAABBSize () const
 Returns the length of the longest side of the AABB of the rigid body. More...
 
real_t getKineticEnergy () const
 Returns the kinetic energy of the rigid body. More...
 
real_t getRotationalEnergy () const
 Returns the rotational energy of the rigid body. More...
 
real_t getEnergy () const
 Returns the energy of the rigid body. More...
 
const Vec3 vectorFromBFtoWF (real_t vx, real_t vy, real_t vz) const
 Transformation from a relative to a global vector. More...
 
const Vec3 vectorFromBFtoWF (const Vec3 &v) const
 Transformation from a relative to a global vector. More...
 
const Vec3 pointFromBFtoWF (real_t px, real_t py, real_t pz) const
 Transformation from a relative to a global coordinate. More...
 
const Vec3 pointFromBFtoWF (const Vec3 &rpos) const
 Transformation from a relative to a global coordinate. More...
 
const Vec3 vectorFromWFtoBF (real_t vx, real_t vy, real_t vz) const
 Transformation from a global to a relative vector. More...
 
const Vec3 vectorFromWFtoBF (const Vec3 &v) const
 Transformation from a global to a relative vector. More...
 
const Vec3 pointFromWFtoBF (real_t px, real_t py, real_t pz) const
 Transformation from a global to a relative coordinate. More...
 
const Vec3 pointFromWFtoBF (const Vec3 &gpos) const
 Transformation from a global to a relative coordinate. More...
 
const Vec3 accFromWF (real_t px, real_t py, real_t pz) const
 Calculation of the global acceleration of a point in global coordinates. More...
 
const Vec3 accFromWF (const Vec3 &gpos) const
 Calculation of the global acceleration of a point in global coordinates. More...
 
id_t getTypeID () const
 
void translate (real_t dx, real_t dy, real_t dz)
 Translation of the center of mass of the rigid body by the displacement vector. More...
 
void translate (const Vec3 &dp)
 Translation of the center of mass of the rigid body by the displacement vector dp. More...
 
void rotate (real_t x, real_t y, real_t z, real_t angle)
 Rotation of the rigid body around the global rotation axis (x,y,z) by the rotation angle angle. More...
 
void rotate (const Vec3 &axis, real_t angle)
 Rotation of the rigid body around the specified global rotation axis by the rotation. More...
 
void rotate (real_t xangle, real_t yangle, real_t zangle)
 Rotation of the rigid body by the Euler angles xangle, yangle and zangle. More...
 
void rotate (const Vec3 &euler)
 Rotation of the rigid body by the Euler angles euler. More...
 
void rotate (const Quat &dq)
 Rotation of the rigid body by the quaternion dq. More...
 
void rotateAroundOrigin (real_t x, real_t y, real_t z, real_t angle)
 Rotation of the rigid body around the origin of the global world frame. More...
 
void rotateAroundOrigin (const Vec3 &axis, real_t angle)
 Rotation of the rigid body around the origin of the global world frame. More...
 
void rotateAroundOrigin (real_t xangle, real_t yangle, real_t zangle)
 Rotation of the rigid body around the origin of the global world frame. More...
 
void rotateAroundOrigin (const Vec3 &euler)
 Rotation of the rigid body around the origin of the global world frame. More...
 
void rotateAroundOrigin (const Quat &dq)
 Rotation of the rigid body around the origin of the global world frame. More...
 
void rotateAroundPoint (const Vec3 &point, const Vec3 &axis, real_t angle)
 Rotation of the rigid body around a specific global coordinate. More...
 
void rotateAroundPoint (const Vec3 &point, const Vec3 &euler)
 Rotation of the rigid body around a specific global coordinate. More...
 
bool containsRelPoint (real_t px, real_t py, real_t pz) const
 Checks, whether a point in body relative coordinates lies inside the rigid body. More...
 
bool containsRelPoint (const Vec3 &rpos) const
 Checks, whether a point in body relative coordinates lies inside the rigid body. More...
 
bool containsPoint (real_t px, real_t py, real_t pz) const
 Checks, whether a point in global coordinates lies inside the rigid body. More...
 
bool containsPoint (const Vec3 &gpos) const
 Checks, whether a point in global coordinates lies inside the rigid body. More...
 
bool isSurfaceRelPoint (real_t px, real_t py, real_t pz) const
 Checks, whether a point in relative coordinates lies on the surface of the rigid body. More...
 
bool isSurfaceRelPoint (const Vec3 &rpos) const
 Checks, whether a point in body relative coordinates lies on the surface of the rigid body. More...
 
bool isSurfacePoint (real_t px, real_t py, real_t pz) const
 Checks, whether a point in global coordinates lies on the surface of the rigid body. More...
 
bool isSurfacePoint (const Vec3 &gpos) const
 Checks, whether a point in global coordinates lies on the surface of the rigid body. More...
 
virtual Vec3 supportContactThreshold (const Vec3 &d) const
 Estimates the point which is farthest in direction d. More...
 
bool hasForce () const
 Returns whether the rigid body has non-zero acting forces or torques. More...
 
const Vec3getForce () const
 Returns the current force acting on the body's center of mass. More...
 
const Vec3getTorque () const
 Returns the current torque acting on the body's center of mass. More...
 
void setForce (const Vec3 &f)
 Set the force acting at the body's center of mass. More...
 
void setTorque (const Vec3 &tau)
 Set the torque acting at the body's center of mass. More...
 
void addRelForce (real_t fx, real_t fy, real_t fz)
 Increases the total force acting in the body's center of mass. More...
 
void addRelForce (const Vec3 &f)
 Increases the force acting in the body's center of mass. More...
 
void addForce (real_t fx, real_t fy, real_t fz)
 Increases the force acting in the body's center of mass. More...
 
void addForce (const Vec3 &f)
 Increases the force acting in the body's center of mass. More...
 
void addRelForceAtRelPos (real_t fx, real_t fy, real_t fz, real_t px, real_t py, real_t pz)
 Increases the force acting in the body's center of mass. More...
 
void addRelForceAtRelPos (const Vec3 &f, const Vec3 &rpos)
 Increases the force acting in the body's center of mass. More...
 
void addRelForceAtPos (real_t fx, real_t fy, real_t fz, real_t px, real_t py, real_t pz)
 Increases the force acting in the body's center of mass. More...
 
void addRelForceAtPos (const Vec3 &f, const Vec3 &gpos)
 Increases the force acting in the body's center of mass. More...
 
void addForceAtRelPos (real_t fx, real_t fy, real_t fz, real_t px, real_t py, real_t pz)
 Increases the force acting in the body's center of mass. More...
 
void addForceAtRelPos (const Vec3 &f, const Vec3 &rpos)
 Increases the force acting in the body's center of mass. More...
 
void addForceAtPos (real_t fx, real_t fy, real_t fz, real_t px, real_t py, real_t pz)
 Increases the force acting in the body's center of mass. More...
 
void addForceAtPos (const Vec3 &f, const Vec3 &gpos)
 Increases the force acting in the body's center of mass. More...
 
void addTorque (real_t tx, real_t ty, real_t tz)
 Increasing the torque acting in the body's center of mass. More...
 
void addTorque (const Vec3 &t)
 Increasing the torque acting in the body's center of mass. More...
 
virtual void resetForceAndTorque ()
 Resetting all acting forces and torques from the rigid body. More...
 
void addImpulse (real_t jx, real_t jy, real_t jz)
 Applying an impulse in the body's center of mass. More...
 
void addImpulse (const Vec3 &j)
 Applying an impulse in the body's center of mass. More...
 
void addImpulseAtPos (real_t jx, real_t jy, real_t jz, real_t px, real_t py, real_t pz)
 Applying an impulse at the given global coordinate. More...
 
void addImpulseAtPos (const Vec3 &j, const Vec3 &p)
 Applying an impulse at the given global coordinate. More...
 
bool isRemote () const
 Returns whether the rigid body is remote or not. More...
 
virtual void setRemote (bool remote)
 Setting the remote flag of the rigid body. More...
 
bool isGlobal () const
 Returns whether the rigid body is global or not. More...
 
void setGlobal (const bool global)
 Setting the global flag of the rigid body. More...
 
bool isCommunicating () const
 Returns whether the rigid body is local or not. More...
 
void setCommunicating (const bool communicating)
 Setting the local flag of the rigid body. More...
 
virtual bool checkInvariants ()
 Checks the validity of the state of the rigid body. More...
 
void setSB (BodyID body)
 Sets the super body for the current body. More...
 
void resetSB ()
 Resets the super body for the current body. More...
 
void setFinite (const bool finite)
 
void setVisible (bool visible)
 Setting the rigid body visible/invisible. More...
 
void setPosition (real_t px, real_t py, real_t pz)
 Setting the global position of the rigid body. More...
 
void setPosition (const Vec3 &gpos)
 Setting the global position of the rigid body. More...
 
void setRelPosition (const Vec3 &gpos)
 Setting the global position of the rigid body. More...
 
void setOrientation (real_t r, real_t i, real_t j, real_t k)
 Setting the global orientation of the rigid body. More...
 
void setOrientation (const Quat &q)
 Setting the global orientation of the rigid body. More...
 
void setRelOrientation (const Quat &q)
 Setting the relative position of the rigid body. More...
 
void setMassAndInertiaToInfinity ()
 Setting the mass to infinity. This will also make the inertia tensor infinite. More...
 
void setRelLinearVel (real_t vx, real_t vy, real_t vz)
 Setting the relative linear velocity of the rigid body. More...
 
void setRelLinearVel (const Vec3 &lvel)
 
void setLinearVel (real_t vx, real_t vy, real_t vz)
 Setting the global linear velocity of the rigid body. More...
 
void setLinearVel (const Vec3 &lvel)
 /see setLinearVel( real_t vx, real_t vy, real_t vz ) More...
 
void setRelAngularVel (real_t ax, real_t ay, real_t az)
 Setting the relative angular velocity of the rigid body. More...
 
void setRelAngularVel (const Vec3 &avel)
 /see setRelAngularVel( real_t ax, real_t ay, real_t az ) More...
 
void setAngularVel (real_t ax, real_t ay, real_t az)
 Setting the global angular velocity of the rigid body. More...
 
void setAngularVel (const Vec3 &avel)
 /see setAngularVel( real_t ax, real_t ay, real_t az ) More...
 
void markForDeletion ()
 Marks the rigid body for deletion during the next synchronization. More...
 
- Public Member Functions inherited from walberla::pe::ccd::HashGridsBodyTrait
void * getGrid () const
 Returns the grid the rigid body is currently assigned to. More...
 
size_t getHash () const
 Returns the current hash value of the rigid body. More...
 
size_t getCellId () const
 Returns the current body container index within the cell the body is currently assigned to. More...
 
void setGrid (void *grid)
 Setting the grid the rigid body is associated with. More...
 
void setHash (size_t hash)
 Setting the hash value of the rigid body. More...
 
void setCellId (size_t cell)
 Setting the body container index within the cell the body is currently assigned to. More...
 

Get functions

real_t getSquirmerVelocity () const
 Returns the squirmer's velocity. More...
 
real_t getSquirmerBeta () const
 Returns the squirmer's dipole characteristic. More...
 
Vec3 velFromBF (real_t px, real_t py, real_t pz) const override
 Calculation of the global velocity of a relative point. More...
 
Vec3 velFromBF (const Vec3 &rpos) const override
 Calculation of the global velocity of a relative point. More...
 
Vec3 velFromWF (real_t px, real_t py, real_t pz) const override
 Calculation of the global velocity of a point in global coordinates. More...
 
Vec3 velFromWF (const Vec3 &gpos) const override
 Calculation of the global velocity of a point in global coordinates. More...
 
static id_t getStaticTypeID ()
 Returns unique type id of this type. More...
 
Vec3 getSquirmerVelocity (const Vec3 &rpos) const
 Returns the squirmer's surface velocity at a given relative position. More...
 

Member variables

real_t squirmerVelocity_
 Velocity of the squirmer. More...
 
real_t squirmerBeta_
 Dipolar character of the squirmer. More...
 
static id_t staticTypeID_ = std::numeric_limits<id_t>::max()
 
template<class T , int N>
struct SetBodyTypeIDs
 needed to be able to set static type ids with setStaticTypeID More...
 
static void setStaticTypeID (id_t typeID)
 

Additional Inherited Members

- Static Public Member Functions inherited from walberla::pe::Sphere
static real_t calcVolume (real_t radius)
 Calculates the volume of a sphere for a given radius. More...
 
static real_t calcMass (real_t radius, real_t density)
 Calculates the mass of a sphere for a given radius and density. More...
 
static real_t calcDensity (real_t radius, real_t mass)
 Calculates the density of a sphere for a given radius and mass. More...
 
static Mat3 calcInertia (const real_t mass, const real_t radius)
 Calculation of the moment of inertia in reference to the body frame of the sphere. More...
 
static id_t getStaticTypeID ()
 Returns unique type id of this type. More...
 
- Public Attributes inherited from walberla::pe::RigidBody
MPIRigidBodyTrait MPITrait
 
- Public Attributes inherited from walberla::pe::cr::HCSITSBodyTrait
size_t index_
 
- Protected Member Functions inherited from walberla::pe::Sphere
bool containsRelPointImpl (real_t px, real_t py, real_t pz) const override
 Checks, whether a point in body relative coordinates lies inside the sphere. More...
 
bool isSurfaceRelPointImpl (real_t px, real_t py, real_t pz) const override
 Checks, whether a point in body relative coordinates lies on the surface of the sphere. More...
 
void calcBoundingBox () override
 Calculation of the bounding box of the sphere. More...
 
- Protected Member Functions inherited from walberla::pe::GeomPrimitive
 GeomPrimitive (id_t const typeID, id_t sid, id_t uid, MaterialID material)
 Constructor for the GeomPrimitive class. More...
 
 ~GeomPrimitive () override=0
 Destructor for the Primitive class. More...
 
- Protected Member Functions inherited from walberla::pe::RigidBody
virtual void fix ()
 Setting the global position (the center of mass) of the rigid body fixed. More...
 
void signalModification ()
 Signals an internal modification of a contained subordinate body. More...
 
void signalTranslation ()
 Signals a position change of a contained subordinate body. More...
 
void signalRotation ()
 Signals an orientation change of a contained subordinate body. More...
 
void signalFixation ()
 Signals a fixation change of a contained subordinate body. More...
 
virtual void handleModification ()
 Handling an internal modification of a contained subordinate body. More...
 
virtual void handleTranslation ()
 Handling a position change of a contained subordinate body. More...
 
virtual void handleRotation ()
 Handling an orientation change of a contained subordinate body. More...
 
virtual void handleFixation ()
 Handling a fixation change of a contained subordinate body. More...
 
 RigidBody (id_t const typeID, id_t sid, id_t uid)
 Constructor for the RigidBody class. More...
 
virtual void setPositionImpl (real_t px, real_t py, real_t pz)
 
virtual void setOrientationImpl (real_t r, real_t i, real_t j, real_t k)
 Setting the global orientation of the rigid body. More...
 
virtual void translateImpl (real_t dx, real_t dy, real_t dz)
 Translation of the center of mass of the rigid body by the displacement vector. More...
 
virtual void rotateImpl (const Quat &dq)
 Implements the rotation of a rigid body. More...
 
virtual void rotateAroundOriginImpl (const Quat &dq)
 Implements the rotation of a rigid body. More...
 
virtual void rotateAroundPointImpl (const Vec3 &point, const Quat &dq)
 Rotation of the rigid body around a specific global coordinate. More...
 
void setMassAndInertia (const real_t mass, const Mat3 &inertia)
 Sets mass and inertia of a rigid body. More...
 
- Protected Member Functions inherited from walberla::pe::ccd::HashGridsBodyTrait
 HashGridsBodyTrait ()
 Constructor for the BodyTrait<HashGrids> specialization. More...
 
- Protected Attributes inherited from walberla::pe::Sphere
real_t radius_
 Radius of the sphere. More...
 
- Protected Attributes inherited from walberla::pe::GeomPrimitive
MaterialID material_
 The material of the geometric primitive. More...
 
- Protected Attributes inherited from walberla::pe::RigidBody
bool awake_
 Sleep mode flag. More...
 
real_t mass_
 The total mass of the rigid body. More...
 
real_t invMass_
 The inverse total mass of the rigid body. More...
 
real_t motion_
 The current motion of the rigid body. More...
 
Vec3 v_
 The linear velocity of this rigid body. More...
 
Vec3 w_
 Angular velocity of this rigid body. More...
 
Vec3 force_
 Total force (external+contact) acting in the body's center of mass. More...
 
Vec3 torque_
 Total torque (external+contact) acting in the body's center of mass. More...
 
Mat3 I_
 The moment of inertia in reference to the body's own body frame. More...
 
Mat3 Iinv_
 The inverse moment of inertia within the body frame. More...
 
ManagerID manager_
 The rigid body manager responsible for the rigid body. More...
 
BodyID sb_
 The superordinate rigid body. More...
 
bool finite_
 Finiteness flag. More...
 
bool visible_
 Visibility flag. More...
 
bool remote_
 Remote flag. More...
 
bool communicating_
 Communicating flag. More...
 
bool global_
 Global flag. More...
 
bool toBeDeleted_
 This flag marks the body for deletion during the next synchronization (only works on local bodies) More...
 
id_t sid_
 The unique system-specific body ID. More...
 
id_t uid_
 The user-specific body ID. More...
 
AABB aabb_
 Axis-aligned bounding box for the rigid body. More...
 
- Protected Attributes inherited from walberla::pe::ccd::HashGridsBodyTrait
void * grid_
 Pointer to the hash grid this rigid body is currently assigned to. More...
 
size_t hash_
 Current hash value of this rigid body. More...
 
size_t cellId_
 The body's index in the body container of the grid cell this rigid body is currently assigned to. More...
 

Constructor & Destructor Documentation

◆ Squirmer()

walberla::pe::Squirmer::Squirmer ( id_t  sid,
id_t  uid,
const Vec3 gpos,
const Quat q,
real_t  radius,
real_t  squirmerVelocity,
real_t  squirmerBeta,
MaterialID  material,
const bool  global,
const bool  communicating,
const bool  infiniteMass 
)
explicit

Constructor for the Squirmer class.

Parameters
sidUnique system-specific ID for the sphere.
uidUser-specific ID for the sphere.
gposGlobal geometric center of the sphere.
qThe orientation of the sphere's body frame in the global world frame.
radiusThe radius of the sphere \( (0..\infty) \).
squirmerVelocityThe velocity of the squirmer.
squirmerBetaThe dipolar characteristic of the squirmer.
materialThe material of the sphere.
globalspecifies if the sphere should be created in the global storage
communicatingspecifies if the sphere should take part in synchronization (syncNextNeighbour, syncShadowOwner)
infiniteMassspecifies if the sphere has infinite mass and will be treated as an obstacle

◆ ~Squirmer()

walberla::pe::Squirmer::~Squirmer ( )
override

Destructor for the Squirmer class.

Member Function Documentation

◆ getSquirmerBeta()

real_t walberla::pe::Squirmer::getSquirmerBeta ( ) const
inline

Returns the squirmer's dipole characteristic.

Returns
The dipole characteristic of the squirmer.

◆ getSquirmerVelocity() [1/2]

real_t walberla::pe::Squirmer::getSquirmerVelocity ( ) const
inline

Returns the squirmer's velocity.

Returns
The velocity of the squirmer.

◆ getSquirmerVelocity() [2/2]

Vec3 walberla::pe::Squirmer::getSquirmerVelocity ( const Vec3 rpos) const
protected

Returns the squirmer's surface velocity at a given relative position.

Parameters
rposThe relative global coordinate.
Returns
The local surface velocity of the squirmer.

◆ getStaticTypeID()

id_t walberla::pe::Squirmer::getStaticTypeID ( )
inlinestatic

Returns unique type id of this type.

Returns
geometry specific type id

◆ setStaticTypeID()

static void walberla::pe::Squirmer::setStaticTypeID ( id_t  typeID)
inlinestaticprivate

◆ velFromBF() [1/2]

Vec3 walberla::pe::Squirmer::velFromBF ( const Vec3 rpos) const
inlineoverridevirtual

Calculation of the global velocity of a relative point.

Parameters
rposThe relative coordinate.
Returns
The global velocity.

The function calculates the global velocity of a point relative to the body's center of mass.

Reimplemented from walberla::pe::RigidBody.

◆ velFromBF() [2/2]

Vec3 walberla::pe::Squirmer::velFromBF ( real_t  px,
real_t  py,
real_t  pz 
) const
inlineoverridevirtual

Calculation of the global velocity of a relative point.

Parameters
pxThe x-component of the relative coordinate.
pyThe y-component of the relative coordinate.
pzThe z-component of the relative coordinate.
Returns
The global velocity.

The function calculates the global velocity of a point relative to the body's center of mass.

Reimplemented from walberla::pe::RigidBody.

◆ velFromWF() [1/2]

Vec3 walberla::pe::Squirmer::velFromWF ( const Vec3 gpos) const
inlineoverridevirtual

Calculation of the global velocity of a point in global coordinates.

Parameters
gposThe global coordinate.
Returns
The global velocity.

The function calculates the global velocity of a point in global coordinates.

Reimplemented from walberla::pe::RigidBody.

◆ velFromWF() [2/2]

Vec3 walberla::pe::Squirmer::velFromWF ( real_t  px,
real_t  py,
real_t  pz 
) const
inlineoverridevirtual

Calculation of the global velocity of a point in global coordinates.

Parameters
pxThe x-component of the global coordinate.
pyThe y-component of the global coordinate.
pzThe z-component of the global coordinate.
Returns
The global velocity.

The function calculates the global velocity of a point in global coordinates.

Reimplemented from walberla::pe::RigidBody.

Friends And Related Function Documentation

◆ SetBodyTypeIDs

template<class T , int N>
friend struct SetBodyTypeIDs
friend

needed to be able to set static type ids with setStaticTypeID

Member Data Documentation

◆ squirmerBeta_

real_t walberla::pe::Squirmer::squirmerBeta_
protected

Dipolar character of the squirmer.

◆ squirmerVelocity_

real_t walberla::pe::Squirmer::squirmerVelocity_
protected

Velocity of the squirmer.

◆ staticTypeID_

id_t walberla::pe::Squirmer::staticTypeID_ = std::numeric_limits<id_t>::max()
staticprivate

The documentation for this class was generated from the following files: