|
| | CellFunctor3B (ParticleFunctor_T &f, const double sortingCutoff, DataLayoutOption dataLayout, bool useNewton3) |
| | The constructor of CellFunctor3B.
|
| |
| void | processCell (ParticleCell_T &cell) |
| | Process the interactions inside one cell.
|
| |
| void | processCellPair (ParticleCell_T &cell1, ParticleCell_T &cell2, const std::array< double, 3 > &sortingDirection={0., 0., 0.}) |
| | Process the interactions between the particles of cell1 with particles of cell2.
|
| |
| void | processCellTriple (ParticleCell_T &cell1, ParticleCell_T &cell2, ParticleCell_T &cell3, const std::array< double, 3 > &sortingDirection={0., 0., 0.}) |
| | Process the interactions between 3 particles, all located in a different cell.
|
| |
| DataLayoutOption::Value | getDataLayout () const |
| | Getter.
|
| |
| bool | getNewton3 () const |
| | Getter.
|
| |
| bool | getBidirectional () const |
| | Getter.
|
| |
| void | setSortingThreshold (size_t sortingThreshold) |
| | Set the sorting-threshold If the sum of the number of particles in three cells is greater or equal to that value, the CellFunctor creates a sorted view of the particles to avoid unnecessary distance checks.
|
| |
template<class ParticleCell_T, class ParticleFunctor_T, bool bidirectional = true>
class autopas::internal::CellFunctor3B< ParticleCell_T, ParticleFunctor_T, bidirectional >
A cell functor.
This functor is built from the normal Functor of the template type ParticleFunctor_T. It is an internal object to handle interactions between up to three cells of particles.
- Template Parameters
-
| ParticleCell_T | |
| ParticleFunctor_T | the functor which is used for particle interactions |
| bidirectional | if no newton3 is used, processCellPair(..) and processCellPair(..) should handle interactions for particles from all cells. |
template<class ParticleCell_T , class ParticleFunctor_T , bool bidirectional>
| void autopas::internal::CellFunctor3B< ParticleCell_T, ParticleFunctor_T, bidirectional >::processCellPair |
( |
ParticleCell_T & |
cell1, |
|
|
ParticleCell_T & |
cell2, |
|
|
const std::array< double, 3 > & |
sortingDirection = {0., 0., 0.} |
|
) |
| |
Process the interactions between the particles of cell1 with particles of cell2.
This includes both triwise interactions with 2 particles from cell1 and 1 particle from cell2 as well as 1 particle from cell1 and 2 particles from cell2.
- Parameters
-
| cell1 | |
| cell2 | |
| sortingDirection | Normalized vector connecting centers of cell1 and cell2. If no parameter or {0, 0, 0} is given, sorting will be disabled. |