# PhasicFlow: positionParticles Class Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

positionParticles Class Referenceabstract
Inheritance diagram for positionParticles:
[legend]
Collaboration diagram for positionParticles:
[legend]

## Public Member Functions

| TypeInfo ("positionParticles")
| positionParticles (systemControl &control, const dictionary &dict)
| create_vCtor (positionParticles, dictionary,(systemControl &control, const dictionary &dict),(control, dict))
virtual | ~positionParticles ()=default
bool | mortonSorting () const
auto | maxNumberOfParticles () const
virtual uint32 | numPoints () const =0
virtual uint32 | size () const =0
virtual real | maxDiameter () const =0
virtual const realx3Vector & | position () const =0
virtual realx3Vector & | position ()=0
virtual realx3Vector | getFinalPosition ()

## Static Public Member Functions

static uniquePtr< positionParticles > | create (systemControl &control, const dictionary &dict)

## Protected Member Functions

const auto & | pRegion () const

## Static Protected Attributes

static const uint32 | numReports_ = 40

## Private Member Functions

realx3Vector | sortByMortonCode (const realx3Vector &position) const

## Private Attributes

uniquePtr< peakableRegion > | pRegion_ = nullptr
word | regionType_
uint32 | maxNumberOfParticles_ = 10000
Logical | mortonSorting_

## Detailed Description

Definition at line 35 of file positionParticles.hpp.

## Constructor & Destructor Documentation

## positionParticles()

positionParticles | ( | systemControl & | control,
|  | const dictionary & | dict
| ) |  |

Definition at line 75 of file positionParticles.cpp.

References peakableRegion::create(), pFlow::domainFile__, objectFile::READ_ALWAYS, systemControl::settings(), dictionary::subDict(), and objectFile::WRITE_NEVER.

Here is the call graph for this function:

## ~positionParticles()

virtual ~positionParticles | ( |  | ) |

virtualdefault

## Member Function Documentation

## sortByMortonCode()

pFlow::realx3Vector sortByMortonCode | ( | const realx3Vector & | position | ) | const

private

Definition at line 26 of file positionParticles.cpp.

References END_WARNING, positionParticles::position(), and WARNING.

Here is the call graph for this function:

## pRegion()

const auto& pRegion | ( |  | ) | const

inlineprotected

Definition at line 55 of file positionParticles.hpp.

References positionParticles::pRegion_.

Referenced by positionRandom::positionOnePass().

Here is the caller graph for this function:

## TypeInfo()

TypeInfo | ( | "positionParticles" |  | ) |

## create_vCtor()

create_vCtor | ( | positionParticles | ,
|  | dictionary | ,
|  | (systemControl &control, const dictionary &dict) | ,
|  | (control, dict) |
| ) |  |

## mortonSorting()

bool mortonSorting | ( |  | ) | const

inline

Definition at line 81 of file positionParticles.hpp.

References positionParticles::mortonSorting_.

## maxNumberOfParticles()

auto maxNumberOfParticles | ( |  | ) | const

inline

Definition at line 87 of file positionParticles.hpp.

References positionParticles::maxNumberOfParticles_.

## numPoints()

virtual uint32 numPoints | ( |  | ) | const

pure virtual

Implemented in positionOrdered, positionRandom, and empty.

## size()

virtual uint32 size | ( |  | ) | const

pure virtual

Implemented in positionOrdered, positionRandom, and empty.

## maxDiameter()

virtual real maxDiameter | ( |  | ) | const

pure virtual

Implemented in positionRandom, positionOrdered, and empty.

## position() [1/2]

virtual const realx3Vector& position | ( |  | ) | const

pure virtual

Implemented in positionOrdered, positionRandom, and empty.

Referenced by positionParticles::sortByMortonCode().

Here is the caller graph for this function:

## position() [2/2]

virtual realx3Vector& position | ( |  | ) |

pure virtual

Implemented in positionOrdered, positionRandom, and empty.

## getFinalPosition()

pFlow::realx3Vector getFinalPosition | ( |  | ) |

virtual

Definition at line 112 of file positionParticles.cpp.

## create()

pFlow::uniquePtr< pFlow::positionParticles > create | ( | systemControl & | control,
|  | const dictionary & | dict
| ) |  |

static

Definition at line 128 of file positionParticles.cpp.

References fatalError, fatalExit, dictionary::getVal(), and pFlow::printKeys().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

## Member Data Documentation

## pRegion_

uniquePtr<peakableRegion> pRegion_ = nullptr

private

Definition at line 39 of file positionParticles.hpp.

Referenced by positionParticles::pRegion().

## regionType_

word regionType_

private

Definition at line 41 of file positionParticles.hpp.

## maxNumberOfParticles_

uint32 maxNumberOfParticles_ = 10000

private

Definition at line 43 of file positionParticles.hpp.

Referenced by positionParticles::maxNumberOfParticles().

## mortonSorting_

Logical mortonSorting_

private

Definition at line 45 of file positionParticles.hpp.

Referenced by positionParticles::mortonSorting().

## numReports_

const uint32 numReports_ = 40

staticprotected

Definition at line 53 of file positionParticles.hpp.

The documentation for this class was generated from the following files:

- utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp
- utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp