Dimensionality
This section describes the handling of dimensionality in WarpX. The velocity space is always three-dimensional: regardless of the dimensionality of the configuration space (position space), particles always carry three velocity (or momentum) components.
Build Options
Dimensions |
CMake Option |
|---|---|
3D |
|
2D |
|
1D |
|
RZ |
|
RCYLINDER |
|
RSPHERE |
|
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 |
3D |
2D |
1D |
RZ |
RCYLINDER |
RSPHERE |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
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 |
3D |
2D |
1D |
RZ |
RCYLINDER |
RSPHERE |
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 2D, we assume that the position of a particle in y is equal to 0.
In 1D, we assume that the position of a particle in x and y is equal to 0.