Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::ParticleSystemBase< _ParticleType > Class Template Reference

#include <ParticleSystemBase.h>

Inheritance diagram for model::ParticleSystemBase< _ParticleType >:
Collaboration diagram for model::ParticleSystemBase< _ParticleType >:

Public Types

typedef _ParticleType ParticleType
typedef _ParticleType::PositionType PositionType
typedef SpatialCellObserver< _ParticleType, _ParticleType::dim > SpatialCellObserverType
typedef SpatialCellObserverType::SpatialCellType SpatialCellType
typedef std::deque< _ParticleType > ParticleContainerType

Public Member Functions

template<typename ... AdditionalConstructorTypes>
ParticleType * addParticle (const PositionType &p, const AdditionalConstructorTypes &... args)
void clearParticles ()
const ParticleContainerType & particles () const
const SpatialCellObserverType::CellMapType & cells () const
template<typename OtherParticleType, typename FieldType, typename... OtherSourceTypes>
void computeField (OtherParticleType &part, const OtherSourceTypes &... otherSources) const

Static Public Member Functions

static void setCellSize (const double &cellSize)

Friends

template<class T>
T & operator<< (T &os, const ParticleSystemBase< ParticleType > &system)

Detailed Description

template<typename _ParticleType>
class model::ParticleSystemBase< _ParticleType >

Definition at line 24 of file ParticleSystemBase.h.

Member Typedef Documentation

◆ ParticleContainerType

template<typename _ParticleType>
typedef std::deque<_ParticleType> model::ParticleSystemBase< _ParticleType >::ParticleContainerType

Definition at line 34 of file ParticleSystemBase.h.

◆ ParticleType

template<typename _ParticleType>
typedef _ParticleType model::ParticleSystemBase< _ParticleType >::ParticleType

Definition at line 30 of file ParticleSystemBase.h.

◆ PositionType

template<typename _ParticleType>
typedef _ParticleType::PositionType model::ParticleSystemBase< _ParticleType >::PositionType

Definition at line 31 of file ParticleSystemBase.h.

◆ SpatialCellObserverType

template<typename _ParticleType>
typedef SpatialCellObserver<_ParticleType,_ParticleType::dim> model::ParticleSystemBase< _ParticleType >::SpatialCellObserverType

Definition at line 32 of file ParticleSystemBase.h.

◆ SpatialCellType

template<typename _ParticleType>
typedef SpatialCellObserverType::SpatialCellType model::ParticleSystemBase< _ParticleType >::SpatialCellType

Definition at line 33 of file ParticleSystemBase.h.

Member Function Documentation

◆ addParticle()

template<typename _ParticleType>
template<typename ... AdditionalConstructorTypes>
ParticleType * model::ParticleSystemBase< _ParticleType >::addParticle ( const PositionType & p,
const AdditionalConstructorTypes &... args )
inline

Adds a ParticleType particle with position p and an arbitrary (variadic) number of additional constructor parameters.

Returns
a pointer to the newly created particle

Definition at line 38 of file ParticleSystemBase.h.

◆ cells()

template<typename _ParticleType>
const SpatialCellObserverType::CellMapType & model::ParticleSystemBase< _ParticleType >::cells ( ) const
inline

Definition at line 62 of file ParticleSystemBase.h.

◆ clearParticles()

template<typename _ParticleType>
void model::ParticleSystemBase< _ParticleType >::clearParticles ( )
inline

Removes all particles from the ParticleSystem

Definition at line 48 of file ParticleSystemBase.h.

◆ computeField()

template<typename _ParticleType>
template<typename OtherParticleType, typename FieldType, typename... OtherSourceTypes>
void model::ParticleSystemBase< _ParticleType >::computeField ( OtherParticleType & part,
const OtherSourceTypes &... otherSources ) const
inline
Parameters
[in]part
[in]otherSourcescomputes the field FieldType for the only particle part, without parallelization

-2 loop over neighbor cells of current particle

-3 loop over particles in the current neighbor cell

Definition at line 77 of file ParticleSystemBase.h.

◆ particles()

template<typename _ParticleType>
const ParticleContainerType & model::ParticleSystemBase< _ParticleType >::particles ( ) const
inline

Definition at line 55 of file ParticleSystemBase.h.

◆ setCellSize()

template<typename _ParticleType>
void model::ParticleSystemBase< _ParticleType >::setCellSize ( const double & cellSize)
inlinestatic

Definition at line 68 of file ParticleSystemBase.h.

◆ operator<<

template<typename _ParticleType>
template<class T>
T & operator<< ( T & os,
const ParticleSystemBase< ParticleType > & system )
friend

Operator << uses ParticleType-specific operator <<

Definition at line 126 of file ParticleSystemBase.h.


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