Class Viscosity_Weiler2018¶
Defined in File Viscosity_Weiler2018.h
Inheritance Relationships¶
Base Type¶
public SPH::ViscosityBase(Class ViscosityBase)
Class Documentation¶
-
class
SPH::Viscosity_Weiler2018: public SPH::ViscosityBase¶ This class implements the implicit Laplace viscosity method introduced by Weiler et al. 2018 [WKBB18].
References:
[WKBB18] Marcel Weiler, Dan Koschier, Magnus Brand, and Jan Bender. A physically consistent implicit viscosity solver for SPH fluids. Computer Graphics Forum (Eurographics), 2018. URL: https://doi.org/10.1111/cgf.13349
Public Functions
-
Viscosity_Weiler2018(FluidModel *model)¶
-
virtual
~Viscosity_Weiler2018(void)¶
-
virtual void
step()¶
-
virtual void
reset()¶
-
virtual void
performNeighborhoodSearchSort()¶
-
inline FORCE_INLINE const Vector3r & getVDiff (const unsigned int i) const
-
inline FORCE_INLINE Vector3r & getVDiff (const unsigned int i)
-
inline FORCE_INLINE void setVDiff (const unsigned int i, const Vector3r &val)
-
void
computeRHS(VectorXr &b, VectorXr &g)¶
-
void
applyForces(const VectorXr &x)¶
Public Static Functions
-
static inline NonPressureForceBase *
creator(FluidModel *model)¶
Public Static Attributes
-
static int
ITERATIONS= -1¶
-
static int
MAX_ITERATIONS= -1¶
-
static int
MAX_ERROR= -1¶
-
static int
VISCOSITY_COEFFICIENT_BOUNDARY= -1¶
Protected Types
-
typedef Eigen::ConjugateGradient<MatrixReplacement, Eigen::Lower | Eigen::Upper, BlockJacobiPreconditioner3D>
Solver¶
Protected Functions
-
virtual void
initParameters()¶
Protected Static Functions
-
static FORCE_INLINE void diagonalMatrixElement (const unsigned int row, Matrix3r &result, void *userData)