OpenLB 1.7
|
#include <particleSystem.h>
Public Member Functions | |
ParticleSystem () | |
Default constructor. | |
ParticleSystem (std::size_t count) | |
Constructor with initial particle size. | |
ParticleSystem (std::size_t count, typename associatedTypes::template decompose_into< std::tuple > associatedData) | |
Constructor with initial particle size and associated Data. | |
Iterator | begin () |
Iterator | end () |
template<typename PCONDITION = conditions::all_particles> | |
constexpr std::size_t | size () |
Size of ParticleSystem. | |
template<typename PCONDITION = conditions::all_particles> | |
constexpr std::size_t | size (int globiC) |
Size of ParticleSystem (enables passing of globiC, if used in SuperParticleSystem) | |
template<bool boundsCheck = false> | |
dynamics::ParticleDynamics< T, PARTICLETYPE > * | getDynamics (unsigned iDyn=0) |
Get specific dynamics (optional boundsCheck via .at()) | |
void | addDynamics (std::shared_ptr< dynamics::ParticleDynamics< T, PARTICLETYPE > > &dynamicsSPtr) |
Add dynamics (from shared_pointer of dynamics) | |
template<typename DYNAMICS , typename ... Args> | |
void | defineDynamics (Args &&...args) |
Define dynamics (factory method) | |
void | extend () |
Extend particle system by one particle. | |
void | swapParticles (std::size_t iP, std::size_t jP) |
Swap particles by index. | |
void | process (std::size_t p0, std::size_t p1, T timeStepSize, unsigned iDyn=0) |
Upate/process particle quantities on a subset (mostly local equivalent to collide) | |
void | process (T timeStepSize, unsigned iDyn=0) |
Upate/process particle quantities on all particles. | |
void | update () |
Update particles (equivalent to stream()) | |
auto & | get () |
Expose container. | |
std::vector< std::shared_ptr< dynamics::ParticleDynamics< T, PARTICLETYPE > > > & | getDynamicsVector () |
Expose dynamics vector. | |
template<bool boundsCheck = false> | |
Particle< T, PARTICLETYPE > | get (std::size_t iParticle) |
Create and return particle (analogous to cell TODO: make same baseclass) (optional boundsCheck) | |
Particle< T, PARTICLETYPE > | operator[] (std::size_t iParticle) |
Create and return particle with operator[]. | |
template<typename GROUP , typename FIELD > | |
auto & | getFieldD () |
Get whole Field by GROUP (or base of GROUP) and FIELD. | |
template<typename GROUP , typename FIELD > | |
auto | getFieldPointer (std::size_t iParticle) |
Get FieldPointer by GROUP (or base of GROUP) and FIELD for specific iParticle. | |
template<typename TYPE > | |
auto & | getAssociatedData () |
Get associated data by specifying data type. | |
std::size_t | getSerialSize () const |
Get serial size of dynamic fields group. | |
void | print () |
Print relevant infos. | |
void | checkForErrors () |
Check for erroes. | |
Definition at line 35 of file particleSystem.h.
olb::particles::ParticleSystem< T, PARTICLETYPE >::ParticleSystem | ( | ) |
Default constructor.
Definition at line 34 of file particleSystem.hh.
olb::particles::ParticleSystem< T, PARTICLETYPE >::ParticleSystem | ( | std::size_t | count | ) |
Constructor with initial particle size.
Definition at line 40 of file particleSystem.hh.
olb::particles::ParticleSystem< T, PARTICLETYPE >::ParticleSystem | ( | std::size_t | count, |
typename associatedTypes::template decompose_into< std::tuple > | associatedData ) |
Constructor with initial particle size and associated Data.
Definition at line 46 of file particleSystem.hh.
void olb::particles::ParticleSystem< T, PARTICLETYPE >::addDynamics | ( | std::shared_ptr< dynamics::ParticleDynamics< T, PARTICLETYPE > > & | dynamicsSPtr | ) |
Add dynamics (from shared_pointer of dynamics)
Definition at line 104 of file particleSystem.hh.
|
inline |
Definition at line 87 of file particleSystem.h.
void olb::particles::ParticleSystem< T, PARTICLETYPE >::checkForErrors | ( | ) |
Check for erroes.
Definition at line 228 of file particleSystem.hh.
void olb::particles::ParticleSystem< T, PARTICLETYPE >::defineDynamics | ( | Args &&... | args | ) |
Define dynamics (factory method)
Definition at line 112 of file particleSystem.hh.
|
inline |
Definition at line 88 of file particleSystem.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::ParticleSystem< T, PARTICLETYPE >::extend | ( | ) |
Extend particle system by one particle.
Definition at line 117 of file particleSystem.hh.
auto & olb::particles::ParticleSystem< T, PARTICLETYPE >::get | ( | ) |
Expose container.
Definition at line 149 of file particleSystem.hh.
Particle< T, PARTICLETYPE > olb::particles::ParticleSystem< T, PARTICLETYPE >::get | ( | std::size_t | iParticle | ) |
Create and return particle (analogous to cell TODO: make same baseclass) (optional boundsCheck)
Definition at line 162 of file particleSystem.hh.
auto & olb::particles::ParticleSystem< T, PARTICLETYPE >::getAssociatedData | ( | ) |
Get associated data by specifying data type.
Definition at line 205 of file particleSystem.hh.
dynamics::ParticleDynamics< T, PARTICLETYPE > * olb::particles::ParticleSystem< T, PARTICLETYPE >::getDynamics | ( | unsigned | iDyn = 0 | ) |
Get specific dynamics (optional boundsCheck via .at())
Definition at line 93 of file particleSystem.hh.
std::vector< std::shared_ptr< dynamics::ParticleDynamics< T, PARTICLETYPE > > > & olb::particles::ParticleSystem< T, PARTICLETYPE >::getDynamicsVector | ( | ) |
Expose dynamics vector.
Definition at line 155 of file particleSystem.hh.
auto & olb::particles::ParticleSystem< T, PARTICLETYPE >::getFieldD | ( | ) |
Get whole Field by GROUP (or base of GROUP) and FIELD.
Definition at line 184 of file particleSystem.hh.
auto olb::particles::ParticleSystem< T, PARTICLETYPE >::getFieldPointer | ( | std::size_t | iParticle | ) |
Get FieldPointer by GROUP (or base of GROUP) and FIELD for specific iParticle.
Definition at line 194 of file particleSystem.hh.
std::size_t olb::particles::ParticleSystem< T, PARTICLETYPE >::getSerialSize | ( | ) | const |
Get serial size of dynamic fields group.
Definition at line 213 of file particleSystem.hh.
Particle< T, PARTICLETYPE > olb::particles::ParticleSystem< T, PARTICLETYPE >::operator[] | ( | std::size_t | iParticle | ) |
Create and return particle with operator[].
Definition at line 177 of file particleSystem.hh.
void olb::particles::ParticleSystem< T, PARTICLETYPE >::print | ( | ) |
Print relevant infos.
Definition at line 219 of file particleSystem.hh.
void olb::particles::ParticleSystem< T, PARTICLETYPE >::process | ( | std::size_t | p0, |
std::size_t | p1, | ||
T | timeStepSize, | ||
unsigned | iDyn = 0 ) |
Upate/process particle quantities on a subset (mostly local equivalent to collide)
Definition at line 131 of file particleSystem.hh.
void olb::particles::ParticleSystem< T, PARTICLETYPE >::process | ( | T | timeStepSize, |
unsigned | iDyn = 0 ) |
Upate/process particle quantities on all particles.
Definition at line 142 of file particleSystem.hh.
|
constexpr |
Size of ParticleSystem.
Definition at line 55 of file particleSystem.hh.
|
constexpr |
Size of ParticleSystem (enables passing of globiC, if used in SuperParticleSystem)
Definition at line 74 of file particleSystem.hh.
void olb::particles::ParticleSystem< T, PARTICLETYPE >::swapParticles | ( | std::size_t | iP, |
std::size_t | jP ) |
Swap particles by index.
Definition at line 124 of file particleSystem.hh.
void olb::particles::ParticleSystem< T, PARTICLETYPE >::update | ( | ) |
Update particles (equivalent to stream())