21 #ifndef __PARTICLE_DATA_H__
22 #define __PARTICLE_DATA_H__
211 const double*
const getVolume()
const {
return m_vVolume;}
250 const double*
const getDD1()
const {
return m_vDD1;}
291 std::size_t m_iCapacity;
292 std::size_t m_iTotalNum;
293 std::size_t m_iFluidNum;
294 std::size_t m_iBoundaryNum;
295 std::size_t m_iGhostNum;
296 std::size_t m_iFluidStartIndex;
297 std::size_t m_iBoundaryStartIndex;
298 std::size_t m_iGhostStartIndex;
299 std::size_t m_iMaxNeighbourNum;
300 std::size_t m_iMaxNeighbourNumInOneDir;
302 double* m_vPositionX;
303 double* m_vPositionY;
304 double* m_vPositionZ;
305 double* m_vVelocityU;
306 double* m_vVelocityV;
307 double* m_vVelocityW;
310 double* m_vSoundSpeed;
313 double* m_vTemp1VelocityU;
314 double* m_vTemp1VelocityV;
315 double* m_vTemp1VelocityW;
316 double* m_vTemp1Volume;
317 double* m_vTemp1Pressure;
318 double* m_vTemp1SoundSpeed;
320 double* m_vTemp2VelocityU;
321 double* m_vTemp2VelocityV;
322 double* m_vTemp2VelocityW;
323 double* m_vTemp2Volume;
324 double* m_vTemp2Pressure;
325 double* m_vTemp2SoundSpeed;
327 int* m_vLPFOrderRight;
328 int* m_vLPFOrderLeft;
329 int* m_vLPFOrderNorth;
330 int* m_vLPFOrderSouth;
332 int* m_vLPFOrderDown;
334 int* m_vNeighbourList;
335 int* m_vNeighbourListRight;
336 int* m_vNeighbourListLeft;
337 int* m_vNeighbourListNorth;
338 int* m_vNeighbourListSouth;
339 int* m_vNeighbourListUp;
340 int* m_vNeighbourListDown;
342 int* m_vNeighbourListSize;
343 int* m_vNeighbourListRightSize;
344 int* m_vNeighbourListLeftSize;
345 int* m_vNeighbourListNorthSize;
346 int* m_vNeighbourListSouthSize;
347 int* m_vNeighbourListUpSize;
348 int* m_vNeighbourListDownSize;
353 std::vector<BoundingBox*> m_vFluidBoundingBox;
354 std::vector<std::string> m_vBoundaryObjTypes;
362 double* m_vPositionXm;
const double *const getVelocityW() const
Getter function of the array of velocity in z-coordinate of the initialized particles.
Definition: particle_data.h:203
const double *const getVelocityV() const
Getter function of the array of velocity in y-coordinate of the initialized particles.
Definition: particle_data.h:195
This class is keeps the information of the boundaries of a fluid/boundary object. ...
Definition: initializer.h:51
std::size_t getMaxNeighbourNumInOneDir()
Getter function of the specified maximum number of neighbours in one direction (eg. right-hand-side in the x-coordinate) of a particle.
Definition: particle_data.h:126
std::size_t getBoundaryNum()
Getter function of the number of boundary particles.
Definition: particle_data.h:103
const double *const getPositionX() const
Getter function of the array of x-coordinates of the initialized particles.
Definition: particle_data.h:163
const double *const getPressure() const
Getter function of the array of pressure of the initialized particles.
Definition: particle_data.h:219
const double *const getDD1() const
Getter function of the array of divided difference of order 1.
Definition: particle_data.h:250
const double *const getDD3Left() const
Getter function of the array of divided difference of order 3.
Definition: particle_data.h:274
const double *const getDD2Left() const
Getter function of the array of divided difference of order 2.
Definition: particle_data.h:258
int getDimension()
Getter function of the specified dimension of simulation.
Definition: particle_data.h:154
const double *const getSoundSpeed() const
Getter function of the array of sound speed of the initialized particles.
Definition: particle_data.h:227
std::size_t getBoundaryStartIndex()
Getter function of the start index of boundary particles in the particle data arrays.
Definition: particle_data.h:140
std::size_t getMaxNeighbourNum()
Getter function of the specified maximum number of neighbours of a particle.
Definition: particle_data.h:117
const double *const getPositionY() const
Getter function of the array of y-coordinates of the initialized particles.
Definition: particle_data.h:171
std::size_t getTotalNum()
Getter function of the number of all types of particles.
Definition: particle_data.h:89
std::size_t getGhostNum()
Getter function of the number of ghost particles.
Definition: particle_data.h:110
The default Lagrangian Particle solver for the compressible Euler's equation in 2D and 3D...
Definition: lp_solver.h:118
An abstract class for the family of Lagrangian Particle solvers.
Definition: lp_solver.h:53
This class initializes the simulation.
Definition: initializer.h:227
const double *const getVelocityU() const
Getter function of the array of velocity in x-coordinate of the initialized particles.
Definition: particle_data.h:187
const double *const getPositionZ() const
Getter function of the array of z-coordinates of the initialized particles.
Definition: particle_data.h:179
The default Lagrangian Particle solver for the compressible Euler's equation in 1D.
Definition: lp_solver.h:584
std::size_t getCapacity()
Getter function of the specified array length for particle data arrays such as x, y...
Definition: particle_data.h:82
const double *const getDD3Right() const
Getter function of the array of divided difference of order 3.
Definition: particle_data.h:282
ParticleData(const Initializer &init)
Constructor.
Definition: particle_data.cpp:12
std::size_t getFluidNum()
Getter function of the number of fluid particles.
Definition: particle_data.h:96
std::size_t getFluidStartIndex()
Getter function of the start index of fluid particles in the particle data arrays.
Definition: particle_data.h:133
const double *const getDD2Right() const
Getter function of the array of divided difference of order 2.
Definition: particle_data.h:266
const double *const getVolume() const
Getter function of the array of volume of the initialized particles.
Definition: particle_data.h:211
A class that stores all information and data of particles, such as x, y, and z coordinates, neighbour lists, and bounding boxes.
Definition: particle_data.h:51
virtual ~ParticleData()
Destructor.
Definition: particle_data.cpp:148
const int *const getObjectTag() const
Getter function of the array of "object tags" of the initialized particles.
Definition: particle_data.h:241
std::size_t getGhostStartIndex()
Getter function of the start index of ghost particles in the particle data arrays.
Definition: particle_data.h:147