ESyS-Particle  2.3.2
esys::lsm::BodyForceGroup< TmplParticle > Class Template Reference

#include <BodyForceGroup.h>

Inheritance diagram for esys::lsm::BodyForceGroup< TmplParticle >:
Collaboration diagram for esys::lsm::BodyForceGroup< TmplParticle >:

Public Types

typedef ParallelParticleArray
< TmplParticle > 
ParticleArray
typedef
ParticleArray::ParticleListIterator 
ParticleIterator

Public Member Functions

 BodyForceGroup (const BodyForceIGP &prms, ParticleArray &particleArray)
 ~BodyForceGroup ()
Vec3 getForce (double mass) const
void applyForce (TmplParticle &particle) const
virtual void Update (ParallelParticleArray< TmplParticle > *particleArray)
virtual void setTimeStepSize (double dt)
virtual void calcForces ()
- Public Member Functions inherited from AInteractionGroup< TmplParticle >
virtual ~AInteractionGroup ()

Private Attributes

Vec3 m_acceleration
ParticleArraym_pParticleArray

Detailed Description

template<class TmplParticle>
class esys::lsm::BodyForceGroup< TmplParticle >

Objects of this class apply a gravitational body-acceleration to individual particles.

Member Typedef Documentation

template<class TmplParticle>
typedef ParallelParticleArray<TmplParticle> esys::lsm::BodyForceGroup< TmplParticle >::ParticleArray
template<class TmplParticle>
typedef ParticleArray::ParticleListIterator esys::lsm::BodyForceGroup< TmplParticle >::ParticleIterator

Constructor & Destructor Documentation

template<class TmplParticle >
esys::lsm::BodyForceGroup< TmplParticle >::BodyForceGroup ( const BodyForceIGP prms,
ParticleArray particleArray 
)
template<class TmplParticle >
esys::lsm::BodyForceGroup< TmplParticle >::~BodyForceGroup ( )

Member Function Documentation

template<class TmplParticle >
void esys::lsm::BodyForceGroup< TmplParticle >::applyForce ( TmplParticle &  particle) const

Applies body force to the specified particle.

Parameters
particleForce applied to this particle using a call to particle.applyForce(...).
template<class TmplParticle >
void esys::lsm::BodyForceGroup< TmplParticle >::calcForces ( )
virtual
template<class TmplParticle >
Vec3 esys::lsm::BodyForceGroup< TmplParticle >::getForce ( double  mass) const

Returns the force which would be applied to a particle of the specified mass.

Parameters
massA mass ("units" assumed to be same as the acceleration units).
template<class TmplParticle>
virtual void esys::lsm::BodyForceGroup< TmplParticle >::setTimeStepSize ( double  dt)
inlinevirtual

Null op, time step size not required.

Implements AInteractionGroup< TmplParticle >.

template<class TmplParticle >
void esys::lsm::BodyForceGroup< TmplParticle >::Update ( ParallelParticleArray< TmplParticle > *  particleArray)
virtual

Member Data Documentation

template<class TmplParticle>
Vec3 esys::lsm::BodyForceGroup< TmplParticle >::m_acceleration
private
template<class TmplParticle>
ParticleArray* esys::lsm::BodyForceGroup< TmplParticle >::m_pParticleArray
private

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