Class FluidModel
Defined in File FluidModel.h
Class Documentation
-
class FluidModel : public GenParam::ParameterObject
The fluid model stores the particle and simulation information.
Public Functions
-
FluidModel()
-
FluidModel(const FluidModel&) = delete
-
FluidModel &operator=(const FluidModel&) = delete
-
virtual ~FluidModel()
-
void init()
-
void deferredInit()
This function is called after the simulation scene is loaded and all parameters are initialized. While reading a scene file several parameters can change. The deferred init function should initialize all values which depend on these parameters.
-
inline std::string getId() const
- inline FORCE_INLINE Real getDensity0 () const
-
inline unsigned int getPointSetIndex() const
-
void addField(const FieldDescription &field)
-
inline const std::vector<FieldDescription> &getFields()
-
inline const FieldDescription &getField(const unsigned int i)
-
const FieldDescription &getField(const std::string &name)
-
inline const unsigned int numberOfFields()
-
void removeFieldByName(const std::string &fieldName)
-
void setNumActiveParticles(const unsigned int num)
-
inline unsigned int numberOfParticles() const
-
inline EmitterSystem *getEmitterSystem()
-
virtual void reset()
-
void performNeighborhoodSearchSort()
-
void initModel(const std::string &id, const unsigned int nFluidParticles, Vector3r *fluidParticles, Vector3r *fluidVelocities, unsigned int *fluidObjectIds, const unsigned int nMaxEmitterParticles)
-
inline const unsigned int numParticles() const
-
unsigned int numActiveParticles() const
-
inline unsigned int getNumActiveParticles0() const
-
inline void setNumActiveParticles0(unsigned int val)
-
void emittedParticles(const unsigned int startIndex)
-
inline unsigned int getSurfaceTensionMethod() const
-
void setSurfaceTensionMethod(const std::string &val)
-
void setSurfaceTensionMethod(const unsigned int val)
-
inline unsigned int getViscosityMethod() const
-
void setViscosityMethod(const std::string &val)
-
void setViscosityMethod(const unsigned int val)
-
inline unsigned int getVorticityMethod() const
-
void setVorticityMethod(const std::string &val)
-
void setVorticityMethod(const unsigned int val)
-
inline unsigned int getDragMethod() const
-
void setDragMethod(const std::string &val)
-
void setDragMethod(const unsigned int val)
-
inline unsigned int getElasticityMethod() const
-
void setElasticityMethod(const std::string &val)
-
void setElasticityMethod(const unsigned int val)
-
inline NonPressureForceBase *getSurfaceTensionBase()
-
inline NonPressureForceBase *getViscosityBase()
-
inline NonPressureForceBase *getVorticityBase()
-
inline NonPressureForceBase *getDragBase()
-
inline NonPressureForceBase *getElasticityBase()
-
void setDragMethodChangedCallback(std::function<void()> const &callBackFct)
-
void setSurfaceMethodChangedCallback(std::function<void()> const &callBackFct)
-
void setViscosityMethodChangedCallback(std::function<void()> const &callBackFct)
-
void setVorticityMethodChangedCallback(std::function<void()> const &callBackFct)
-
void setElasticityMethodChangedCallback(std::function<void()> const &callBackFct)
-
void computeSurfaceTension()
-
void computeViscosity()
-
void computeVorticity()
-
void computeDragForce()
-
void computeElasticity()
-
void computeXSPH()
-
void saveState(BinaryFileWriter &binWriter)
-
void loadState(BinaryFileReader &binReader)
- inline FORCE_INLINE Vector3r & getPosition0 (const unsigned int i)
- inline FORCE_INLINE const Vector3r & getPosition0 (const unsigned int i) const
- inline FORCE_INLINE void setPosition0 (const unsigned int i, const Vector3r &pos)
- inline FORCE_INLINE Vector3r & getPosition (const unsigned int i)
- inline FORCE_INLINE const Vector3r & getPosition (const unsigned int i) const
- inline FORCE_INLINE void setPosition (const unsigned int i, const Vector3r &pos)
- inline FORCE_INLINE Vector3r & getVelocity (const unsigned int i)
- inline FORCE_INLINE const Vector3r & getVelocity (const unsigned int i) const
- inline FORCE_INLINE void setVelocity (const unsigned int i, const Vector3r &vel)
- inline FORCE_INLINE Vector3r & getVelocity0 (const unsigned int i)
- inline FORCE_INLINE const Vector3r & getVelocity0 (const unsigned int i) const
- inline FORCE_INLINE void setVelocity0 (const unsigned int i, const Vector3r &vel)
- inline FORCE_INLINE Vector3r & getAcceleration (const unsigned int i)
- inline FORCE_INLINE const Vector3r & getAcceleration (const unsigned int i) const
- inline FORCE_INLINE void setAcceleration (const unsigned int i, const Vector3r &accel)
- inline FORCE_INLINE const Real getMass (const unsigned int i) const
- inline FORCE_INLINE Real & getMass (const unsigned int i)
- inline FORCE_INLINE void setMass (const unsigned int i, const Real mass)
- inline FORCE_INLINE const Real & getDensity (const unsigned int i) const
- inline FORCE_INLINE Real & getDensity (const unsigned int i)
- inline FORCE_INLINE void setDensity (const unsigned int i, const Real &val)
- inline FORCE_INLINE unsigned int & getParticleId (const unsigned int i)
- inline FORCE_INLINE const unsigned int & getParticleId (const unsigned int i) const
- inline FORCE_INLINE unsigned int & getObjectId (const unsigned int i)
- inline FORCE_INLINE const unsigned int & getObjectId (const unsigned int i) const
- inline FORCE_INLINE void setObjectId (const unsigned int i, const unsigned int val)
- inline FORCE_INLINE const ParticleState & getParticleState (const unsigned int i) const
- inline FORCE_INLINE ParticleState & getParticleState (const unsigned int i)
- inline FORCE_INLINE void setParticleState (const unsigned int i, const ParticleState &val)
- inline FORCE_INLINE const Real getVolume (const unsigned int i) const
- inline FORCE_INLINE Real & getVolume (const unsigned int i)
Public Static Attributes
-
static int NUM_PARTICLES = -1
-
static int NUM_REUSED_PARTICLES = -1
-
static int DENSITY0 = -1
-
static int DRAG_METHOD = -1
-
static int SURFACE_TENSION_METHOD = -1
-
static int VISCOSITY_METHOD = -1
-
static int VORTICITY_METHOD = -1
-
static int ELASTICITY_METHOD = -1
Protected Functions
-
virtual void initParameters()
-
void initMasses()
-
virtual void resizeFluidParticles(const unsigned int newSize)
Resize the arrays containing the particle data.
-
virtual void releaseFluidParticles()
Release the arrays containing the particle data.
Protected Attributes
-
std::string m_id
-
EmitterSystem *m_emitterSystem
-
std::vector<unsigned int> m_particleId
-
std::vector<unsigned int> m_objectId
-
std::vector<unsigned int> m_objectId0
-
std::vector<ParticleState> m_particleState
-
unsigned int m_surfaceTensionMethod
-
NonPressureForceBase *m_surfaceTension
-
unsigned int m_viscosityMethod
-
NonPressureForceBase *m_viscosity
-
unsigned int m_vorticityMethod
-
NonPressureForceBase *m_vorticity
-
unsigned int m_dragMethod
-
NonPressureForceBase *m_drag
-
unsigned int m_elasticityMethod
-
NonPressureForceBase *m_elasticity
-
std::vector<FieldDescription> m_fields
-
std::function<void()> m_dragMethodChanged
-
std::function<void()> m_surfaceTensionMethodChanged
-
std::function<void()> m_viscosityMethodChanged
-
std::function<void()> m_vorticityMethodChanged
-
std::function<void()> m_elasticityMethodChanged
-
unsigned int m_pointSetIndex
-
unsigned int m_numActiveParticles
-
unsigned int m_numActiveParticles0
-
FluidModel()