Dimensionality
This section describes the handling of dimensionality in WarpX.
Build Options
Dimensions |
CMake Option |
---|---|
3D3V |
|
2D3V |
|
1D3V |
|
RZ |
|
Note that one can build multiple WarpX dimensions at once via -DWarpX_DIMS="1;2;RZ;3"
.
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 |
RZ |
---|---|---|---|---|
|
|
|
|
|
|
defined |
undefined |
undefined |
undefined |
|
undefined |
undefined |
defined |
undefined |
|
undefined |
defined |
undefined |
undefined |
|
undefined |
undefined |
undefined |
defined |
|
|
|
|
|
At the same time, the following conventions will apply:
Convention |
3D3V |
2D3V |
1D3V |
RZ |
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
.