Class Elasticity_Becker2009

Inheritance Relationships

Base Type

Class Documentation

class Elasticity_Becker2009 : public SPH::NonPressureForceBase

This class implements the corotated SPH method for deformable solids introduced by Becker et al. [BIT09].

References:

Public Functions

Elasticity_Becker2009(FluidModel *model)
virtual ~Elasticity_Becker2009(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 = "Becker et al. 2009"
static int YOUNGS_MODULUS = -1
static int POISSON_RATIO = -1
static int FIXED_BOX_MIN = -1
static int FIXED_BOX_MAX = -1
static int ALPHA = -1

Protected Functions

void determineFixedParticles()

Mark all particles in the bounding box as fixed.

void initValues()
void computeRotations()
void computeStress()
void computeForces()
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)

Protected Attributes

Real m_youngsModulus
Real m_poissonRatio
Vector3r m_fixedBoxMin
Vector3r m_fixedBoxMax
std::vector<unsigned int> m_current_to_initial_index
std::vector<unsigned int> m_initial_to_current_index
std::vector<std::vector<unsigned int>> m_initialNeighbors
std::vector<Real> m_restVolumes
std::vector<Matrix3r> m_rotations
std::vector<Vector6r> m_stress
std::vector<Matrix3r> m_F
Real m_alpha