PeriDyno 1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SemiAnalyticalSummationDensity.h
Go to the documentation of this file.
1#pragma once
3
4#include "Topology/TriangleSet.h"
5
6namespace dyno {
12 typedef typename TopologyModule::Triangle Triangle;
13
14 template<typename TDataType>
15 class SemiAnalyticalSummationDensity : public virtual ParticleApproximation<TDataType>
16 {
18 public:
19 typedef typename TDataType::Real Real;
20 typedef typename TDataType::Coord Coord;
21
24
25 void compute() override;
26
27 protected:
29
31
32 public:
33 void compute(
34 DArray<Real>& rho,
35 DArray<Coord>& pos,
37 DArray<Coord>& positionTri,
38 DArrayList<int>& neighbors,
39 DArrayList<int>& neighborsTri,
40 Real smoothingLength,
41 Real mass,
42 Real sampling_distance);
43
44 public:
45 DEF_VAR(Real, RestDensity, 1000, "Rest Density");
46
47 DEF_ARRAY_IN(Coord, Position, DeviceType::GPU, "Particle position");
48 DEF_ARRAYLIST_IN(int, NeighborIds, DeviceType::GPU, "Neighboring particles' ids");
49 DEF_ARRAYLIST_IN(int, NeighborTriIds, DeviceType::GPU, "triangle neighbors");//
50
52
53 DEF_ARRAY_OUT(Real, Density, DeviceType::GPU, "Return the particle density");
54
55 private:
58 };
59}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
DEF_ARRAYLIST_IN(int, NeighborIds, DeviceType::GPU, "Neighboring particles' ids")
void compute(DArray< Real > &rho, DArray< Coord > &pos, DArray< TopologyModule::Triangle > &Tri, DArray< Coord > &positionTri, DArrayList< int > &neighbors, DArrayList< int > &neighborsTri, Real smoothingLength, Real mass, Real sampling_distance)
DEF_ARRAYLIST_IN(int, NeighborTriIds, DeviceType::GPU, "triangle neighbors")
DEF_ARRAY_IN(Coord, Position, DeviceType::GPU, "Particle position")
DEF_ARRAY_OUT(Real, Density, DeviceType::GPU, "Return the particle density")
DEF_VAR(Real, RestDensity, 1000, "Rest Density")
void compute(DArray< Real > &rho)
DEF_INSTANCE_IN(TriangleSet< TDataType >, TriangleSet, "")
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
ArrayList< ElementType, DeviceType::GPU > DArrayList
Definition ArrayList.inl:83
TopologyModule::Triangle Triangle
The standard summation density.