20#include "Topology/PointSet.h"
21#include "ParticleSystem/ParticleSystem.h"
25#include "./ParticleSystem/Module/ParticleIntegrator.h"
29#include "Collision/NeighborPointQuery.h"
30#include "Topology/TriangleSet.h"
44 template<
typename TDataType>
50 typedef typename TDataType::Real
Real;
51 typedef typename TDataType::Coord
Coord;
92 std::shared_ptr<IterativeDensitySolver<TDataType>>
ptr_density;
#define DECLARE_TCLASS(name, T1)
DEF_VAR(Real, PointNeighborLength, 0.006, "")
DEF_VAR(Real, ViscosityStrength, 50.0f, "")
DEF_ARRAY_STATE(Coord, Force, DeviceType::GPU, "Force on each particle")
DEF_VAR(Real, MeshNeighborLength, 0.012, "")
std::shared_ptr< ImplicitViscosity< TDataType > > ptr_viscosity
std::shared_ptr< NormalForce< TDataType > > ptr_normalForce
ParticleRelaxtionOnMesh()
DEF_VAR(int, IterationNumber, 30, "")
std::shared_ptr< IterativeDensitySolver< TDataType > > ptr_density
DEF_VAR(int, DensityIteration, 5, "")
std::shared_ptr< NeighborPointQuery< TDataType > > ptr_nbrQuery
DEF_ARRAY_STATE(Coord, Velocity, DeviceType::GPU, "Particle velocity")
DEF_VAR(Real, NormalForceStrength, 0.05, "")
~ParticleRelaxtionOnMesh() override
std::shared_ptr< TriangularMeshConstraint< TDataType > > ptr_meshCollision
DEF_VAR_STATE(Real, Delta, 0.03, "")
void resetStates() override
DEF_VAR(Real, MeshCollisionThickness, 0.003, "")
std::shared_ptr< NeighborTriangleQuery< TDataType > > ptr_nbrQueryTri
This is an implementation of AdditiveCCD based on peridyno.