Class FluidModel¶
Defined in File FluidModel.h
Inheritance Relationships¶
Base Type¶
public ParameterObject
Class Documentation¶
-
class
SPH::FluidModel: public 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, 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 SurfaceTensionBase *
getSurfaceTensionBase()¶
-
inline ViscosityBase *
getViscosityBase()¶
-
inline VorticityBase *
getVorticityBase()¶
-
inline ElasticityBase *
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
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 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<ParticleState>
m_particleState¶
-
unsigned int
m_surfaceTensionMethod¶
-
SurfaceTensionBase *
m_surfaceTension¶
-
unsigned int
m_viscosityMethod¶
-
ViscosityBase *
m_viscosity¶
-
unsigned int
m_vorticityMethod¶
-
VorticityBase *
m_vorticity¶
-
unsigned int
m_dragMethod¶
-
unsigned int
m_elasticityMethod¶
-
ElasticityBase *
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¶
-