This class is an adapter for implementing n-body codes and molecular dynamics (MD) applications with LibGeoDecomp. More...
#include <boxcell.h>
Classes | |
class | API |
class | NeighborhoodAdapter |
Public Types | |
typedef CONTAINER | Container |
typedef Container::value_type | Cargo |
typedef Container::value_type | value_type |
typedef Container::const_iterator | const_iterator |
typedef Container::iterator | iterator |
typedef APITraits::SelectTopology < Cargo >::Value | Topology |
Public Member Functions | |
BoxCell (const FloatCoord< DIM > &origin=Coord< DIM >(), const FloatCoord< DIM > &dimension=Coord< DIM >()) | |
const_iterator | begin () const |
iterator | begin () |
const_iterator | end () const |
iterator | end () |
void | insert (const Cargo &particle) |
std::size_t | size () const |
const Cargo & | operator[] (const std::size_t i) const |
Cargo & | operator[] (const std::size_t i) |
BoxCell & | operator<< (const Cargo &cargo) |
template<class HOOD > | |
void | update (const HOOD &hood, const int nanoStep) |
template<class NEIGHBORHOOD_ADAPTER_SELF , class NEIGHBORHOOD_ADAPTER_ALL > | |
void | updateCargo (const NEIGHBORHOOD_ADAPTER_SELF &ownNeighbors, const NEIGHBORHOOD_ADAPTER_ALL &allNeighbors, const int nanoStep) |
Static Public Attributes | |
static const int | DIM = Topology::DIM |
Private Member Functions | |
template<typename ITERATOR > | |
void | addContainedParticles (const ITERATOR &begin, const ITERATOR &end) |
Private Attributes | |
FloatCoord< DIM > | origin |
FloatCoord< DIM > | dimension |
Container | particles |
Friends | |
class | BoxCellTest |
This class is an adapter for implementing n-body codes and molecular dynamics (MD) applications with LibGeoDecomp.
A BoxCell represents a fixed volume of the simulation space. It stores those particles (of type Cargo) which reside in its area in the given CONTAINER type (e.g. LibGeoDecomp::FixedArray or std::vector). Particles can access neighboring particles in a given distance during update().
typedef Container::value_type LibGeoDecomp::BoxCell< CONTAINER >::Cargo |
typedef Container::const_iterator LibGeoDecomp::BoxCell< CONTAINER >::const_iterator |
typedef CONTAINER LibGeoDecomp::BoxCell< CONTAINER >::Container |
typedef Container::iterator LibGeoDecomp::BoxCell< CONTAINER >::iterator |
typedef APITraits::SelectTopology<Cargo>::Value LibGeoDecomp::BoxCell< CONTAINER >::Topology |
typedef Container::value_type LibGeoDecomp::BoxCell< CONTAINER >::value_type |
LibGeoDecomp::BoxCell< CONTAINER >::BoxCell | ( | const FloatCoord< DIM > & | origin = Coord<DIM>() , |
|
const FloatCoord< DIM > & | dimension = Coord<DIM>() | |||
) | [inline, explicit] |
void LibGeoDecomp::BoxCell< CONTAINER >::addContainedParticles | ( | const ITERATOR & | begin, | |
const ITERATOR & | end | |||
) | [inline, private] |
iterator LibGeoDecomp::BoxCell< CONTAINER >::begin | ( | ) | [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
const_iterator LibGeoDecomp::BoxCell< CONTAINER >::begin | ( | ) | const [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
iterator LibGeoDecomp::BoxCell< CONTAINER >::end | ( | ) | [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
const_iterator LibGeoDecomp::BoxCell< CONTAINER >::end | ( | ) | const [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
void LibGeoDecomp::BoxCell< CONTAINER >::insert | ( | const Cargo & | particle | ) | [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
BoxCell& LibGeoDecomp::BoxCell< CONTAINER >::operator<< | ( | const Cargo & | cargo | ) | [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
Cargo& LibGeoDecomp::BoxCell< CONTAINER >::operator[] | ( | const std::size_t | i | ) | [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
const Cargo& LibGeoDecomp::BoxCell< CONTAINER >::operator[] | ( | const std::size_t | i | ) | const [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
std::size_t LibGeoDecomp::BoxCell< CONTAINER >::size | ( | ) | const [inline] |
References LibGeoDecomp::BoxCell< CONTAINER >::particles.
void LibGeoDecomp::BoxCell< CONTAINER >::update | ( | const HOOD & | hood, | |
const int | nanoStep | |||
) | [inline] |
void LibGeoDecomp::BoxCell< CONTAINER >::updateCargo | ( | const NEIGHBORHOOD_ADAPTER_SELF & | ownNeighbors, | |
const NEIGHBORHOOD_ADAPTER_ALL & | allNeighbors, | |||
const int | nanoStep | |||
) | [inline] |
friend class BoxCellTest [friend] |
const int LibGeoDecomp::BoxCell< CONTAINER >::DIM = Topology::DIM [static] |
FloatCoord<DIM> LibGeoDecomp::BoxCell< CONTAINER >::dimension [private] |
Referenced by LibGeoDecomp::BoxCell< CONTAINER >::addContainedParticles().
FloatCoord<DIM> LibGeoDecomp::BoxCell< CONTAINER >::origin [private] |
Referenced by LibGeoDecomp::BoxCell< CONTAINER >::addContainedParticles().
Container LibGeoDecomp::BoxCell< CONTAINER >::particles [private] |
Referenced by LibGeoDecomp::BoxCell< CONTAINER >::addContainedParticles(), LibGeoDecomp::BoxCell< CONTAINER >::begin(), LibGeoDecomp::BoxCell< CONTAINER >::end(), LibGeoDecomp::BoxCell< CONTAINER >::insert(), LibGeoDecomp::BoxCell< CONTAINER >::operator<<(), LibGeoDecomp::BoxCell< CONTAINER >::operator[](), LibGeoDecomp::BoxCell< CONTAINER >::size(), and LibGeoDecomp::BoxCell< CONTAINER >::updateCargo().