Class Viscosity_Weiler2018
Defined in File Viscosity_Weiler2018.h
Inheritance Relationships
Base Type
public SPH::NonPressureForceBase(Class NonPressureForceBase)
Class Documentation
-
class Viscosity_Weiler2018 : public SPH::NonPressureForceBase
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)
-
inline virtual std::string getMethodName()
returns the name of the method
-
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 std::string METHOD_NAME = "Weiler et al. 2018"
-
static int VISCOSITY_COEFFICIENT = -1
-
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)