diff options
Diffstat (limited to 'Docs/source/usage/parameters.rst')
-rw-r--r-- | Docs/source/usage/parameters.rst | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Docs/source/usage/parameters.rst b/Docs/source/usage/parameters.rst index 6aada000e..87e8d0299 100644 --- a/Docs/source/usage/parameters.rst +++ b/Docs/source/usage/parameters.rst @@ -2049,12 +2049,26 @@ Additional parameters * ``warpx.sort_intervals`` (`string`) optional (defaults: ``-1`` on CPU; ``4`` on GPU) Using the `Intervals parser`_ syntax, this string defines the timesteps at which particles are - sorted by bin. + sorted. If ``<=0``, do not sort particles. It is turned on on GPUs for performance reasons (to improve memory locality). +* ``warpx.sort_particles_for_deposition`` (`bool`) optional (default: ``true`` for the CUDA backend, otherwise ``false``) + This option controls the type of sorting used if particle sorting is turned on, i.e. if ``sort_intervals`` is not ``<=0``. + If ``true``, particles will be sorted by cell to optimize deposition with many particles per cell, in the order x -> y -> z -> ppc. + If ``false``, particles will be sorted by bin, using the ``sort_bin_size`` parameter below, in the order ppc -> x -> y -> z. + ``true`` is recommend for best performance on NVIDIA GPUs, especially if there are many particles per cell. + +* ``warpx.sort_idx_type`` (list of `int`) optional (default: ``0 0 0``) + This controls the type of grid used to sort the particles when ``sort_particles_for_deposition`` is ``true``. Possible values are: + ``idx_type = {0, 0, 0}``: Sort particles to a cell centered grid + ``idx_type = {1, 1, 1}``: Sort particles to a node centered grid + ``idx_type = {2, 2, 2}``: Compromise between a cell and node centered grid. + In 2D (XZ and RZ), only the first two elements are read. + In 1D, only the first element is read. + * ``warpx.sort_bin_size`` (list of `int`) optional (default ``1 1 1``) - If ``sort_intervals`` is activated particles are sorted in bins of ``sort_bin_size`` cells. + If ``sort_intervals`` is activated and ``sort_particles_for_deposition`` is ``false``, particles are sorted in bins of ``sort_bin_size`` cells. In 2D, only the first two elements are read. .. _running-cpp-parameters-diagnostics: |