Dimensionality
This section describes the handling of dimensionality in WarpX.
Build Options
Dimensions |
CMake Option |
|---|---|
3D3V |
|
2D3V |
|
1D3V |
|
RZ3V |
|
RCYLINDER3V |
|
RSPHERE3V |
|
Note that one can build multiple WarpX dimensions at once via -DWarpX_DIMS="1;2;3;RZ;RCYLINDER;RSPHERE".
See building from source for further details.
Defines
Depending on the build variant of WarpX, the following preprocessor macros will be set:
Macro |
3D3V |
2D3V |
1D3V |
RZ3V |
RCYLINDER3V |
RSPHERE3V |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
defined |
undefined |
undefined |
undefined |
undefined |
undefined |
|
undefined |
undefined |
defined |
undefined |
undefined |
undefined |
|
undefined |
defined |
undefined |
undefined |
undefined |
undefined |
|
undefined |
undefined |
undefined |
defined |
undefined |
undefined |
|
undefined |
undefined |
undefined |
undefined |
defined |
undefined |
|
undefined |
undefined |
undefined |
undefined |
undefined |
defined |
|
|
|
|
|
undefined |
undefined |
At the same time, the following conventions will apply:
Convention |
3D3V |
2D3V |
1D3V |
RZ3V |
RCYLINDER3V |
RSPHERE3V |
Fields |
||||||
AMReX Box dimensions |
|
|
|
|
|
|
WarpX axis labels |
|
|
|
|
|
|
Particles |
||||||
AMReX |
|
|
|
|
|
|
WarpX position names |
|
|
|
|
|
|
extra SoA attribute |
|
|
|
|||
Please see the following sections for particle SoA details.
Conventions
In 2D3V, we assume that the position of a particle in y is equal to 0.
In 1D3V, we assume that the position of a particle in x and y is equal to 0.