Class FluidModel¶
Defined in File FluidModel.h
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¶
-
~FluidModel()¶
-
void
init()¶
-
std::string
getId() const¶
-
FORCE_INLINE Real getDensity0 () const
-
unsigned int
getPointSetIndex() const¶
-
void
addField(const FieldDescription &field)¶
-
const std::vector<FieldDescription> &
getFields()¶
-
const FieldDescription &
getField(const unsigned int i)¶
-
const FieldDescription &
getField(const std::string &name)¶
-
const unsigned int
numberOfFields()¶
-
void
removeFieldByName(const std::string &fieldName)¶
-
void
setNumActiveParticles(const unsigned int num)¶
-
unsigned int
numberOfParticles() const¶
-
EmitterSystem *
getEmitterSystem()¶
-
void
reset()¶
-
void
performNeighborhoodSearchSort()¶
-
void
initModel(const std::string &id, const unsigned int nFluidParticles, Vector3r *fluidParticles, Vector3r *fluidVelocities, const unsigned int nMaxEmitterParticles)¶
-
const unsigned int
numParticles() const¶
-
unsigned int
numActiveParticles() const¶
-
unsigned int
getNumActiveParticles0() const¶
-
void
setNumActiveParticles0(unsigned int val)¶
-
void
emittedParticles(const unsigned int startIndex)¶
-
int
getSurfaceTensionMethod() const¶
-
void
setSurfaceTensionMethod(const int val)¶
-
int
getViscosityMethod() const¶
-
void
setViscosityMethod(const int val)¶
-
int
getVorticityMethod() const¶
-
void
setVorticityMethod(const int val)¶
-
int
getDragMethod() const¶
-
void
setDragMethod(const int val)¶
-
int
getElasticityMethod() const¶
-
void
setElasticityMethod(const int val)¶
-
SurfaceTensionBase *
getSurfaceTensionBase()¶
-
ViscosityBase *
getViscosityBase()¶
-
VorticityBase *
getVorticityBase()¶
-
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)¶
-
FORCE_INLINE Vector3r & getPosition0 (const unsigned int i)
-
FORCE_INLINE const Vector3r & getPosition0 (const unsigned int i) const
-
FORCE_INLINE void setPosition0 (const unsigned int i, const Vector3r &pos)
-
FORCE_INLINE Vector3r & getPosition (const unsigned int i)
-
FORCE_INLINE const Vector3r & getPosition (const unsigned int i) const
-
FORCE_INLINE void setPosition (const unsigned int i, const Vector3r &pos)
-
FORCE_INLINE Vector3r & getVelocity (const unsigned int i)
-
FORCE_INLINE const Vector3r & getVelocity (const unsigned int i) const
-
FORCE_INLINE void setVelocity (const unsigned int i, const Vector3r &vel)
-
FORCE_INLINE Vector3r & getVelocity0 (const unsigned int i)
-
FORCE_INLINE const Vector3r & getVelocity0 (const unsigned int i) const
-
FORCE_INLINE void setVelocity0 (const unsigned int i, const Vector3r &vel)
-
FORCE_INLINE Vector3r & getAcceleration (const unsigned int i)
-
FORCE_INLINE const Vector3r & getAcceleration (const unsigned int i) const
-
FORCE_INLINE void setAcceleration (const unsigned int i, const Vector3r &accel)
-
FORCE_INLINE const Real getMass (const unsigned int i) const
-
FORCE_INLINE Real & getMass (const unsigned int i)
-
FORCE_INLINE void setMass (const unsigned int i, const Real mass)
-
FORCE_INLINE const Real & getDensity (const unsigned int i) const
-
FORCE_INLINE Real & getDensity (const unsigned int i)
-
FORCE_INLINE void setDensity (const unsigned int i, const Real &val)
-
FORCE_INLINE unsigned int & getParticleId (const unsigned int i)
-
FORCE_INLINE const unsigned int & getParticleId (const unsigned int i) const
-
FORCE_INLINE const ParticleState & getParticleState (const unsigned int i) const
-
FORCE_INLINE ParticleState & getParticleState (const unsigned int i)
-
FORCE_INLINE void setParticleState (const unsigned int i, const ParticleState &val)
-
FORCE_INLINE const Real getVolume (const unsigned int i) const
-
FORCE_INLINE Real & getVolume (const unsigned int i)
Public Static Attributes
-
int
NUM_PARTICLES= -1¶
-
int
NUM_REUSED_PARTICLES= -1¶
-
int
DENSITY0= -1¶
-
int
DRAG_METHOD= -1¶
-
int
SURFACE_TENSION_METHOD= -1¶
-
int
VISCOSITY_METHOD= -1¶
-
int
VORTICITY_METHOD= -1¶
-
int
ELASTICITY_METHOD= -1¶
-
int
ENUM_DRAG_NONE= -1¶
-
int
ENUM_DRAG_MACKLIN2014= -1¶
-
int
ENUM_DRAG_GISSLER2017= -1¶
-
int
ENUM_SURFACETENSION_NONE= -1¶
-
int
ENUM_SURFACETENSION_BECKER2007= -1¶
-
int
ENUM_SURFACETENSION_AKINCI2013= -1¶
-
int
ENUM_SURFACETENSION_HE2014= -1¶
-
int
ENUM_VISCOSITY_NONE= -1¶
-
int
ENUM_VISCOSITY_STANDARD= -1¶
-
int
ENUM_VISCOSITY_XSPH= -1¶
-
int
ENUM_VISCOSITY_BENDER2017= -1¶
-
int
ENUM_VISCOSITY_PEER2015= -1¶
-
int
ENUM_VISCOSITY_PEER2016= -1¶
-
int
ENUM_VISCOSITY_TAKAHASHI2015= -1¶
-
int
ENUM_VISCOSITY_WEILER2018= -1¶
-
int
ENUM_VORTICITY_NONE= -1¶
-
int
ENUM_VORTICITY_MICROPOLAR= -1¶
-
int
ENUM_VORTICITY_VC= -1¶
-
int
ENUM_ELASTICITY_NONE= -1¶
-
int
ENUM_ELASTICITY_BECKER2009= -1¶
-
int
ENUM_ELASTICITY_PEER2018= -1¶
Protected Functions
-
void
initParameters()¶
-
void
initMasses()¶
-
void
resizeFluidParticles(const unsigned int newSize)¶ Resize the arrays containing the particle data.
-
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¶
-
SurfaceTensionMethods
m_surfaceTensionMethod¶
-
SurfaceTensionBase *
m_surfaceTension¶
-
ViscosityMethods
m_viscosityMethod¶
-
ViscosityBase *
m_viscosity¶
-
VorticityMethods
m_vorticityMethod¶
-
VorticityBase *
m_vorticity¶
-
DragMethods
m_dragMethod¶
-
ElasticityMethods
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¶
-