|
| using | OffsetPairSorting = std::tuple< unsigned long, unsigned long, std::array< double, 3 > > |
| | Type Alias for the C08 base step containing cell offsets.
|
| |
| using | OffsetTripletSorting = std::tuple< unsigned long, unsigned long, unsigned long, std::array< double, 3 > > |
| | Type Alias for the C08 base step containing cell offsets for cell triplets.
|
| |
| using | OffsetPair = std::pair< unsigned long, unsigned long > |
| | An offset is the distance from a base cell to another cell in one dimensional coordinates.
|
| |
| using | OffsetTriplet = std::tuple< unsigned long, unsigned long, unsigned long > |
| | An offset is the distance from a base cell to another cell in one-dimensional coordinates.
|
| |
|
using | OffsetPairVector = std::vector< OffsetPair > |
| | A vector of OffsetPairs.
|
| |
|
using | OffsetTripletVector = std::vector< OffsetTriplet > |
| | A vector of OffsetTriplets.
|
| |
|
template<C08OffsetMode Mode> |
| using | OffsetPairType = std::vector< std::conditional_t< Mode==C08OffsetMode::sorting, OffsetPairSorting, std::conditional_t< Mode==C08OffsetMode::c04NoSorting, OffsetPairVector, OffsetPair > > > |
| | Template Magic Parameter Alias, which links the types OffsetPairSorting, OffsetPair and OffsetPairVector.
|
| |
|
template<C08OffsetMode Mode> |
| using | OffsetTripletType = std::vector< std::conditional_t< Mode==C08OffsetMode::sorting, OffsetTripletSorting, std::conditional_t< Mode==C08OffsetMode::c04NoSorting, OffsetTripletVector, OffsetTriplet > > > |
| | Template Magic Parameter Alias, which links the types OffsetTripletSorting, OffsetTriplet and OffsetTripletVector.
|
| |
|
| template<C08OffsetMode Mode> |
| OffsetPairType< Mode > | computePairwiseCellOffsetsC08 (const std::array< unsigned long, 3 > &cellsPerDimension, const std::array< double, 3 > &cellLength, double interactionLength) |
| | Computes the cell pair offsets for the C08 base step and the normalized vector between the pair of cell-centers, which is later used for early stopping the evaluation of the pairwise cell interactions due to being out-of-reach.
|
| |
| template<C08OffsetMode Mode> |
| OffsetTripletType< Mode > | computeTriwiseCellOffsetsC08 (const std::array< unsigned long, 3 > &cellsPerDimension, const std::array< double, 3 > &cellLength, double interactionLength) |
| | Computes the cell triplet offsets for the C08 base step.
|
| |
Helper function and type aliases for the C08 base step traversal.
| OffsetTripletType< Mode > autopas::LCC08CellHandlerUtility::computeTriwiseCellOffsetsC08 |
( |
const std::array< unsigned long, 3 > & |
cellsPerDimension, |
|
|
const std::array< double, 3 > & |
cellLength, |
|
|
double |
interactionLength |
|
) |
| |
Computes the cell triplet offsets for the C08 base step.
The offsets include unique triplets {a, b, c}, pairs as {a, b, b} (not {a, a, b}) and the base cell only {0, 0, 0}. If the Mode is sorting, a normalized vector connecting the base cell and the second cell is additionally returned.
- Template Parameters
-
- Parameters
-
| cellsPerDimension | the number of cells per dimension |
| cellLength | the length of a cell in CellBlock3D. |
| interactionLength | the interaction length consisting of cutoff + skin |
- Returns
- depending on template parameters a
- vector containing cell offset triplets
- vector containing cell offsets + sorting/vector between cell centers of the base cell and second cell
- vector of vector containing cell offsets (pre-sorted after X dimension)