Go to the documentation of this file.
14 #ifndef ESYS_LSMBODYFORCEGROUP_H
15 #define ESYS_LSMBODYFORCEGROUP_H
38 const std::string &
getName()
const;
75 BuoyancyIGP(
const std::string &name,
const Vec3 &acceleration,
const double &fluidDensity,
const double &fluidHeight);
98 template <
class TmplParticle>
124 void applyForce(TmplParticle &particle)
const;
142 template <
class TmplParticle>
168 void applyForce(TmplParticle &particle)
const;
BuoyancyForceGroup(const BuoyancyIGP &prms, ParticleArray &particleArray)
Definition: BodyForceGroup.hpp:68
const std::string & getName() const
Definition: BodyForceGroup.cpp:39
double m_fluidHeight
Definition: BodyForceGroup.h:184
BodyForceIGP()
Definition: BodyForceGroup.cpp:20
Definition: BodyForceGroup.h:68
~BodyForceGroup()
Definition: BodyForceGroup.hpp:32
GravityIGP(const std::string &name, const Vec3 &acceleration)
Definition: BodyForceGroup.h:58
MPI send/recv buffer with automagically adjusted size.
Definition: mpivbuf.h:35
void applyForce(TmplParticle &particle) const
Definition: BodyForceGroup.hpp:48
Definition: BodyForceGroup.h:27
Vec3 m_acceleration
Definition: BodyForceGroup.h:138
Vec3 m_acceleration
Definition: BodyForceGroup.h:47
static BodyForceIGP extract(CVarMPIBuffer *pBuffer)
Definition: BodyForceGroup.cpp:52
double m_fluidDensity
Definition: BodyForceGroup.h:91
virtual void packInto(CVarMPIBuffer *pBuffer) const
Definition: BodyForceGroup.cpp:82
Definition: BodyForceGroup.h:51
virtual void Update(ParallelParticleArray< TmplParticle > *particleArray)
Definition: BodyForceGroup.hpp:37
const double & getFluidHeight() const
Definition: BodyForceGroup.cpp:77
double m_fluidDensity
Definition: BodyForceGroup.h:184
virtual std::string getTypeString() const
Definition: BodyForceGroup.h:77
~BuoyancyForceGroup()
Definition: BodyForceGroup.hpp:80
virtual void append(int)
Definition: mpivbuf.cpp:152
ParticleArray::ParticleListIterator ParticleIterator
Definition: BodyForceGroup.h:147
BuoyancyIGP()
Definition: BodyForceGroup.h:71
ParallelParticleArray< TmplParticle > ParticleArray
Definition: BodyForceGroup.h:102
Vec3 getForce(double mass) const
Definition: BodyForceGroup.hpp:42
virtual void packInto(CVarMPIBuffer *pBuffer) const
Definition: BodyForceGroup.cpp:44
Abstract base class for a group of interactions.
Definition: InteractionGroup.h:35
VEC3_INLINE double & X()
Definition: vec3.h:119
void applyForce(TmplParticle &particle) const
Definition: BodyForceGroup.hpp:95
NeighborTable< T >::particlelist::iterator ParticleListIterator
Definition: pp_array.h:80
Definition: CheckPointable.cpp:17
GravityIGP()
Definition: BodyForceGroup.h:54
parrallel particle storage array with neighborsearch and variable exchange
Definition: pp_array.h:75
ParticleArray * m_pParticleArray
Definition: BodyForceGroup.h:139
virtual double pop_double()
Definition: mpivbuf.cpp:210
VEC3_INLINE double & Z()
Definition: vec3.h:121
virtual ~BodyForceIGP()
Definition: BodyForceGroup.cpp:30
Definition: BodyForceGroup.h:100
ParticleArray * m_pParticleArray
Definition: BodyForceGroup.h:183
virtual void setTimeStepSize(double dt)
Definition: BodyForceGroup.h:131
VEC3_INLINE double & Y()
Definition: vec3.h:120
ParallelParticleArray< TmplParticle > ParticleArray
Definition: BodyForceGroup.h:146
virtual std::string getTypeString() const
Definition: BodyForceGroup.h:44
Vec3 m_acceleration
Definition: BodyForceGroup.h:90
static BuoyancyIGP extract(CVarMPIBuffer *pBuffer)
Definition: BodyForceGroup.cpp:92
Abstract base class for InteractionGroup parameters.
Definition: IGParam.h:29
virtual void Update(ParallelParticleArray< TmplParticle > *particleArray)
Definition: BodyForceGroup.hpp:164
virtual std::string getTypeString() const
Definition: BodyForceGroup.h:62
Vec3 getForce(double volume) const
Definition: BodyForceGroup.hpp:85
virtual void calcForces()
Definition: BodyForceGroup.hpp:150
virtual void setTimeStepSize(double dt)
Definition: BodyForceGroup.h:175
double m_fluidHeight
Definition: BodyForceGroup.h:91
Vec3 m_acceleration
Definition: BodyForceGroup.h:182
Definition: BodyForceGroup.h:144
BodyForceGroup(const BodyForceIGP &prms, ParticleArray &particleArray)
Definition: BodyForceGroup.hpp:22
const double & getFluidDensity() const
Definition: BodyForceGroup.cpp:72
const std::string & getName() const
Definition: IGParam.h:42
const Vec3 & getAcceleration() const
Definition: BodyForceGroup.cpp:34
const Vec3 & getAcceleration() const
Definition: BodyForceGroup.cpp:67
virtual std::string pop_string()
Definition: mpivbuf.cpp:233
virtual void calcForces()
Definition: BodyForceGroup.hpp:54
ParticleArray::ParticleListIterator ParticleIterator
Definition: BodyForceGroup.h:103
const std::string & Name() const
Definition: IGParam.h:44