114 const SortingDirectionOption cellDirection = SortingDirectionOption::fromRawArray(sortingDirection);
116 if (cellDirection == SortingDirectionOption::corner) {
119 if (cellDirection == SortingDirectionOption::edge) {
123 }
else if (bidirectional) {
124 if (cellDirection == SortingDirectionOption::corner) {
127 if (cellDirection == SortingDirectionOption::edge) {
132 if (cellDirection == SortingDirectionOption::corner) {
135 if (cellDirection == SortingDirectionOption::edge) {
151 void setThresholdByOption(Newton3Option n3, SortingDirectionOption cellDirection,
bool bidirectional,
size_t value) {
152 if (n3 == Newton3Option::enabled) {
153 switch (cellDirection) {
154 case SortingDirectionOption::corner:
157 case SortingDirectionOption::edge:
160 case SortingDirectionOption::face:
164 }
else if (bidirectional) {
165 switch (cellDirection) {
166 case SortingDirectionOption::corner:
169 case SortingDirectionOption::edge:
172 case SortingDirectionOption::face:
177 switch (cellDirection) {
178 case SortingDirectionOption::corner:
181 case SortingDirectionOption::edge:
184 case SortingDirectionOption::face:
This is the main namespace of AutoPas.
Definition: AutoPasDecl.h:34
Per-Newton3-state, per-SortingDirectionOption pair-sorting thresholds for a 2-body CellFunctor.
Definition: SortingThresholdInfo2B.h:21
void setThresholdByOption(Newton3Option n3, SortingDirectionOption cellDirection, bool bidirectional, size_t value)
Setter to set struct values by configuration, represented by options.
Definition: SortingThresholdInfo2B.h:151
size_t n3FaceThreshold
Threshold for config {n3: on, cellDirection: Face}.
Definition: SortingThresholdInfo2B.h:49
size_t getThresholdByConfig(bool newton3, std::array< double, 3 > sortingDirection, bool bidirectional) const
Getter to automatically get the correct threshold based on current newton3/CellDirection/bidirectiona...
Definition: SortingThresholdInfo2B.h:113
size_t noN3CornerThresholdBidirectional
Threshold for config {n3: off, cellDirection: Corner, bidirectional: true}.
Definition: SortingThresholdInfo2B.h:41
size_t n3EdgeThreshold
Threshold for config {n3: on, cellDirection: Edge}.
Definition: SortingThresholdInfo2B.h:53
size_t n3CornerThreshold
Threshold for config {n3: on, cellDirection: Corner}.
Definition: SortingThresholdInfo2B.h:57
size_t noN3FaceThresholdBidirectional
Threshold for config {n3: off, cellDirection: Face, bidirectional: true}.
Definition: SortingThresholdInfo2B.h:25
size_t noN3EdgeThresholdUnidirectional
Threshold for config {n3: off, cellDirection: Edge, bidirectional: false}.
Definition: SortingThresholdInfo2B.h:37
SortingThresholdInfo2B(size_t uniformThreshold)
Constructor setting every Newton3-state / SortingDirectionOption / bidirectional combination to the s...
Definition: SortingThresholdInfo2B.h:64
SortingThresholdInfo2B(size_t noN3FaceThresholdBidirectional, size_t noN3FaceThresholdUnidirectional, size_t noN3EdgeThresholdBidirectional, size_t noN3EdgeThresholdUnidirectional, size_t noN3CornerThresholdBidirectional, size_t noN3CornerThresholdUnidirectional, size_t n3FaceThreshold, size_t n3EdgeThreshold, size_t n3CornerThreshold)
Constructor to set each per Newton3/CellDirection/bidirectional combination value explicitly.
Definition: SortingThresholdInfo2B.h:89
size_t noN3FaceThresholdUnidirectional
Threshold for config {n3: off, cellDirection: Face, bidirectional: false}.
Definition: SortingThresholdInfo2B.h:29
size_t noN3CornerThresholdUnidirectional
Threshold for config {n3: off, cellDirection: Corner, bidirectional: false}.
Definition: SortingThresholdInfo2B.h:45
size_t noN3EdgeThresholdBidirectional
Threshold for config {n3: off, cellDirection: Edge, bidirectional: true}.
Definition: SortingThresholdInfo2B.h:33
Polymorphic base for sorting-threshold storage.
Definition: SortingThresholdInfoInterface.h:18