#include <iostream>
#include "DPMBase.h"
#include "HGrid.h"
Go to the source code of this file.
|
class | MercuryBase |
| This is the base class for both Mercury2D and Mercury3D. Note the actually abstract grid is defined in the class Grid defined below. More...
|
|
◆ HGridDistribution
Enum that indicates what the ratio of the size of the cells in different levels is.
The options for the distribution of cell-sizes are:
- OLDHGRID Each cell is twice as big as the one below it, for example (1, 2, 4, 8, ...).
- LINEAR The difference between the cell sizes at each level is the same, for example (1, 2, 3, 4, ...).
- EXPONENTIAL Each cell size is a constant factor c > 1 bigger than the one below it, for example with c = 3, (1, 3, 9, 27, ...).
- USER The cell sizes are defined by the user.
Enumerator |
---|
OLDHGRID | |
LINEAR | |
EXPONENTIAL | |
USER | |
@ OLDHGRID
Definition: MercuryBase.h:85
@ EXPONENTIAL
Definition: MercuryBase.h:85
@ LINEAR
Definition: MercuryBase.h:85
@ USER
Definition: MercuryBase.h:85
◆ HGridMethod
Enum class that indicates how particles in different levels (cross level checking) of the HGrid are checked for interactions.
With this enum class, one can choose how they want to check particles in different levels for interactions, so called cross-level checking BOTTOMUP means that small particles are inserted into the coarser HGrid-level, TOPDOWN means that big particles are inserted into a finer HGrid-level when checking for interactions.
Enumerator |
---|
BOTTOMUP | |
TOPDOWN | |
@ BOTTOMUP
Definition: MercuryBase.h:45
@ TOPDOWN
Definition: MercuryBase.h:45
◆ operator<<() [1/2]
91 return os <<
"OLDHGRID";
93 return os <<
"LINEAR";
95 return os <<
"EXPONENTIAL";
References EXPONENTIAL, LINEAR, and OLDHGRID.
◆ operator<<() [2/2]
std::ostream& operator<< |
( |
std::ostream & |
os, |
|
|
HGridMethod |
h |
|
) |
| |
|
inline |
51 return os <<
"BOTTOMUP";
53 return os <<
"TOPDOWN";
References BOTTOMUP.
◆ operator>>() [1/2]
106 else if (s ==
"LINEAR")
108 else if (s ==
"EXPONENTIAL")
110 else if (s ==
"USER")
114 logger(
ERROR,
"HGridDistribution could not be read: %",s);
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
LL< Log::ERROR > ERROR
Error log level.
Definition: Logger.cc:53
References ERROR, EXPONENTIAL, LINEAR, logger, OLDHGRID, and USER.
◆ operator>>() [2/2]
std::istream& operator>> |
( |
std::istream & |
is, |
|
|
HGridMethod & |
h |
|
) |
| |
|
inline |