|
| CellBlock3D (std::vector< ParticleCell > &vec, const std::array< double, 3 > &bMin, const std::array< double, 3 > &bMax, double interactionLength, double cellSizeFactor=1.0) |
| Constructor of CellBlock3D.
|
|
| CellBlock3D (const CellBlock3D &)=delete |
| Deleted copy constructor.
|
|
CellBlock3D & | operator= (const CellBlock3D)=delete |
| Deleted assignment operator.
|
|
bool | cellCanContainHaloParticles (index_t index1d) const override |
| Checks if the cell with the one-dimensional index index1d can contain halo particles.
|
|
bool | cellCanContainOwnedParticles (index_t index1d) const override |
| Checks if the cell with the one-dimensional index index1d can contain owned particles.
|
|
ParticleCell & | getCell (index_t index1d) const |
| get the ParticleCell of a specified 1d index.
|
|
ParticleCell & | getCell (const std::array< index_t, 3 > &index3d) const |
| Get the ParticleCell of a specified 3d index.
|
|
void | reserve (size_t numParticles) |
| Reserve memory for a given number of particles.
|
|
void | rebuild (std::vector< ParticleCell > &vec, const std::array< double, 3 > &bMin, const std::array< double, 3 > &bMax, double interactionLength, double cellSizeFactor) |
| Rebuild the cell block.
|
|
ParticleCell & | getContainingCell (const std::array< double, 3 > &pos) const |
| Get the containing cell of a specified position.
|
|
std::pair< std::array< double, 3 >, std::array< double, 3 > > | getCellBoundingBox (index_t index1d) const |
| Get the lower and upper corner of the cell at the 1d index index1d.
|
|
std::pair< std::array< double, 3 >, std::array< double, 3 > > | getCellBoundingBox (const std::array< index_t, 3 > &index3d) const |
| Get the lower and upper corner of the cell at the 3d index index3d.
|
|
std::array< index_t, 3 > | get3DIndexOfPosition (const std::array< double, 3 > &pos) const |
| Get the 3d index of the cell block for a given position.
|
|
index_t | get1DIndexOfPosition (const std::array< double, 3 > &pos) const |
| Get the 1d index of the cell block for a given position.
|
|
const std::array< index_t, 3 > & | getCellsPerDimensionWithHalo () const |
| Get the dimension of the cell block including the halo boxes.
|
|
bool | checkInHalo (const std::array< double, 3 > &position) const |
| Checks whether a given position is inside the halo region of the managed cell block.
|
|
void | clearHaloCells () |
| Deletes all particles in the halo cells of the managed cell block.
|
|
std::vector< ParticleCell * > | getNearbyHaloCells (const std::array< double, 3 > &position, double allowedDistance) const |
| Get the halo cells around a given point.
|
|
const std::array< double, 3 > & | getHaloBoxMin () const |
| Get the lower corner of the halo region.
|
|
const std::array< double, 3 > & | getHaloBoxMax () const |
| Get the upper corner of the halo region.
|
|
unsigned long | getCellsPerInteractionLength () const |
| Get the number of cells per interaction length.
|
|
const std::array< double, 3 > & | getCellLength () const |
| Get the cell lengths.
|
|
index_t | getNumCells () const |
| Get the number of cells in this block.
|
|
index_t | getFirstOwnedCellIndex () const |
| 1D id of the first cell that is not in the halo.
|
|
index_t | getLastOwnedCellIndex () const |
| 1D id of the last cell before there are only halo cells left.
|
|
Public Member Functions inherited from autopas::internal::CellBorderAndFlagManager |
virtual | ~CellBorderAndFlagManager ()=default |
| Cestructor.
|
|
virtual bool | cellCanContainHaloParticles (index_t index1d) const =0 |
| Checks if the cell with the one-dimensional index index1d can contain halo particles.
|
|
virtual bool | cellCanContainOwnedParticles (index_t index1d) const =0 |
| Checks if the cell with the one-dimensional index index1d can contain owned particles.
|
|
bool | ignoreCellForIteration (index_t index1d, IteratorBehavior behavior) const |
| Checks if cell with index1d can be ignored for iteration with currently selected behavior.
|
|
template<class
ParticleCell>
class autopas::internal::CellBlock3D< ParticleCell >
Class that manages a block of ParticleCells.
It is used to resize the cell block and to handle the conversion of 3d to 1d indices.
- Template Parameters
-