Class Elasticity_Peer2018
Defined in File Elasticity_Peer2018.h
Inheritance Relationships
Base Type
public SPH::NonPressureForceBase(Class NonPressureForceBase)
Class Documentation
-
class Elasticity_Peer2018 : public SPH::NonPressureForceBase
This class implements the implicit SPH formulation for incompressible linearly elastic solids introduced by Peer et al. [PGBT18].
References:
[PGBT18] Andreas Peer, Christoph Gissler, Stefan Band, and Matthias Teschner. An implicit SPH formulation for incompressible linearly elastic solids. Computer Graphics Forum, 2018. URL: http://dx.doi.org/10.1111/cgf.13317
Public Functions
-
Elasticity_Peer2018(FluidModel *model)
-
virtual ~Elasticity_Peer2018(void)
-
inline virtual std::string getMethodName()
returns the name of the method
-
virtual void step()
-
virtual void reset()
-
virtual void performNeighborhoodSearchSort()
-
virtual void saveState(BinaryFileWriter &binWriter)
-
virtual void loadState(BinaryFileReader &binReader)
Public Static Functions
-
static inline NonPressureForceBase *creator(FluidModel *model)
Public Static Attributes
-
static std::string METHOD_NAME = "Peer et al. 2018"
-
static int YOUNGS_MODULUS = -1
-
static int POISSON_RATIO = -1
-
static int FIXED_BOX_MIN = -1
-
static int FIXED_BOX_MAX = -1
-
static int ITERATIONS = -1
-
static int MAX_ITERATIONS = -1
-
static int MAX_ERROR = -1
-
static int ALPHA = -1
-
static int MAX_NEIGHBORS = -1
Protected Types
-
typedef Eigen::ConjugateGradient<MatrixReplacement, Eigen::Lower | Eigen::Upper, Eigen::IdentityPreconditioner> Solver
Protected Functions
-
void determineFixedParticles()
Mark all particles in the bounding box as fixed.
-
void initValues()
-
void computeMatrixL()
-
void computeRotations()
-
void computeRHS(VectorXr &rhs)
-
virtual void initParameters()
-
virtual void deferredInit()
This function is called after the simulation scene is loaded and all parameters are initialized. While reading a scene file several parameters can change. The deferred init function should initialize all values which depend on these parameters.
- inline FORCE_INLINE void symMatTimesVec (const Vector6r &M, const Vector3r &v, Vector3r &res)
- inline FORCE_INLINE void generateIndices (const unsigned int *map, const unsigned int *idx, std::array< unsigned int, 8 > &indices, const unsigned char count=8u)