Class TimeStepPF¶
Defined in File TimeStepPF.h
Inheritance Relationships¶
Base Type¶
public SPH::TimeStep(Class TimeStep)
Class Documentation¶
-
class
SPH::TimeStepPF: public SPH::TimeStep¶ This class implements the Projective Fluids approach introduced by Weiler, Koschier and Bender [WKB16].
References:
[WKB16] Marcel Weiler, Dan Koschier, and Jan Bender. Projective fluids. In Proceedings of the 9th International Conference on Motion in Games, MIG ‘16, 79-84. New York, NY, USA, 2016. ACM. URL: http://doi.acm.org/10.1145/2994258.2994282
Public Functions
-
TimeStepPF()¶
-
virtual
~TimeStepPF(void)¶
-
virtual void
step() override¶
-
virtual void
reset() override¶
-
virtual void
resize() override¶
Public Static Attributes
-
static int
STIFFNESS= -1¶
Protected Types
-
using
Solver= Eigen::ConjugateGradient<MatrixReplacement, Eigen::Lower | Eigen::Upper, JacobiPreconditioner3D>¶
Protected Functions
-
void
preparePreconditioner()¶
-
void
initialGuessForPositions(const unsigned int fluidModelIndex)¶
-
void
solvePDConstraints()¶
-
void
addAccellerationToVelocity()¶
-
void
matrixFreeRHS(const VectorXr &x, VectorXr &result)¶ compute the right hand side of the system in a matrix-free fashion and store the result in result
-
void
performNeighborhoodSearch()¶ Perform the neighborhood search for all fluid particles.
-
virtual void
emittedParticles(FluidModel *model, const unsigned int startIndex) override¶
-
virtual void
initParameters() override¶
Protected Attributes
-
SimulationDataPF
m_simulationData¶
-
unsigned int
m_counter¶
-
unsigned int
m_numActiveParticlesTotal¶
Protected Static Functions
-
static FORCE_INLINE void diagonalMatrixElement (const unsigned int row, Vector3r &result, void *userData)