43 template<
typename TDataType>
48 typedef typename TDataType::Real
Real;
49 typedef typename TDataType::Coord
Coord;
50 typedef typename TDataType::Matrix
Matrix;
66 DEF_VAR(
Real, PpeSmoothingLength,
Real(0.0125),
"Smoothing length in PPE solving")
100 DEF_ARRAYLIST_IN(
int, NeighborIds, DeviceType::GPU,
"Return real neighbor ids of real particles");
105 DEF_ARRAYLIST_IN(
int, VRNeighborIds, DeviceType::GPU,
"Return real neighbor ids of Virtual particles");
110 DEF_ARRAYLIST_IN(
int, RVNeighborIds, DeviceType::GPU,
"Return Virtual neighbor ids of real particles");
115 DEF_ARRAYLIST_IN(
int, VVNeighborIds, DeviceType::GPU,
"Return Virtual neighbor ids of virtual particles");
120 DEF_ARRAY_OUT(
bool, VirtualBool, DeviceType::GPU,
"Virtual Particle's Boolean Quantity");
128 DEF_VAR(
Real, ResidualThreshold, 0.001f,
"Convergence threshold for the pressure Poisson Equation");
#define DEF_VAR(T, name, value, desc)
#define DECLARE_TCLASS(name, T1)
particle attribute 0x00000000: [31-30]material; [29]motion; [28]Dynamic; [27-8]undefined yet,...
DArray< Real > m_residual
std::shared_ptr< SummationDensity< TDataType > > m_vv_summation
~DualParticleIsphModule() override
Reduction< Real > * m_reduce
DArray< Coord > m_virtualVelocity
std::shared_ptr< SummationDensity< TDataType > > m_vr_summation
std::shared_ptr< SummationDensity< TDataType > > m_summation
DEF_VAR_IN(Real, TimeStep, "Time Step")
unsigned int virtualNumber_old
DArray< bool > m_virtualAirFlag
DEF_ARRAY_IN(Coord, RPosition, DeviceType::GPU, "Input real particle position")
Real Particle position.
CubicKernel< Real > kernel
DArray< Coord > m_GpNearSolid
DEF_VAR(Real, SmoothingLength, Real(0.0125), "Smoothing length in most cases")
Arithmetic< Real > * m_arithmetic
DEF_VAR(Real, SamplingDistance, Real(0.005), "")
void constrain() override
DEF_VAR(Real, RestDensity, Real(1000), "Reference density")
bool virtualArraysResize()
DEF_ARRAY_OUT(bool, VirtualBool, DeviceType::GPU, "Virtual Particle's Boolean Quantity")
DArray< Real > m_virtualAirWeight
DArray< Real > m_pressure
bool initializeImpl() override
DEF_ARRAYLIST_IN(int, NeighborIds, DeviceType::GPU, "Return real neighbor ids of real particles")
Real Particle's Neghoboring Real Partilce.
DArray< bool > m_solidVirtualPaticleFlag
The standard summation density.
This is an implementation of AdditiveCCD based on peridyno.
Array< T, DeviceType::GPU > DArray