Dimensionality
This section describes the handling of dimensionality in WarpX.
Build Options
Dimensions |
CMake Option |
|---|---|
3D3V |
|
2D3V |
|
1D3V |
|
RZ |
|
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 AoS |
|
|
|
|
WarpX position names |
|
|
|
|
extra SoA attribute |
|
|||
Please see the following sections for particle AoS and 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.