Class representing the container choices. More...
#include <ContainerOption.h>


| Public Types | |
| enum | Value { directSum , linkedCells , linkedCellsReferences , varVerletListsAsBuild , verletClusterLists , verletLists , verletListsCells , pairwiseVerletLists , octree } | 
| Possible choices for the particle container type.  More... | |
| Public Member Functions | |
| ContainerOption ()=default | |
| Constructor. | |
| constexpr | ContainerOption (Value option) | 
| Constructor from value. | |
| constexpr | operator Value () const | 
| Cast to value. | |
|  Public Member Functions inherited from autopas::options::Option< ContainerOption > | |
| operator bool ()=delete | |
| Prevents cast to bool by deleting the conversion operator. | |
| std::string | to_string (bool fixedLength=false) const | 
| Converts an Option object to its respective string representation. | |
| Static Public Member Functions | |
| static std::set< ContainerOption > | getDiscouragedOptions () | 
| Set of options that are very unlikely to be interesting. | |
| static std::map< ContainerOption, std::string > | getOptionNames () | 
| Provides a way to iterate over the possible choices of ContainerOption. | |
|  Static Public Member Functions inherited from autopas::options::Option< ContainerOption > | |
| static std::set< ContainerOption > | getAllOptions () | 
| Provides a way to iterate over the possible options. | |
| static std::set< ContainerOption > | getMostOptions () | 
| Provides a way to iterate over the possible options minus those that are very unlikely to be on interest. | |
| static size_t | maxStringLength () | 
| Returns the number of characters in the string representation of the longest option. | |
| static OutputContainer | parseOptions (const std::string &optionsString) | 
| Converts a string of options to a set of enums. | |
| static ContainerOption | parseOptionExact (const std::string &optionString) | 
| Converts a string to an enum. | |
Class representing the container choices.
Possible choices for the particle container type.
| Enumerator | |
|---|---|
| directSum | DirectSum : O(N^2) distance check of all particles and summation of those in cutoff. Minimal overhead but bad complexity. | 
| linkedCells | LinkedCells : Segmentation of the domain into a regular cell grid. Only interactions with particles from neighbor cells are considered. Good data locality and vectorizability but low hit rate of particles in cutoff. | 
| linkedCellsReferences | LinkedCellsReferences : Same algorithm as LinkedCells but stores all particles in one big vector. Cells only contain references to this vector. | 
| varVerletListsAsBuild | VarVerletLists interface with neighbor list type VerletNeighborListAsBuild : Same algorithm as VerletLists. Remembers which thread created the neighbor list of each particle to exploit this information to avoid data races during the parallel force calculation. | 
| verletClusterLists | VerletClusterLists : Particles are grouped in clusters of fixed size. Similar to VerletLists for every cluster a list of neighbor clusters is generated. Clusters always interact with whole clusters so vectorization is possible. | 
| verletLists | VerletLists : Built on top of LinkedCells, a neighbor list is generated for every particle and updated in fixed intervals. Memory access, also in SoA mode is scattered but high hit rate of particles in cutoff. | 
| verletListsCells | VerletListsCells : Similar to VerletLists but Lists are associated with the underlying cells to achieve location information. Parallelization options similar to LinkedCells. | 
| pairwiseVerletLists | PairwiseVerletLists : Also similar to VerletLists but the lists are associated to each pair of neighboring cells. Improves data locality and cache efficiency. | 
| octree | Octree : Particles are put into an octree. This data structure is optimized if the data is non-uniformly distributed since it is space adaptive | 
| 
 | inlineconstexpr | 
Constructor from value.
| option | 
| 
 | inlinestatic | 
Set of options that are very unlikely to be interesting.
| 
 | inlinestatic | 
Provides a way to iterate over the possible choices of ContainerOption.
| 
 | inlineconstexpr | 
Cast to value.