PeriDyno 1.0.0
Loading...
Searching...
No Matches
SemiAnalyticalPBD.h
Go to the documentation of this file.
1
8
9#pragma once
11
12#include "Topology/TriangleSet.h"
13
15
16namespace dyno
17{
23 template <typename TDataType>
25
26 template <typename TDataType>
28 {
30 public:
31 typedef typename TDataType::Real Real;
32 typedef typename TDataType::Coord Coord;
34
37
41 void constrain() override;
42
43 public:
44 DEF_VAR(uint, InterationNumber, 3, "");
45
46 DEF_VAR_IN(Real, TimeStep, "");
47
52 DEF_VAR_IN(Real, SmoothingLength, "");
53
54 DEF_VAR_IN(Real, SamplingDistance, "");
55
59 DEF_ARRAY_IN(Coord, Position, DeviceType::GPU, "");
60
64 DEF_ARRAY_IN(Coord, Velocity, DeviceType::GPU, "");
65
67
71 DEF_ARRAYLIST_IN(int, NeighborParticleIds, DeviceType::GPU, "");
72
76 DEF_ARRAYLIST_IN(int, NeighborTriangleIds, DeviceType::GPU, "");
77
78 private:
80
82
84
88
89 std::shared_ptr<SemiAnalyticalSummationDensity<TDataType>> mCalculateDensity;
90 };
91} // namespace dyno
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
SpikyKernel< Real > m_kernel
std::shared_ptr< SemiAnalyticalSummationDensity< TDataType > > mCalculateDensity
DEF_VAR(uint, InterationNumber, 3, "")
DEF_VAR_IN(Real, SmoothingLength, "")
smoothing length A positive number represents the radius of neighborhood for each point
DEF_VAR_IN(Real, SamplingDistance, "")
DEF_ARRAY_IN(Coord, Velocity, DeviceType::GPU, "")
Particle velocity.
DEF_INSTANCE_IN(TriangleSet< TDataType >, TriangleSet, "")
TopologyModule::Triangle Triangle
void constrain() override
DEF_ARRAYLIST_IN(int, NeighborParticleIds, DeviceType::GPU, "")
neighbor list of particles, only neighbor pairs of particle-particle are counted
DEF_ARRAYLIST_IN(int, NeighborTriangleIds, DeviceType::GPU, "")
neighbor list of particles and mesh triangles, only neighbor pairs of particle-triangle are counted
DEF_VAR_IN(Real, TimeStep, "")
~SemiAnalyticalPBD() override
DEF_ARRAY_IN(Coord, Position, DeviceType::GPU, "")
Particle position.
Vector< PointType, 3 > Triangle
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Array< T, DeviceType::GPU > DArray
Definition Array.inl:89
unsigned int uint
Definition VkProgram.h:14