AutoPas  3.0.0
Loading...
Searching...
No Matches
ContainerSelectorInfo.h
Go to the documentation of this file.
1
7#pragma once
8#include <array>
9#include <memory>
10
12
13namespace autopas {
18 public:
23 : boxMin({0., 0., 0.}),
24 boxMax({1., 1., 1.}),
25 cutoff(1.),
27 verletSkin(0.),
31
45 explicit ContainerSelectorInfo(const std::array<double, 3> &boxMin, const std::array<double, 3> &boxMax,
46 double cutoff, double cellSizeFactor, double verletSkin,
47 unsigned int verletClusterSize, size_t sortingThreshold,
49 : boxMin(boxMin),
57
63 bool operator==(const ContainerSelectorInfo &other) const {
64 return cellSizeFactor == other.cellSizeFactor and verletSkin == other.verletSkin and
67 }
68
74 bool operator!=(const ContainerSelectorInfo &other) const { return !(*this == other); }
75
84 bool operator<(const ContainerSelectorInfo &other) {
86 std::tie(other.cellSizeFactor, other.verletSkin, other.verletClusterSize, other.sortingThreshold,
87 other.loadEstimator);
88 }
89
93 std::array<double, 3> boxMin;
94
98 std::array<double, 3> boxMax;
99
103 double cutoff;
104
116 unsigned int verletClusterSize;
125};
126
127} // namespace autopas
Info to generate a container.
Definition: ContainerSelectorInfo.h:17
bool operator==(const ContainerSelectorInfo &other) const
Equality between ContainerSelectorInfo.
Definition: ContainerSelectorInfo.h:63
std::array< double, 3 > boxMin
Lower corner of the container.
Definition: ContainerSelectorInfo.h:93
bool operator!=(const ContainerSelectorInfo &other) const
Inequality between ContainerSelectorInfo.
Definition: ContainerSelectorInfo.h:74
double cellSizeFactor
cellSizeFactor Cell size factor to be used in this container (only relevant for LinkedCells)
Definition: ContainerSelectorInfo.h:108
ContainerSelectorInfo()
Default Constructor.
Definition: ContainerSelectorInfo.h:22
bool operator<(const ContainerSelectorInfo &other)
Comparison operator for ContainerSelectorInfo objects.
Definition: ContainerSelectorInfo.h:84
double cutoff
Cutoff radius to be used in this container.
Definition: ContainerSelectorInfo.h:103
std::array< double, 3 > boxMax
Upper corner of the container.
Definition: ContainerSelectorInfo.h:98
LoadEstimatorOption loadEstimator
Load estimator for balanced sliced traversals.
Definition: ContainerSelectorInfo.h:124
double verletSkin
Length added to the cutoff for the verlet lists' skin inbetween rebuilding lists.
Definition: ContainerSelectorInfo.h:112
ContainerSelectorInfo(const std::array< double, 3 > &boxMin, const std::array< double, 3 > &boxMax, double cutoff, double cellSizeFactor, double verletSkin, unsigned int verletClusterSize, size_t sortingThreshold, LoadEstimatorOption loadEstimator)
Constructor.
Definition: ContainerSelectorInfo.h:45
unsigned int verletClusterSize
Size of Verlet Clusters.
Definition: ContainerSelectorInfo.h:116
size_t sortingThreshold
Threshold beyond which, if the sum of the number of particles in two cells is greater,...
Definition: ContainerSelectorInfo.h:120
Class representing the load estimator choices.
Definition: LoadEstimatorOption.h:18
@ none
No load estimator.
Definition: LoadEstimatorOption.h:27
This is the main namespace of AutoPas.
Definition: AutoPasDecl.h:32