AutoPas  3.0.0
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
autopas Namespace Reference

This is the main namespace of AutoPas. More...

Namespaces

namespace  AcquisitionFunction
 Functions used for acquisition prediction used in Gaussian Process models.
 
namespace  AutopasGeneratedFuzzyRuleSyntax
 Namespace that contains the generated parser for FuzzyRuleFiles.
 
namespace  AutopasGeneratedRuleSyntax
 Namespace that contains the generated parser for RuleFiles.
 
namespace  containerIteratorUtils
 Helper functions related to iterators which should not be connected to the ContainerIterator class.
 
namespace  FuzzyLogic
 Namespace that contains the fuzzy logic framework used by the FuzzyTuning-strategy.
 
namespace  GaussianModelTypes
 Aliases shared between GaussianModel based files.
 
namespace  internal
 This namespace is used for implementation specifics.
 
namespace  LCC08CellHandlerUtility
 Helper function and type aliases for the C08 base step traversal.
 
namespace  LeavingParticleCollector
 Namespace to collect leaving particles from a container.
 
namespace  loadEstimators
 Collection of functions for estimating the load required to update a specific region within a containers.
 
namespace  memoryProfiler
 This namespace is used for memory profiling functions.
 
namespace  octree
 Namespace that contains code that is used by the octree internally.
 
namespace  OptimumSelector
 Collection of functions for selecting the optimum value out of a vector of values according to a given strategy.
 
namespace  options
 Namespace that contains the explicitly defined options of AutoPas.
 
namespace  RuleSyntax
 Namespace that contains code for evaluating the RuleBasedTuning-Strategy.
 
namespace  SearchSpaceGenerators
 Generators for search spaces.
 
namespace  smoothing
 Algorithms for creating a smooth function through a series of points.
 
namespace  sph
 In this namespace all functionality of the Smoothed Particle Hydrodynamics module of autopas is present.
 
namespace  tuningLogEntry
 Contains some helpers to write and read the tuning log entries.
 
namespace  utils
 In this namespace some helper classes and functions can be found used inside of AutoPas.
 
namespace  VerletListsCellsHelpers
 Helper functions and type aliases for verlet lists cells.
 

Classes

class  ActiveHarmony
 Interface to the Active Harmony (AH) tuning framework. More...
 
class  AlignedAllocator
 AlignedAllocator class. More...
 
class  AutoPas
 The AutoPas class is intended to be the main point of Interaction for the user. More...
 
struct  AutoPas_MPI_Status
 Dummy for MPI_Status. More...
 
class  AutoPasLock
 AutoPasLock for the sequential case. More...
 
class  AutoTuner
 This class manages all logic related to the auto tuning mechanic. More...
 
struct  AutoTunerInfo
 Helper struct encapsulating most minor information for the auto tuner. More...
 
class  BalancedTraversal
 Base class for traversals utilising load balancing. More...
 
class  BayesianClusterSearch
 Assume that the stochastic distribution of the execution time while fixing discrete variables corresponds to a Gaussian Process. More...
 
class  BayesianSearch
 Assume that the stochastic distribution of the execution time corresponds to a Gaussian Process. More...
 
class  C01BasedTraversal
 This class provides the base for traversals using the c01 base step. More...
 
class  C04BasedTraversal
 This class provides the base for traversals using the c04 base step. More...
 
class  C08BasedTraversal
 This class provides the base for traversals using the c08 base step. More...
 
class  C08TraversalColorChangeNotify
 Constructor of the lc_c08 traversal. More...
 
class  C18BasedTraversal
 This class provides the base for traversals using the c18 base step. More...
 
class  CellBasedParticleContainer
 The CellBasedParticleContainer class stores particles in some object and provides methods to iterate over its particles. More...
 
class  CellTraversal
 A cell pair traversal. More...
 
class  ColorBasedTraversal
 This class provides the base for traversals using base steps based on cell coloring. More...
 
class  ColorChangeObserver
 Observer interface that specifies handling color changes. More...
 
struct  ConfigHash
 Hash function for Configuration objects to be used in e.g. More...
 
class  Configuration
 Class containing multiple options that form an algorithm configuration for the pairwise iteration. More...
 
struct  ConfigurationPattern
 A configuration pattern that matches zero or more actual configurations, used in the rule language. More...
 
class  ContainerIterator
 Public iterator class that iterates over a particle container and additional vectors (which are typically stored in the logic handler). More...
 
class  ContainerSelector
 Selector for a particle container. More...
 
class  ContainerSelectorInfo
 Info to generate a container. More...
 
class  DirectSum
 This class stores all owned particles in a single cell. More...
 
class  DSSequentialTraversal
 This sum defines the traversal typically used by the DirectSum container. More...
 
class  DSTraversalInterface
 Interface for traversals used by the DirectSum container. More...
 
class  EnergySensorOption
 Class representing the different energy sensor options. More...
 
class  Evidence
 Helper class that associates a measurement with the iteration when it was taken. More...
 
class  EvidenceCollection
 Class to manage all evidence. More...
 
class  FeatureVector
 FeatureVector representation of a Configuration. More...
 
class  FeatureVectorEncoder
 Encoder to convert FeatureVector from and to Eigen::Vector. More...
 
class  FLOPLogger
 Helper to log FLOP count and HitRate for AutoPas::iteratePairwise() calls with the functors in the molecular dynamics library to a csv file for easier analysis. More...
 
class  FullParticleCell
 This class handles the storage of particles in their full form. More...
 
class  Functor
 Functor base class. More...
 
class  FuzzyTuning
 A tuning strategy that uses fuzzy logic to make predictions about the performance of configurations. More...
 
class  GaussianCluster
 Model to predicts the output of a blackbox function f(x) for given input x. More...
 
class  GaussianClusterLogger
 Used to print out the clusters of GaussianClusters. More...
 
class  GaussianHyperparameters
 Hyperparameters of Gaussian models and derived matrices used for prediction. More...
 
class  GaussianProcess
 Gaussian process is a stochastical model. More...
 
struct  InstanceCounter
 Class to count autopas instances. More...
 
class  IterationLogger
 Helper to log performance data of AutoPas::computeInteractions() to a csv file for easier analysis. More...
 
struct  IterationMeasurements
 Struct to collect all sorts of measurements taken during a computeInteractions iteration. More...
 
class  LCC01Traversal
 This class provides the c01 traversal and the c01 traversal with combined SoA buffers. More...
 
class  LCC04CombinedSoATraversal
 This class provides the c04 traversal. More...
 
class  LCC04HCPTraversal
 This class provides the c04 hcp traversal. More...
 
class  LCC04SoACellHandler
 This class provides the base for traversals using the c08 base step, but rather use 4 instead of 8 colors for domain coloring. More...
 
class  LCC04Traversal
 This class provides the c04 traversal. More...
 
class  LCC08CellHandler
 This class provides the base for traversals using the c08 base step. More...
 
class  LCC08Traversal
 This class provides the lc_c08 traversal. More...
 
class  LCC18Traversal
 This class provides the lc_c18 traversal. More...
 
class  LCSlicedBalancedTraversal
 This class provides the balanced sliced traversal. More...
 
class  LCSlicedC02Traversal
 This class provides the colored sliced traversal. More...
 
class  LCSlicedTraversal
 This class provides the (locked) sliced traversal. More...
 
class  LCTraversalInterface
 Interface for traversals used by the LinkedCell class. More...
 
class  LinkedCells
 LinkedCells class. More...
 
class  LinkedCellsReferences
 LinkedCells class. More...
 
class  LiveInfo
 This class is able to gather and store important information for a tuning phase from a container and functor. More...
 
class  LiveInfoLogger
 Helper to log the collected LiveInfo data during tuning to a csv file for easier analysis. More...
 
class  LoadEstimatorOption
 Class representing the load estimator choices. More...
 
class  Logger
 Logger class to provide interface to basic functions of the logger. More...
 
class  LogicHandler
 The LogicHandler takes care of the containers s.t. More...
 
class  LogicHandlerInfo
 Class that wraps all arguments for the logic handler to provide a more stable API. More...
 
class  MPIParallelizedStrategy
 This strategy spreads the configuration queue in a round robin fashion over all ranks (with similar domain). More...
 
class  NeighborListsBuffer
 Class for manual memory management of neighbor lists. More...
 
class  NumberInterval
 Class describing an interval. More...
 
class  NumberSet
 Virtual class describing a finite or infinite set of numbers. More...
 
class  NumberSetFinite
 Class describing a finite set of numbers. More...
 
class  Octree
 The octree is a CellBasedParticleContainer that consists internally of two octrees. More...
 
class  OctreeInnerNode
 Inner nodes of the octree data structure. More...
 
class  OctreeLeafNode
 An octree leaf node. More...
 
class  OctreeLogger
 Log an octree to a .vtk file. More...
 
class  OctreeNodeInterface
 The base class that provides the necessary function definitions that can be applied to an octree. More...
 
class  OctreeNodeWrapper
 This class wraps the functionality provided by the octree leaves and inner nodes in a structure that adheres to the ParticleCell concept. More...
 
class  OTC01Traversal
 This traversal is capable of iterating over particles stored in the Octree data structure. More...
 
class  OTC18Traversal
 This traversal is capable of iterating over particles stored in the Octree data structure. More...
 
class  OTTraversalInterface
 This interface exists to provide a row interface for octree to add its cells. More...
 
class  PairwiseFunctor
 PairwiseFunctor class. More...
 
class  ParticleBase
 Minimal definition of a basic particle. More...
 
class  ParticleCell
 Class for Cells of Particles. More...
 
class  ParticleContainerInterface
 The ParticleContainerInterface class provides a basic interface for all Containers within AutoPas. More...
 
class  PredictionLogger
 Helper to log prediction data of PredictiveTuning to a csv file for easier analysis. More...
 
class  PredictiveTuning
 In every tuning phase, this strategy makes a prediction about the run time for every configuration. More...
 
class  Random
 Class for random algorithms. More...
 
class  RandomSearch
 Randomly test a given number of configurations and select the fastest. More...
 
class  ReferenceParticleCell
 This class handles the storage of particles in their full form. More...
 
class  RuleBasedTuning
 A tuning strategy that uses information collected live from the domain to exclude configurations that knowingly perform worse than other configurations in the current simulation state. More...
 
class  RuleVM
 A VM that is capable of executing a program with simple instructions on a stack of MemoryCells. More...
 
class  SlicedBalancedBasedTraversal
 This class provides a load balanced version of the base sliced traversal. More...
 
class  SlicedBasedTraversal
 This class provides base for locked- and colored sliced traversals. More...
 
class  SlicedC02BasedTraversal
 This class provides the colored sliced traversal. More...
 
class  SlicedLockBasedTraversal
 This class provides the sliced traversal. More...
 
class  SlowConfigFilter
 Acts as a blacklist for configurations that have proven to be very slow. More...
 
class  SoA
 Structur of the array class. More...
 
class  SoAView
 View on a fixed part of a SoA between a start index and an end index. More...
 
class  SortByName
 This strategy sorts the given queue by Configuration::operator<() to minimize the container conversion overhead. More...
 
class  SortedCellView
 This class defines a sorted view on a given ParticleCell. More...
 
class  TraversalInterface
 This interface serves as a common parent class for all traversals. More...
 
class  TraversalSelector
 TraversalSelector is used for the construction of the list in the applyBuildFunctor method. More...
 
class  TraversalSelectorInfo
 Info for traversals of a specific container. More...
 
struct  TrivialHash
 Trivial hash for enums. More...
 
class  TriwiseFunctor
 TriwiseFunctor class. More...
 
class  TuningDataLogger
 Helper to log results of the tuning process to a csv file for easier analysis. More...
 
class  TuningMetricOption
 Class representing the load estimator choices. More...
 
class  TuningResultLogger
 Helper to log results of the tuning process to a csv file for easier analysis. More...
 
struct  TuningStrategyFactoryInfo
 Helper struct encapsulating most information needed to build TuningStrategies by the TuningStrategyFactory. More...
 
class  TuningStrategyInterface
 Interface for tuning strategies for the auto tuner. More...
 
class  TuningStrategyLogger
 This dummy strategy logs any call made to the list of strategies. More...
 
class  TuningStrategyLogReplayer
 This class is able to replay a log file to a tuning strategy to observe its behavior in the logged scenario. More...
 
class  VarVerletLists
 Variable Verlet Lists container with different neighbor lists. More...
 
class  VCLC01BalancedTraversal
 Traversal for VerletClusterLists. More...
 
class  VCLC06Traversal
 A traversal for VerletClusterLists that uses a coloring over the grids of the container. More...
 
class  VCLClusterIterationTraversal
 Traversal for VerletClusterLists. More...
 
class  VCLSlicedBalancedTraversal
 This traversal splits the domain into slices along the longer dimension among x and y. More...
 
class  VCLSlicedC02Traversal
 This traversal splits the domain into slices along the longer dimension among x and y. More...
 
class  VCLSlicedTraversal
 This traversal splits the domain into slices along the longer dimension among x and y. More...
 
class  VCLTraversalInterface
 Interface for traversals of the VerletClusterLists container. More...
 
class  VerletClusterLists
 Particles are divided into clusters. More...
 
class  VerletListHelpers
 Class of helpers for the VerletLists class. More...
 
class  VerletLists
 Verlet Lists container. More...
 
class  VerletListsCells
 Linked Cells with Verlet Lists container. More...
 
class  VerletListsLinkedBase
 Base class for Verlet lists which use an underlying linked cells container. More...
 
class  VerletNeighborListAsBuild
 This class implements a neighbor list that remembers which thread added which particle pair and at which color during the build with C08 from LinkedCells. More...
 
class  VerletNeighborListInterface
 Interface for neighbor lists used by VarVerletLists. More...
 
class  VLCAllCellsGeneratorFunctor
 This functor can generate verlet lists using the typical pairwise traversal. More...
 
class  VLCAllCellsNeighborList
 Neighbor list to be used with VerletListsCells container. More...
 
class  VLCC01Traversal
 This class provides the c01 traversal. More...
 
class  VLCC08Traversal
 This class provides the vlc_c08 traversal. More...
 
class  VLCC18Traversal
 This class provides the lc_c18 traversal. More...
 
class  VLCCellPairC08CellHandler
 This class provides the base logic for the c08 traversal for VLCCellPairNeighborList. More...
 
class  VLCCellPairC08Traversal
 C08 traversal for VLCCellPairNeighborList. More...
 
class  VLCCellPairGeneratorFunctor
 This functor generates pairwise verlet lists (a verlet list attached to every pair of neighboring cells). More...
 
class  VLCCellPairNeighborList
 Neighbor list to be used with VerletListsCells container. More...
 
class  VLCCellPairTraversalInterface
 Interface for traversals used with VLCCellPairNeighborList. More...
 
class  VLCNeighborListInterface
 Interface of neighbor lists to be used with VerletListsCells container. More...
 
class  VLCSlicedBalancedTraversal
 This class provides the balanced sliced traversal. More...
 
class  VLCSlicedC02Traversal
 This class provides the colored sliced traversal. More...
 
class  VLCSlicedTraversal
 This class provides the (locked) sliced traversal. More...
 
class  VLCTraversalInterface
 This class provides the Traversal Interface for the verlet lists cells container. More...
 
class  VLListIterationTraversal
 This class provides a Traversal for the verlet lists container. More...
 
class  VLTraversalInterface
 This class provides the Traversal Interface for the verlet lists container. More...
 
class  VVLAsBuildTraversal
 Traversal for VarVerletLists with VerletNeighborListAsBuild as neighbor list. More...
 
class  VVLTraversalInterface
 Interface for all traversals for VarVerletLists containers. More...
 

Typedefs

using ParticleBaseFP64 = ParticleBase< double, unsigned long >
 Particle with all variables in 64 bit precision.
 

Enumerations

enum class  FunctorN3Modes { Newton3Only , Newton3Off , Both }
 Newton 3 modes for the Functor.
 
enum class  CellType {
  FullParticleCell , ReferenceParticleCell , ClusterTower , SortedCellView ,
  IsNoCell
}
 The ParticleCell Type as an Enum. More...
 
enum class  OwnershipState : int64_t { dummy = 0b0000 , owned = 0b0001 , halo = 0b0010 }
 Enum that specifies the state of ownership. More...
 
enum class  Type {
  BOOL , DOUBLE , SIZE_T , CONTAINER ,
  TRAVERSAL , LOAD_ESTIMATOR , DATA_LAYOUT , NEWTON3 ,
  CELL_SIZE_FACTOR
}
 Enum describing all types that are allowed in a rule program.
 
enum  AutoPas_MPI_Comm { COMM_NULL = 0 , COMM_WORLD }
 Dummy for MPI_Comm.
 
enum  AutoPas_MPI_Datatype {
  BYTE = 1 , CXX_BOOL = sizeof(bool) , CHAR = sizeof(char) , UNSIGNED_CHAR = sizeof(unsigned char) ,
  UNSIGNED_SHORT = sizeof(unsigned short) , INT = sizeof(int) , UNSIGNED_INT = sizeof(unsigned int) , UNSIGNED_LONG = sizeof(unsigned long) ,
  UNSIGNED_LONG_LONG = sizeof(unsigned long long) , LONG = sizeof(double) , DOUBLE = sizeof(double) , LONG_INT = sizeof(long) + sizeof(int)
}
 Dummy for MPI_Datatype. More...
 
enum  AutoPas_MPI_Op {
  MAX , MIN , SUM , PROD ,
  LAND , BAND , LOR , BOR ,
  LXOR , BXOR , MINLOC , MAXLOC ,
  REPLACE , NO_OP
}
 Dummy for MPI_Op.
 
enum  AutoPas_MPI_Request { REQUEST_NULL , COMPLETED_REQUEST , INCOMPLETE_REQUEST }
 Dummy for MPI_Request.
 
enum  AutoPas_MPI_Error {
  AUTOPAS_MPI_SUCCESS = 0 , AUTOPAS_MPI_ERR_BUFFER , AUTOPAS_MPI_ERR_COUNT , AUTOPAS_MPI_ERR_TYPE ,
  AUTOPAS_MPI_ERR_TAG , AUTOPAS_MPI_ERR_COMM , AUTOPAS_MPI_ERR_RANK , AUTOPAS_MPI_ERR_ROOT ,
  AUTOPAS_MPI_ERR_GROUP , AUTOPAS_MPI_ERR_OP , AUTOPAS_MPI_ERR_TOPOLOGY , AUTOPAS_MPI_ERR_DIMS ,
  AUTOPAS_MPI_ERR_ARG , AUTOPAS_MPI_ERR_UNKNOWN , AUTOPAS_MPI_ERR_TRUNCATE , AUTOPAS_MPI_ERR_OTHER ,
  AUTOPAS_MPI_ERR_INTERN , AUTOPAS_MPI_ERR_IN_STATUS , AUTOPAS_MPI_ERR_PENDING , AUTOPAS_MPI_ERR_REQUEST ,
  AUTOPAS_MPI_ERR_LASTCODE
}
 Dummy for MPI_Error.
 

Functions

template<class Particle_T >
bool GRAY (OctreeNodeInterface< Particle_T > *node)
 Check if a node is an inner node.
 
template<class Particle_T >
OctreeNodeInterface< Particle_T > * FATHER (const OctreeNodeInterface< Particle_T > *node)
 Get the parent node of an arbitrary octree node.
 
template<class Particle_T >
static octree::Octant SONTYPE (const OctreeNodeInterface< Particle_T > *node)
 Get the octant in which a given node can be found in the parent.
 
template<typename Particle_T , typename FunctionType >
decltype(auto) withStaticNodeType (const std::unique_ptr< OctreeNodeInterface< Particle_T > > &root, FunctionType &&function)
 Will execute the passed function on the given root node.
 
constexpr OwnershipState operator& (const OwnershipState a, const OwnershipState b)
 Bitwise AND operator for OwnershipState.
 
constexpr OwnershipState operator| (const OwnershipState a, const OwnershipState b)
 Bitwise OR operator for OwnershipState.
 
constexpr int64_t toInt64 (const OwnershipState a)
 Returns the int64_t value of a given OwnershipState.
 
static std::ostream & operator<< (std::ostream &os, const OwnershipState &ownershipState)
 Insertion operator for OwnershipState.
 
template<typename floatType , typename idType >
std::ostream & operator<< (std::ostream &os, const ParticleBase< floatType, idType > &particle)
 Stream operator for instances of ParticleBase class.
 
std::ostream & operator<< (std::ostream &os, const Configuration &configuration)
 Stream insertion operator.
 
std::istream & operator>> (std::istream &in, Configuration &configuration)
 Stream extraction operator.
 
bool operator== (const Configuration &lhs, const Configuration &rhs)
 Equals operator for Configuration objects.
 
bool operator!= (const Configuration &lhs, const Configuration &rhs)
 Not-Equals operator for Configuration objects.
 
bool operator< (const Configuration &lhs, const Configuration &rhs)
 Comparison operator for Configuration objects.
 
std::ostream & operator<< (std::ostream &os, const FeatureVector &featureVector)
 Stream insertion operator.
 
template<typename T , size_t TAlignment, typename U , size_t UAlignment>
bool operator== (const AlignedAllocator< T, TAlignment > &, const AlignedAllocator< U, UAlignment > &)
 equals operator
 
template<typename T , size_t TAlignment, typename U , size_t UAlignment>
bool operator!= (const AlignedAllocator< T, TAlignment > &a, const AlignedAllocator< U, UAlignment > &b)
 unequals operator
 
template<typename Particle_T , typename FunctionType >
decltype(auto) withStaticContainerType (autopas::ParticleContainerInterface< Particle_T > &container, FunctionType &&function)
 Will execute the passed function body with the static container type of container.
 
int AutoPas_MPI_Init (int *argc, char ***argv)
 Wrapper for MPI_Init Also defines the AutoPas communicator, so it needs to be called when AutoPas should use MPI.
 
int AutoPas_MPI_Finalize ()
 Wrapper for MPI_Finalize Also frees the AutoPas communicator, so it needs to be called if AutoPas_MPI_Init was called.
 
int AutoPas_MPI_Finalized (int *flag)
 Wrapper for MPI_Finalized.
 
int AutoPas_MPI_Error_string (int errorcode, char *string, int *resultlen)
 Wrapper for MPI_Error_string.
 
int AutoPas_MPI_Comm_size (AutoPas_MPI_Comm comm, int *size)
 Wrapper for MPI_Comm_size.
 
int AutoPas_MPI_Comm_rank (AutoPas_MPI_Comm comm, int *rank)
 Wrapper for MPI_Comm_rank.
 
int AutoPas_MPI_Comm_dup (AutoPas_MPI_Comm comm, AutoPas_MPI_Comm *newComm)
 Wrapper for MPI_Comm_dup.
 
int AutoPas_MPI_Comm_free (AutoPas_MPI_Comm *comm)
 Wrapper for MPI_Comm_free.
 
int AutoPas_MPI_Send (const void *buf, int count, AutoPas_MPI_Datatype datatype, int dest, int tag, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Send.
 
int AutoPas_MPI_Recv (void *buf, int count, AutoPas_MPI_Datatype datatype, int source, int tag, AutoPas_MPI_Comm comm, AutoPas_MPI_Status *status)
 Wrapper for MPI_Recv.
 
int AutoPas_MPI_Bcast (void *buffer, int count, AutoPas_MPI_Datatype datatype, int root, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Bcast.
 
int AutoPas_MPI_Ibcast (void *buffer, int count, AutoPas_MPI_Datatype datatype, int root, AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Ibcast.
 
int AutoPas_MPI_Reduce (const void *sendbuf, void *recvbuf, int count, AutoPas_MPI_Datatype datatype, AutoPas_MPI_Op op, int root, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Reduce.
 
int AutoPas_MPI_Allreduce (const void *sendbuf, void *recvbuf, int count, AutoPas_MPI_Datatype datatype, AutoPas_MPI_Op op, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Allreduce.
 
int AutoPas_MPI_Iallreduce (const void *sendbuf, void *recvbuf, int count, AutoPas_MPI_Datatype datatype, AutoPas_MPI_Op op, AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Iallreduce.
 
int AutoPas_MPI_Barrier (AutoPas_MPI_Comm comm)
 Wrapper for MPI_Barrier.
 
int AutoPas_MPI_Ibarrier (AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Ibarrier.
 
int AutoPas_MPI_Test (AutoPas_MPI_Request *request, int *flag, AutoPas_MPI_Status *status)
 Wrapper for MPI_Test.
 
int AutoPas_MPI_Wait (AutoPas_MPI_Request *request, AutoPas_MPI_Status *status)
 Wrapper for MPI_Wait.
 
int AutoPas_MPI_Request_free (AutoPas_MPI_Request *request)
 Wrapper for MPI_Request_free.
 
int AutoPas_MPI_Cart_create (AutoPas_MPI_Comm comm, int nDims, const int *dims, const int *periods, int reorder, AutoPas_MPI_Comm *comm_cart)
 Wrapper for MPI_Cart_create.
 
int AutoPas_MPI_Cart_get (AutoPas_MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[])
 Wrapper for MPI_Cart_get.
 
int AutoPas_MPI_Cart_coords (AutoPas_MPI_Comm comm, int rank, int maxdims, int coords[])
 Wrapper for MPI_Cart_coords Determines process coords in cartesian topology given rank in group.
 
int AutoPas_MPI_Cart_rank (AutoPas_MPI_Comm comm, const int coords[], int *rank)
 Wrapper for MPI_Cart_rank Determines process rank in communicator given Cartesian location.
 
int AutoPas_MPI_Dims_create (int nnodes, int ndims, int dims[])
 Wrapper for MPI_Dims_create.
 
int AutoPas_MPI_Isend (const void *buf, int count, AutoPas_MPI_Datatype datatype, int dest, int tag, AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Isend.
 
int AutoPas_MPI_Irecv (void *buf, int count, AutoPas_MPI_Datatype datatype, int source, int tag, AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Irecv.
 
int AutoPas_MPI_Probe (int source, int tag, AutoPas_MPI_Comm comm, AutoPas_MPI_Status *status)
 Wrapper for MPI_Probe.
 
int AutoPas_MPI_Get_count (const AutoPas_MPI_Status *status, AutoPas_MPI_Datatype datatype, int *count)
 Wrapper for MPI_Get_count.
 
int AutoPas_MPI_Waitall (int count, AutoPas_MPI_Request array_of_requests[], AutoPas_MPI_Status *array_of_statuses)
 Wrapper for MPI_Waitall.
 
int AutoPas_MPI_Gather (const void *buffer_send, int count_send, AutoPas_MPI_Datatype datatype_send, void *buffer_recv, int count_recv, AutoPas_MPI_Datatype datatype_recv, int root, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Gather.
 
int AutoPas_MPI_Gatherv (const void *buffer_send, int count_send, AutoPas_MPI_Datatype datatype_send, void *buffer_recv, const int *count_recv, const int *displs, AutoPas_MPI_Datatype datatype_recv, int root, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Gatherv.
 
int AutoPas_MPI_Allgather (void *buffer_send, int count_send, AutoPas_MPI_Datatype datatype_send, void *buffer_recv, int count_recv, AutoPas_MPI_Datatype datatype_recv, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Allgather.
 
int AutoPas_MPI_Comm_split (AutoPas_MPI_Comm old_communicator, int color, int key, AutoPas_MPI_Comm *new_communicator)
 Wrapper for MPI_Comm_split.
 
int autopas_get_thread_num ()
 Dummy for omp_set_lock() when no OpenMP is available.
 
int autopas_get_num_threads ()
 Dummy for omp_get_num_threads() when no OpenMP is available.
 
int autopas_get_max_threads ()
 Dummy for omp_get_max_threads() when no OpenMP is available.
 
void autopas_set_num_threads (int)
 Wrapper for omp_set_num_threads().
 

Variables

constexpr unsigned int DEFAULT_CACHE_LINE_SIZE {64}
 Default size for a cache line.
 

Detailed Description

This is the main namespace of AutoPas.

Provide non-MPI versions of the needed MPI function calls.

Everything defined within AutoPas should be in this namespace.

May be extended when necessary.

Enumeration Type Documentation

◆ AutoPas_MPI_Datatype

Dummy for MPI_Datatype.

initialize values to the size of the respective type in bytes.

◆ CellType

enum class autopas::CellType
strong

The ParticleCell Type as an Enum.

Enumerator
FullParticleCell 

FullParticleCell : Default cell type for almost everything.

ReferenceParticleCell 

ReferenceParticleCell : Cell holding only references instead of actual particle objects.

ClusterTower 

ClusterTower : Tower for the 2D tower structure of VerletClusterLists.

SortedCellView 

SortedCellView : Holds pointers to particles sorted by their position projected along a vector.

IsNoCell 

Currently unused.

◆ OwnershipState

enum class autopas::OwnershipState : int64_t
strong

Enum that specifies the state of ownership.

Note
this type has int64_t as an underlying type to be compatible with LJFunctorAVX. For that a size equal to the precision of the particles is required.
Enumerator
dummy 

Dummy or deleted state, a particle with this state is not an actual particle!

Note
LJFunctorAVX requires that the Dummy state should always be the integer zero and the state with the lowest value.
owned 

Owned state, a particle with this state is an actual particle and owned by the current AutoPas object!

halo 

Halo state, a particle with this state is an actual particle, but not owned by the current AutoPas object!

Function Documentation

◆ autopas_get_max_threads()

int autopas::autopas_get_max_threads ( )
inline

Dummy for omp_get_max_threads() when no OpenMP is available.

Returns
Always 1.

◆ autopas_get_num_threads()

int autopas::autopas_get_num_threads ( )
inline

Dummy for omp_get_num_threads() when no OpenMP is available.

Returns
Always 1.

◆ autopas_get_thread_num()

int autopas::autopas_get_thread_num ( )
inline

Dummy for omp_set_lock() when no OpenMP is available.

Returns
Always 0.

◆ AutoPas_MPI_Allgather()

int autopas::AutoPas_MPI_Allgather ( void *  buffer_send,
int  count_send,
AutoPas_MPI_Datatype  datatype_send,
void *  buffer_recv,
int  count_recv,
AutoPas_MPI_Datatype  datatype_recv,
AutoPas_MPI_Comm  comm 
)
inline

Wrapper for MPI_Allgather.

Parameters
buffer_sendsend buffer
count_sendnumber of elements in send buffer
datatype_sendtype of elements in send buffer
buffer_recvreceive buffer
count_recvnumber of elements received from each rank
datatype_recvtype of elements in receive buffer
commcommunicator (handle)
Returns

◆ AutoPas_MPI_Allreduce()

int autopas::AutoPas_MPI_Allreduce ( const void *  sendbuf,
void *  recvbuf,
int  count,
AutoPas_MPI_Datatype  datatype,
AutoPas_MPI_Op  op,
AutoPas_MPI_Comm  comm 
)
inline

Wrapper for MPI_Allreduce.

Parameters
sendbufsend buffer
recvbufoutputs receive buffer
countnumber of elements in send buffer
datatypetype of elements in send buffer
opreduction operation (handle)
commcommunicator (handle)
Returns
MPI error value

◆ AutoPas_MPI_Barrier()

int autopas::AutoPas_MPI_Barrier ( AutoPas_MPI_Comm  comm)
inline

Wrapper for MPI_Barrier.

Parameters
commcommunicator (handle)
Returns
MPI error value

◆ AutoPas_MPI_Bcast()

int autopas::AutoPas_MPI_Bcast ( void *  buffer,
int  count,
AutoPas_MPI_Datatype  datatype,
int  root,
AutoPas_MPI_Comm  comm 
)
inline

Wrapper for MPI_Bcast.

Parameters
buffersend buffer for root. receive buffer for others
countnumber of elements in send buffer
datatypetype of elements in send buffer
rootrank of the process sending the broadcast
commcommunicator (handle)
Returns
MPI error value

◆ AutoPas_MPI_Cart_coords()

int autopas::AutoPas_MPI_Cart_coords ( AutoPas_MPI_Comm  comm,
int  rank,
int  maxdims,
int  coords[] 
)
inline

Wrapper for MPI_Cart_coords Determines process coords in cartesian topology given rank in group.

Parameters
commCommunicator with cartesian structure (handle).
rankRank of a process within group of comm (integer).
maxdimsLength of vector coords in the calling program (integer).
coordsInteger array (of size ndims) containing the Cartesian coordinates of specified process (integer).
Returns
MPI error value

◆ AutoPas_MPI_Cart_create()

int autopas::AutoPas_MPI_Cart_create ( AutoPas_MPI_Comm  comm,
int  nDims,
const int *  dims,
const int *  periods,
int  reorder,
AutoPas_MPI_Comm comm_cart 
)
inline

Wrapper for MPI_Cart_create.

Parameters
commThe AutoPas_MPI_Communicator for which to generate the cartesian grid.
nDimsThe number of dimensions in the resulting cartesian grid.
dimsThe size of the cartesian grid in each dimension.
periodsAn array defining for each dimension if it has periodic boundaries.
reorderDefines if ranking may be reordered (true) or not (false).
comm_cartThe resulting MPI communicator.
Returns
MPI error value

◆ AutoPas_MPI_Cart_get()

int autopas::AutoPas_MPI_Cart_get ( AutoPas_MPI_Comm  comm,
int  maxdims,
int  dims[],
int  periods[],
int  coords[] 
)
inline

Wrapper for MPI_Cart_get.

Parameters
commCommunicator with Cartesian structure (handle).
maxdimsLength of vectors dims, periods, and coords in the calling program (integer).
dimsNumber of processes for each Cartesian dimension (array of integers).
periodsPeriodicity (true/false) for each Cartesian dimension (array of logicals).
coordsCoordinates of calling process in Cartesian structure (array of integers).
Returns
MPI error value

◆ AutoPas_MPI_Cart_rank()

int autopas::AutoPas_MPI_Cart_rank ( AutoPas_MPI_Comm  comm,
const int  coords[],
int *  rank 
)
inline

Wrapper for MPI_Cart_rank Determines process rank in communicator given Cartesian location.

Parameters
commCommunicator with cartesian structure (handle).
coordsInteger array (of size ndims, the number of dimensions of the Cartesian topology associated with comm) specifying the cartesian coordinates of a process.
rankRank of specified process (integer).
Returns
MPI error value

◆ AutoPas_MPI_Comm_dup()

int autopas::AutoPas_MPI_Comm_dup ( AutoPas_MPI_Comm  comm,
AutoPas_MPI_Comm newComm 
)
inline

Wrapper for MPI_Comm_dup.

Parameters
commCommunicator to be duplicated (handle)
newCommoutputs new communicator over the same group as comm
Returns
MPI error value

◆ AutoPas_MPI_Comm_free()

int autopas::AutoPas_MPI_Comm_free ( AutoPas_MPI_Comm comm)
inline

Wrapper for MPI_Comm_free.

Parameters
commcommunicator to be freed (handle)
Returns
MPI error value

◆ AutoPas_MPI_Comm_rank()

int autopas::AutoPas_MPI_Comm_rank ( AutoPas_MPI_Comm  comm,
int *  rank 
)
inline

Wrapper for MPI_Comm_rank.

Parameters
commcommunicator (handle)
rankoutputs rank of the process
Returns
: MPI error value

◆ AutoPas_MPI_Comm_size()

int autopas::AutoPas_MPI_Comm_size ( AutoPas_MPI_Comm  comm,
int *  size 
)
inline

Wrapper for MPI_Comm_size.

Parameters
commcommunicator (handle)
sizeoutputs number of processes in the group of comm
Returns
: MPI error value

◆ AutoPas_MPI_Comm_split()

int autopas::AutoPas_MPI_Comm_split ( AutoPas_MPI_Comm  old_communicator,
int  color,
int  key,
AutoPas_MPI_Comm new_communicator 
)
inline

Wrapper for MPI_Comm_split.

Parameters
old_communicatorold communicator (handle)
colordetermines which ranks ar in the same bucket
keydetermines rank order in new communicator
new_communicatorpointer to new communicator
Returns

◆ AutoPas_MPI_Dims_create()

int autopas::AutoPas_MPI_Dims_create ( int  nnodes,
int  ndims,
int  dims[] 
)
inline

Wrapper for MPI_Dims_create.

Creates a division of processors in a cartesian grid. Typically this is a factorization of nnodes in ndims factors.

Parameters
nnodesNumber of ranks to divide.
ndimsNumber of dimension over which to spread the ranks.
dimsOutput parameter. Should be an array of size ndims.
Returns
MPI error value

◆ AutoPas_MPI_Error_string()

int autopas::AutoPas_MPI_Error_string ( int  errorcode,
char *  string,
int *  resultlen 
)
inline

Wrapper for MPI_Error_string.

Parameters
errorcodeMPI error value
stringoutput string
resultlenlength of output
Returns
MPI error value

◆ AutoPas_MPI_Finalize()

int autopas::AutoPas_MPI_Finalize ( )
inline

Wrapper for MPI_Finalize Also frees the AutoPas communicator, so it needs to be called if AutoPas_MPI_Init was called.

Returns
MPI error value

◆ AutoPas_MPI_Finalized()

int autopas::AutoPas_MPI_Finalized ( int *  flag)
inline

Wrapper for MPI_Finalized.

Parameters
flagreturns true if (AutoPas_)MPI_Finalize has been called
Returns
MPI error value

◆ AutoPas_MPI_Gather()

int autopas::AutoPas_MPI_Gather ( const void *  buffer_send,
int  count_send,
AutoPas_MPI_Datatype  datatype_send,
void *  buffer_recv,
int  count_recv,
AutoPas_MPI_Datatype  datatype_recv,
int  root,
AutoPas_MPI_Comm  comm 
)
inline

Wrapper for MPI_Gather.

Parameters
buffer_send
count_send
datatype_send
buffer_recv
count_recv
datatype_recv
root
comm
Returns

◆ AutoPas_MPI_Gatherv()

int autopas::AutoPas_MPI_Gatherv ( const void *  buffer_send,
int  count_send,
AutoPas_MPI_Datatype  datatype_send,
void *  buffer_recv,
const int *  count_recv,
const int *  displs,
AutoPas_MPI_Datatype  datatype_recv,
int  root,
AutoPas_MPI_Comm  comm 
)
inline

Wrapper for MPI_Gatherv.

Parameters
buffer_send
count_send
datatype_send
buffer_recv
count_recv
displs
datatype_recv
root
comm
Returns

◆ AutoPas_MPI_Get_count()

int autopas::AutoPas_MPI_Get_count ( const AutoPas_MPI_Status status,
AutoPas_MPI_Datatype  datatype,
int *  count 
)
inline

Wrapper for MPI_Get_count.

Parameters
statusReturn status of receive operation (status).
datatypeDatatype of each receive buffer element (handle).
countNumber of received elements (integer).
Returns
MPI error value

◆ AutoPas_MPI_Iallreduce()

int autopas::AutoPas_MPI_Iallreduce ( const void *  sendbuf,
void *  recvbuf,
int  count,
AutoPas_MPI_Datatype  datatype,
AutoPas_MPI_Op  op,
AutoPas_MPI_Comm  comm,
AutoPas_MPI_Request request 
)
inline

Wrapper for MPI_Iallreduce.

Parameters
sendbufsend buffer
recvbufoutputs receive buffer
countnumber of elements in send send buffer
datatypetype of elements in send buffer
opreduction operation (handle)
commcommunicator (handle)
requestoutputs communication request (handle)
Returns

◆ AutoPas_MPI_Ibarrier()

int autopas::AutoPas_MPI_Ibarrier ( AutoPas_MPI_Comm  comm,
AutoPas_MPI_Request request 
)
inline

Wrapper for MPI_Ibarrier.

Parameters
commcommunicator (handle)
requestoutputs communication request (handle)
Returns
MPI error value

◆ AutoPas_MPI_Ibcast()

int autopas::AutoPas_MPI_Ibcast ( void *  buffer,
int  count,
AutoPas_MPI_Datatype  datatype,
int  root,
AutoPas_MPI_Comm  comm,
AutoPas_MPI_Request request 
)
inline

Wrapper for MPI_Ibcast.

Parameters
buffersend buffer for root. receive buffer for others
countnumber of elements in send buffer
datatypetype of elements in send buffer
rootrank of the process sending the broadcast
commcommunicator (handle)
requestoutputs communication request (handle)
Returns

◆ AutoPas_MPI_Init()

int autopas::AutoPas_MPI_Init ( int *  argc,
char ***  argv 
)
inline

Wrapper for MPI_Init Also defines the AutoPas communicator, so it needs to be called when AutoPas should use MPI.

Parameters
argcPointer to the number of arguments
argvPointer to the argument vector
Returns
MPI error value

◆ AutoPas_MPI_Irecv()

int autopas::AutoPas_MPI_Irecv ( void *  buf,
int  count,
AutoPas_MPI_Datatype  datatype,
int  source,
int  tag,
AutoPas_MPI_Comm  comm,
AutoPas_MPI_Request request 
)
inline

Wrapper for MPI_Irecv.

Begins a nonblocking receive

Parameters
bufinitial address of receive buffer (choice).
countnumber of elements in receive buffer (integer).
datatypedatatype of each receive buffer element (handle).
sourcerank of source (integer).
tagmessage tag (integer).
commcommunicator (handle).
requestcommunication request (handle).
Returns
MPI error value

◆ AutoPas_MPI_Isend()

int autopas::AutoPas_MPI_Isend ( const void *  buf,
int  count,
AutoPas_MPI_Datatype  datatype,
int  dest,
int  tag,
AutoPas_MPI_Comm  comm,
AutoPas_MPI_Request request 
)
inline

Wrapper for MPI_Isend.

Parameters
bufInitial address of send buffer (choice).
countNumber of elements in send buffer (integer).
datatypeDatatype of each send buffer element (handle).
destRank of destination (integer).
tagMessage tag (integer).
commCommunicator (handle).
requestA pointer to the created send request.
Returns
MPI error value

◆ AutoPas_MPI_Probe()

int autopas::AutoPas_MPI_Probe ( int  source,
int  tag,
AutoPas_MPI_Comm  comm,
AutoPas_MPI_Status status 
)
inline

Wrapper for MPI_Probe.

Parameters
sourceSource rank (integer).
tagTag value (integer).
commCommunicator (handle).
statusThe status of the probed request.
Returns
MPI error value

◆ AutoPas_MPI_Recv()

int autopas::AutoPas_MPI_Recv ( void *  buf,
int  count,
AutoPas_MPI_Datatype  datatype,
int  source,
int  tag,
AutoPas_MPI_Comm  comm,
AutoPas_MPI_Status status 
)
inline

Wrapper for MPI_Recv.

Parameters
bufoutputs receive buffer
countmaximum number of elements in receive buffer
datatypetype of elements in receive buffer
sourcerank of source process
tagmessage tag
commcommunicator (handle)
statuscurrently ignored
Returns
MPI error value

◆ AutoPas_MPI_Reduce()

int autopas::AutoPas_MPI_Reduce ( const void *  sendbuf,
void *  recvbuf,
int  count,
AutoPas_MPI_Datatype  datatype,
AutoPas_MPI_Op  op,
int  root,
AutoPas_MPI_Comm  comm 
)
inline

Wrapper for MPI_Reduce.

Parameters
sendbufsend buffer
recvbufoutputs receive buffer
countnumber of elements in send buffer
datatypetype of elements in send buffer
opreduction operation (handle)
rootthe rank of the root process
commcommunicator (handle)
Returns
MPI error value

◆ AutoPas_MPI_Request_free()

int autopas::AutoPas_MPI_Request_free ( AutoPas_MPI_Request request)
inline

Wrapper for MPI_Request_free.

Parameters
requestrequest to be freed (handle). Will be set to AUTOPAS_MPI_REQUEST_NULL
Returns
MPI error value

◆ AutoPas_MPI_Send()

int autopas::AutoPas_MPI_Send ( const void *  buf,
int  count,
AutoPas_MPI_Datatype  datatype,
int  dest,
int  tag,
AutoPas_MPI_Comm  comm 
)
inline

Wrapper for MPI_Send.

Parameters
bufsend buffer
countnumber of elements in send buffer
datatypetype of elements in send buffer
destrank of destination process
tagmessage tag
commcommunicator (handle)
Returns
MPI error value

◆ AutoPas_MPI_Test()

int autopas::AutoPas_MPI_Test ( AutoPas_MPI_Request request,
int *  flag,
AutoPas_MPI_Status status 
)
inline

Wrapper for MPI_Test.

Parameters
requestrequest to be tested.
flagoutputs true if operation complete
statusoutputs status object. May be AUTOPAS_MPI_STATUS_IGNORE
Returns
MPI error value

◆ AutoPas_MPI_Wait()

int autopas::AutoPas_MPI_Wait ( AutoPas_MPI_Request request,
AutoPas_MPI_Status status 
)
inline

Wrapper for MPI_Wait.

Parameters
requestrequest to be waited for.
statusoutputs status object. May be AUTOPAS_MPI_STATUS_IGNORE
Returns
MPI error value

◆ AutoPas_MPI_Waitall()

int autopas::AutoPas_MPI_Waitall ( int  count,
AutoPas_MPI_Request  array_of_requests[],
AutoPas_MPI_Status array_of_statuses 
)
inline

Wrapper for MPI_Waitall.

Parameters
countLists length (integer).
array_of_requestsArray of requests (array of handles).
array_of_statusesArray of status objects (array of status).
Returns
MPI error value

◆ autopas_set_num_threads()

void autopas::autopas_set_num_threads ( int  )
inline

Wrapper for omp_set_num_threads().

Does nothing when OpenMP is disabled.

◆ FATHER()

template<class Particle_T >
OctreeNodeInterface< Particle_T > * autopas::FATHER ( const OctreeNodeInterface< Particle_T > *  node)
inline

Get the parent node of an arbitrary octree node.

Template Parameters
Particle_T
Parameters
node
Returns
The parent of the given node if the node is not the root node, otherwise nullptr.

◆ GRAY()

template<class Particle_T >
bool autopas::GRAY ( OctreeNodeInterface< Particle_T > *  node)
inline

Check if a node is an inner node.

Template Parameters
Particle_TThe particle type used in this container
Parameters
nodeA pointer to a node
Returns
true if the node has children, false otherwise.

◆ operator!=() [1/2]

template<typename T , size_t TAlignment, typename U , size_t UAlignment>
bool autopas::operator!= ( const AlignedAllocator< T, TAlignment > &  a,
const AlignedAllocator< U, UAlignment > &  b 
)
inline

unequals operator

Template Parameters
TType of the first allocator
TAlignmentalignment of the first allocator
Utype of the second allocator
UAlignmentalignment of the second allocator
Parameters
afirst allocator
bsecond allocator
Returns
true if unequal

◆ operator!=() [2/2]

bool autopas::operator!= ( const Configuration lhs,
const Configuration rhs 
)

Not-Equals operator for Configuration objects.

Parameters
lhs
rhs
Returns
true iff at least one member is different.

◆ operator&()

constexpr OwnershipState autopas::operator& ( const OwnershipState  a,
const OwnershipState  b 
)
constexpr

Bitwise AND operator for OwnershipState.

Parameters
afirst operand
bsecond operand
Returns
a & b

◆ operator<()

bool autopas::operator< ( const Configuration lhs,
const Configuration rhs 
)

Comparison operator for Configuration objects.

This is mainly used for configurations to have a sane ordering in e.g. sets.

Configurations are compared member wise in the order: container, cellSizeFactor, traversal, loadEstimator, dataLayout, newton3.

Parameters
lhs
rhs
Returns

◆ operator<<() [1/4]

std::ostream & autopas::operator<< ( std::ostream &  os,
const Configuration configuration 
)

Stream insertion operator.

Parameters
os
configuration
Returns

◆ operator<<() [2/4]

std::ostream & autopas::operator<< ( std::ostream &  os,
const FeatureVector featureVector 
)
inline

Stream insertion operator.

Parameters
os
featureVector
Returns

◆ operator<<() [3/4]

static std::ostream & autopas::operator<< ( std::ostream &  os,
const OwnershipState ownershipState 
)
static

Insertion operator for OwnershipState.

This function enables passing ownershipState to an ostream via <<.

Parameters
os
ownershipState
Returns
os

◆ operator<<() [4/4]

template<typename floatType , typename idType >
std::ostream & autopas::operator<< ( std::ostream &  os,
const ParticleBase< floatType, idType > &  particle 
)

Stream operator for instances of ParticleBase class.

This function enables passing ParticleBase objects to an ostream via <<

Template Parameters
Floatingpoint type to be used for the SoAs.
Parameters
os
particle
Returns
String representation.

◆ operator==() [1/2]

template<typename T , size_t TAlignment, typename U , size_t UAlignment>
bool autopas::operator== ( const AlignedAllocator< T, TAlignment > &  ,
const AlignedAllocator< U, UAlignment > &   
)
inline

equals operator

Template Parameters
TType of the first allocator
TAlignmentalignment of the first allocator
Utype of the second allocator
UAlignmentalignment of the second allocator
Returns
true if alignment is equal

◆ operator==() [2/2]

bool autopas::operator== ( const Configuration lhs,
const Configuration rhs 
)

Equals operator for Configuration objects.

Parameters
lhs
rhs
Returns
true iff all members are equal.

◆ operator>>()

std::istream & autopas::operator>> ( std::istream &  in,
autopas::Configuration configuration 
)

Stream extraction operator.

Parameters
in
configuration
Returns

◆ operator|()

constexpr OwnershipState autopas::operator| ( const OwnershipState  a,
const OwnershipState  b 
)
constexpr

Bitwise OR operator for OwnershipState.

Parameters
afirst operand
bsecond operand
Returns
a | b

◆ SONTYPE()

template<class Particle_T >
static octree::Octant autopas::SONTYPE ( const OctreeNodeInterface< Particle_T > *  node)
static

Get the octant in which a given node can be found in the parent.

Template Parameters
Particle_T
Parameters
nodeThe node to check
Returns
The octant in which the node is in the parent, OOO if the node either does not have a parent or could not be found in the parent.

◆ toInt64()

constexpr int64_t autopas::toInt64 ( const OwnershipState  a)
constexpr

Returns the int64_t value of a given OwnershipState.

Parameters
aOwnershipState
Returns
const int64_t value of a given OwnershipState

◆ withStaticContainerType()

template<typename Particle_T , typename FunctionType >
decltype(auto) autopas::withStaticContainerType ( autopas::ParticleContainerInterface< Particle_T > &  container,
FunctionType &&  function 
)

Will execute the passed function body with the static container type of container.

Template Parameters
Particle_T
ParticleCell
FunctionType
Parameters
containerThe container to be used.
functionThe function body to be executed. Has to take exactly one argument: A reference to the container. E.g: [&](auto &container){container->doSth();} // The & is optional here. The auto is necessary!
Returns
Returns whatever function returns.

◆ withStaticNodeType()

template<typename Particle_T , typename FunctionType >
decltype(auto) autopas::withStaticNodeType ( const std::unique_ptr< OctreeNodeInterface< Particle_T > > &  root,
FunctionType &&  function 
)

Will execute the passed function on the given root node.

Template Parameters
Particle_T
FunctionType
Parameters
root
function
Returns

Variable Documentation

◆ DEFAULT_CACHE_LINE_SIZE

constexpr unsigned int autopas::DEFAULT_CACHE_LINE_SIZE {64}
constexpr

Default size for a cache line.

Todo:
C++17: replace value by std::hardware_destructive_interference_size not yet possible: as of 27.06.2019 this(P0154R1) is in neither libstc++ (gnu) nor libc++ (clang)