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;
virtual void setTimeStepSize(double dt)
Definition: BodyForceGroup.h:131
double m_fluidHeight
Definition: BodyForceGroup.h:184
Vec3 m_acceleration
Definition: BodyForceGroup.h:138
ParallelParticleArray< TmplParticle > ParticleArray
Definition: BodyForceGroup.h:146
ParticleArray * m_pParticleArray
Definition: BodyForceGroup.h:183
virtual ~BodyForceIGP()
Definition: BodyForceGroup.cpp:30
ParallelParticleArray< TmplParticle > ParticleArray
Definition: BodyForceGroup.h:102
Abstract base class for InteractionGroup parameters.
Definition: IGParam.h:28
BuoyancyIGP()
Definition: BodyForceGroup.h:71
BodyForceIGP()
Definition: BodyForceGroup.cpp:20
Vec3 getForce(double volume) const
Definition: BodyForceGroup.hpp:85
Definition: BodyForceGroup.h:143
GravityIGP()
Definition: BodyForceGroup.h:54
virtual std::string getTypeString() const
Definition: BodyForceGroup.h:44
Definition: BodyForceGroup.h:99
Definition: BodyForceGroup.h:26
BodyForceGroup(const BodyForceIGP &prms, ParticleArray &particleArray)
Definition: BodyForceGroup.hpp:22
ParticleArray * m_pParticleArray
Definition: BodyForceGroup.h:139
Definition: BodyForceGroup.h:67
~BodyForceGroup()
Definition: BodyForceGroup.hpp:32
virtual void Update(ParallelParticleArray< TmplParticle > *particleArray)
Definition: BodyForceGroup.hpp:37
Definition: CheckPointable.cpp:16
void applyForce(TmplParticle &particle) const
Definition: BodyForceGroup.hpp:48
virtual std::string getTypeString() const
Definition: BodyForceGroup.h:62
parrallel particle storage array with neighborsearch and variable exchange
Definition: SubLattice.h:61
Vec3 m_acceleration
Definition: BodyForceGroup.h:182
double m_fluidHeight
Definition: BodyForceGroup.h:91
const double & getFluidHeight() const
Definition: BodyForceGroup.cpp:77
const Vec3 & getAcceleration() const
Definition: BodyForceGroup.cpp:34
virtual std::string getTypeString() const
Definition: BodyForceGroup.h:77
Abstract base class for a group of interactions.
Definition: InteractionGroup.h:34
BuoyancyForceGroup(const BuoyancyIGP &prms, ParticleArray &particleArray)
Definition: BodyForceGroup.hpp:68
virtual void packInto(CVarMPIBuffer *pBuffer) const
Definition: BodyForceGroup.cpp:82
virtual void Update(ParallelParticleArray< TmplParticle > *particleArray)
Definition: BodyForceGroup.hpp:164
const std::string & getName() const
Definition: BodyForceGroup.cpp:39
MPI send/recv buffer with automagically adjusted size.
Definition: mpivbuf.h:34
static BuoyancyIGP extract(CVarMPIBuffer *pBuffer)
Definition: BodyForceGroup.cpp:92
virtual void calcForces()
Definition: BodyForceGroup.hpp:54
double m_fluidDensity
Definition: BodyForceGroup.h:91
virtual void calcForces()
Definition: BodyForceGroup.hpp:150
const Vec3 & getAcceleration() const
Definition: BodyForceGroup.cpp:67
Vec3 m_acceleration
Definition: BodyForceGroup.h:90
static BodyForceIGP extract(CVarMPIBuffer *pBuffer)
Definition: BodyForceGroup.cpp:52
Vec3 m_acceleration
Definition: BodyForceGroup.h:47
double m_fluidDensity
Definition: BodyForceGroup.h:184
void applyForce(TmplParticle &particle) const
Definition: BodyForceGroup.hpp:95
Vec3 getForce(double mass) const
Definition: BodyForceGroup.hpp:42
ParticleArray::ParticleListIterator ParticleIterator
Definition: BodyForceGroup.h:103
virtual void setTimeStepSize(double dt)
Definition: BodyForceGroup.h:175
virtual void packInto(CVarMPIBuffer *pBuffer) const
Definition: BodyForceGroup.cpp:44
NeighborTable< T >::particlelist::iterator ParticleListIterator
Definition: pp_array.h:80
const double & getFluidDensity() const
Definition: BodyForceGroup.cpp:72
~BuoyancyForceGroup()
Definition: BodyForceGroup.hpp:80
Definition: BodyForceGroup.h:50
ParticleArray::ParticleListIterator ParticleIterator
Definition: BodyForceGroup.h:147
GravityIGP(const std::string &name, const Vec3 &acceleration)
Definition: BodyForceGroup.h:58