27 template<
typename TDataType>
33 typedef typename TDataType::Real
Real;
34 typedef typename TDataType::Coord
Coord;
35 typedef typename TDataType::Matrix
Matrix;
36 typedef typename ::dyno::TBond<TDataType>
Bond;
#define DECLARE_TCLASS(name, T1)
DEF_ARRAYLIST_IN(Bond, Bonds, DeviceType::GPU, "Peridynamic bonds")
Neighboring bonds.
DArray< Coord > mDisplacement
virtual void enforceElasticity()
Correct the particle position with one iteration Be sure computeInverseK() is called as long as the r...
virtual void computeMaterialStiffness()
DEF_VAR(Real, Mu, 0.001, "Lame parameters: mu")
Lame parameters m_lambda controls the isotropic part while mu controls the deviatoric part.
DEF_VAR_IN(Real, TimeStep, "")
DEF_ARRAY_IN(Coord, X, DeviceType::GPU, "Rest Pos")
Reference position.
void preprocess() override
DEF_ARRAY_IN(Coord, Velocity, DeviceType::GPU, "Particle velocity")
Particle velocity.
virtual void solveElasticity()
::dyno::TBond< TDataType > Bond
DEF_ARRAY_IN(Coord, Y, DeviceType::GPU, "Particle position")
Deformed position.
DEF_VAR(Real, Lambda, 0.01, "Lame parameters: lambda")
~LinearElasticitySolver() override
DEF_VAR(uint, IterationNumber, 30, "Iteration number")
DArray< Real > mBulkStiffness
void constrain() override
DEF_VAR_IN(Real, Horizon, "")
Horizon A positive number represents the radius of neighborhood for each point.
This is an implementation of AdditiveCCD based on peridyno.
Array< T, DeviceType::GPU > DArray