AutoPas  3.0.0
Loading...
Searching...
No Matches
Functions
autopas::SearchSpaceGenerators Namespace Reference

Generators for search spaces. More...

Functions

std::set< Configuration > cartesianProduct (const std::set< ContainerOption > &allowedContainerOptions, const std::set< TraversalOption > &allowedTraversalOptions, const std::set< LoadEstimatorOption > &allowedLoadEstimatorOptions, const std::set< DataLayoutOption > &allowedDataLayoutOptions, const std::set< Newton3Option > &allowedNewton3Options, const NumberSet< double > *allowedCellSizeFactors, const std::set< VectorizationPatternOption > &allowedVecPatternOptions, const InteractionTypeOption &interactionType, bool throwIfNone=true)
 Fills the search space with the cartesian product of the given options (minus invalid combinations).
 
std::set< double > calculateRelevantCsfs (const NumberInterval< double > &numberInterval, double interactionLength, double domainLengthX)
 For a given domain parametrization, calculate which cell size factors (csf) in an interval actually are useful to generate distinct numbers of cells.
 

Detailed Description

Generators for search spaces.

Function Documentation

◆ calculateRelevantCsfs()

std::set< double > autopas::SearchSpaceGenerators::calculateRelevantCsfs ( const NumberInterval< double > &  numberInterval,
double  interactionLength,
double  domainLengthX 
)

For a given domain parametrization, calculate which cell size factors (csf) in an interval actually are useful to generate distinct numbers of cells.

A cell is assumed to be of side length interactionLength * csf.

Parameters
numberInterval
interactionLength
domainLengthXOnly consider the domain length in one dimension, since the csf is also one dimensional.
Returns
Set of cell size factors that yield different numbers of cells.

◆ cartesianProduct()

std::set< Configuration > autopas::SearchSpaceGenerators::cartesianProduct ( const std::set< ContainerOption > &  allowedContainerOptions,
const std::set< TraversalOption > &  allowedTraversalOptions,
const std::set< LoadEstimatorOption > &  allowedLoadEstimatorOptions,
const std::set< DataLayoutOption > &  allowedDataLayoutOptions,
const std::set< Newton3Option > &  allowedNewton3Options,
const NumberSet< double > *  allowedCellSizeFactors,
const std::set< VectorizationPatternOption > &  allowedVecPatternOptions,
const InteractionTypeOption &  interactionType,
bool  throwIfNone = true 
)

Fills the search space with the cartesian product of the given options (minus invalid combinations).

In other words, generate every valid combination of the given options.

Parameters
allowedContainerOptions
allowedTraversalOptions
allowedLoadEstimatorOptions
allowedDataLayoutOptions
allowedNewton3Options
allowedCellSizeFactors
interactionType
allowedVecPatternOptions
throwIfNoneIf true (default), throw when no valid configuration exists; if false, return an empty set.
Returns
A set containing all valid configurations.