Class TimeStepPBF
Defined in File TimeStepPBF.h
Inheritance Relationships
Base Type
public SPH::TimeStep(Class TimeStep)
Class Documentation
-
class TimeStepPBF : public SPH::TimeStep
This class implements the position-based fluids approach introduced by Macklin and Mueller [MM13,BMO+14,BMM15].
References:
[MM13] Miles Macklin and Matthias Müller. Position based fluids. ACM Trans. Graph., 32(4):104:1-104:12, July 2013. URL: http://doi.acm.org/10.1145/2461912.2461984
[BMO+14] Jan Bender, Matthias Müller, Miguel A. Otaduy, Matthias Teschner, and Miles Macklin. A survey on position-based simulation methods in computer graphics. Computer Graphics Forum, 33(6):228-251, 2014. URL: http://dx.doi.org/10.1111/cgf.12346
[BMM15] Jan Bender, Matthias Müller, and Miles Macklin. Position-based simulation methods in computer graphics. In EUROGRAPHICS 2015 Tutorials. Eurographics Association, 2015. URL: http://dx.doi.org/10.2312/egt.20151045
Public Functions
-
TimeStepPBF()
Initialize the simulation data required for this method.
-
virtual ~TimeStepPBF(void)
-
virtual void step()
Perform a simulation step.
-
virtual void reset()
Reset the simulation method.
-
virtual void resize()
-
inline virtual std::string getMethodName()
returns the name of the method
-
inline virtual int getNumIterations()
Public Static Attributes
-
static std::string METHOD_NAME = "PBF"
-
static int SOLVER_ITERATIONS = -1
-
static int MIN_ITERATIONS = -1
-
static int MAX_ITERATIONS = -1
-
static int MAX_ERROR = -1
-
static int VELOCITY_UPDATE_METHOD = -1
-
static int ENUM_PBF_FIRST_ORDER = -1
-
static int ENUM_PBF_SECOND_ORDER = -1
Protected Functions
-
void pressureSolve()
Perform a position-based correction step for the following density constraint:\(C(\mathbf{x}) = \left (\frac{\rho_i}{\rho_0} - 1 \right )= 0\)
-
virtual void performNeighborhoodSearchSort()
Important: First call m_model->performNeighborhoodSearchSort() to call the z_sort of the neighborhood search.
-
virtual void emittedParticles(FluidModel *model, const unsigned int startIndex)
-
virtual void initParameters()