Skip to content

Commit f06ad27

Browse files
authored
Adjust indent in parameters.rst (BLAST-WarpX#6632)
At most 4 spaces for indent of parameter descriptions
1 parent 51a2488 commit f06ad27

1 file changed

Lines changed: 83 additions & 82 deletions

File tree

Docs/source/usage/parameters.rst

Lines changed: 83 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1445,18 +1445,19 @@ Particle initialization
14451445
when the particles are generated.
14461446
If the user-defined integer attribute is ``<int_attrib_name>`` then the
14471447
following required parameter must be specified to initialize the attribute.
1448+
14481449
* ``<species_name>.attribute.<int_attrib_name>(x,y,z,ux,uy,uz,t)`` (`string`)
1449-
``t`` represents the physical time in seconds during the simulation.
1450-
``x``, ``y``, ``z`` represent particle positions in the unit of meter.
1451-
``ux``, ``uy``, ``uz`` represent the particle momenta in the unit of
1452-
:math:`\gamma v/c`, where
1453-
:math:`\gamma` is the Lorentz factor,
1454-
:math:`v/c` is the particle velocity normalized by the speed of light.
1455-
E.g. If ``electrons.addIntegerAttributes = upstream``
1456-
and ``electrons.upstream(x,y,z,ux,uy,uz,t) = (x>0.0)*1`` is provided
1457-
then, an integer attribute ``upstream`` is added to all electron particles
1458-
and when these particles are generated, the particles with position less than ``0``
1459-
are assigned a value of ``1``.
1450+
``t`` represents the physical time in seconds during the simulation.
1451+
``x``, ``y``, ``z`` represent particle positions in the unit of meter.
1452+
``ux``, ``uy``, ``uz`` represent the particle momenta in the unit of
1453+
:math:`\gamma v/c`, where
1454+
:math:`\gamma` is the Lorentz factor,
1455+
:math:`v/c` is the particle velocity normalized by the speed of light.
1456+
E.g. If ``electrons.addIntegerAttributes = upstream``
1457+
and ``electrons.upstream(x,y,z,ux,uy,uz,t) = (x>0.0)*1`` is provided
1458+
then, an integer attribute ``upstream`` is added to all electron particles
1459+
and when these particles are generated, the particles with position less than ``0``
1460+
are assigned a value of ``1``.
14601461

14611462
* ``<species_name>.addRealAttributes`` (list of `string`)
14621463
User-defined real particle attribute for species, ``species_name``.
@@ -1465,13 +1466,13 @@ Particle initialization
14651466
If the user-defined real attribute is ``<real_attrib_name>`` then the
14661467
following required parameter must be specified to initialize the attribute.
14671468

1468-
* ``<species_name>.attribute.<real_attrib_name>(x,y,z,ux,uy,uz,t)`` (`string`)
1469-
``t`` represents the physical time in seconds during the simulation.
1470-
``x``, ``y``, ``z`` represent particle positions in the unit of meter.
1471-
``ux``, ``uy``, ``uz`` represent the particle momenta in the unit of
1472-
:math:`\gamma v/c`, where
1473-
:math:`\gamma` is the Lorentz factor,
1474-
:math:`v/c` is the particle velocity normalized by the speed of light.
1469+
* ``<species_name>.attribute.<real_attrib_name>(x,y,z,ux,uy,uz,t)`` (`string`)
1470+
``t`` represents the physical time in seconds during the simulation.
1471+
``x``, ``y``, ``z`` represent particle positions in the unit of meter.
1472+
``ux``, ``uy``, ``uz`` represent the particle momenta in the unit of
1473+
:math:`\gamma v/c`, where
1474+
:math:`\gamma` is the Lorentz factor,
1475+
:math:`v/c` is the particle velocity normalized by the speed of light.
14751476

14761477
* ``<species_name>.save_particles_at_xlo/ylo/zlo``, ``<species_name>.save_particles_at_xhi/yhi/zhi`` and ``<species_name>.save_particles_at_eb`` (`0` or `1` optional, default `0`)
14771478
If `1` particles of this species will be copied to the scraped particle
@@ -2546,7 +2547,7 @@ Particle push, charge and current deposition, field gathering
25462547
- ``vay``: Vay pusher (see :cite:t:`param-Vaypop2008`)
25472548
- ``higuera``: Higuera-Cary pusher (see :cite:t:`param-HigueraPOP2017`)
25482549

2549-
If ``algo.particle_pusher`` is not specified, ``boris`` is the default.
2550+
If ``algo.particle_pusher`` is not specified, ``boris`` is the default.
25502551

25512552
* ``algo.particle_shape`` (`integer`; `1`, `2`, `3`, or `4`)
25522553
The order of the shape factors (splines) for the macro-particles along all spatial directions: `1` for linear, `2` for quadratic, `3` for cubic, `4` for quartic.
@@ -2576,7 +2577,7 @@ Two families of Maxwell solvers are implemented in WarpX, based on the Finite-Di
25762577
- ``hybrid``: The E-field will be solved using Ohm's law and a kinetic-fluid hybrid model (see :ref:`theory <theory-kinetic-fluid-hybrid-model>`).
25772578
- ``none``: No field solve will be performed.
25782579

2579-
If ``algo.maxwell_solver`` is not specified, ``yee`` is the default.
2580+
If ``algo.maxwell_solver`` is not specified, ``yee`` is the default.
25802581

25812582
* ``algo.em_solver_medium`` (`string`, optional)
25822583
The medium for evaluating the Maxwell solver. Available options are :
@@ -2738,10 +2739,10 @@ Maxwell solver: macroscopic media
27382739
Comparing the two methods, Lax-Wendroff is more prone to developing oscillations and requires a smaller timestep for stability. On the other hand, Backward Euler is more robust but it is first-order accurate in time compared to the second-order Lax-Wendroff method.
27392740

27402741
* ``macroscopic.sigma_function(x,y,z)``, ``macroscopic.epsilon_function(x,y,z)``, ``macroscopic.mu_function(x,y,z)`` (`string`)
2741-
To initialize spatially varying conductivity, permittivity, and permeability, respectively,
2742-
using a mathematical function in the input. Constants required in the
2743-
mathematical expression can be set using ``my_constants``. These parameters are parsed
2744-
if ``algo.em_solver_medium=macroscopic``.
2742+
To initialize spatially varying conductivity, permittivity, and permeability, respectively,
2743+
using a mathematical function in the input. Constants required in the
2744+
mathematical expression can be set using ``my_constants``. These parameters are parsed
2745+
if ``algo.em_solver_medium=macroscopic``.
27452746

27462747
* ``macroscopic.sigma``, ``macroscopic.epsilon``, ``macroscopic.mu`` (`double`)
27472748
To initialize a constant conductivity, permittivity, and permeability of the
@@ -2916,16 +2917,16 @@ Additional parameters
29162917
This allows the profiler to give meaningful timers, but (hardly) slows down the simulation.
29172918

29182919
* ``warpx.sort_intervals`` (`string`) optional (defaults: ``-1`` on CPU; ``4`` on GPU)
2919-
Using the `Time intervals`_ syntax, this string defines the timesteps at which particles are
2920-
sorted.
2921-
If ``<=0``, do not sort particles.
2922-
It is turned on on GPUs for performance reasons (to improve memory locality).
2920+
Using the `Time intervals`_ syntax, this string defines the timesteps at which particles are
2921+
sorted.
2922+
If ``<=0``, do not sort particles.
2923+
It is turned on on GPUs for performance reasons (to improve memory locality).
29232924

29242925
* ``warpx.sort_particles_for_deposition`` (`bool`) optional (default: ``true`` for the CUDA backend, otherwise ``false``)
2925-
This option controls the type of sorting used if particle sorting is turned on, i.e. if ``sort_intervals`` is not ``<=0``.
2926-
If ``true``, particles will be sorted by cell to optimize deposition with many particles per cell, in the order x -> y -> z -> ppc.
2927-
If ``false``, particles will be sorted by bin, using the ``sort_bin_size`` parameter below, in the order ppc -> x -> y -> z.
2928-
``true`` is recommend for best performance on NVIDIA GPUs, especially if there are many particles per cell.
2926+
This option controls the type of sorting used if particle sorting is turned on, i.e. if ``sort_intervals`` is not ``<=0``.
2927+
If ``true``, particles will be sorted by cell to optimize deposition with many particles per cell, in the order x -> y -> z -> ppc.
2928+
If ``false``, particles will be sorted by bin, using the ``sort_bin_size`` parameter below, in the order ppc -> x -> y -> z.
2929+
``true`` is recommend for best performance on NVIDIA GPUs, especially if there are many particles per cell.
29292930

29302931
* ``warpx.sort_idx_type`` (list of `int`) optional (default: ``0 0 0``)
29312932
This controls the type of grid used to sort the particles when ``sort_particles_for_deposition`` is ``true``. Possible values are:
@@ -2936,46 +2937,46 @@ Additional parameters
29362937
In 1D, only the first element is read.
29372938

29382939
* ``warpx.sort_bin_size`` (list of `int`) optional (default ``1 1 1``)
2939-
If ``sort_intervals`` is activated and ``sort_particles_for_deposition`` is ``false``, particles are sorted in bins of ``sort_bin_size`` cells.
2940-
In 2D, only the first two elements are read.
2940+
If ``sort_intervals`` is activated and ``sort_particles_for_deposition`` is ``false``, particles are sorted in bins of ``sort_bin_size`` cells.
2941+
In 2D, only the first two elements are read.
29412942

29422943
* ``warpx.do_shared_mem_charge_deposition`` (`bool`) optional (default `false`)
2943-
If activated, charge deposition will allocate and use small
2944-
temporary buffers on which to accumulate deposited charge values
2945-
from particles. On GPUs these buffers will reside in ``__shared__``
2946-
memory, which is faster than the usual ``__global__``
2947-
memory. Performance impact will depend on the relative overhead
2948-
of assigning the particles to bins small enough to fit in the
2949-
space available for the temporary buffers.
2944+
If activated, charge deposition will allocate and use small
2945+
temporary buffers on which to accumulate deposited charge values
2946+
from particles. On GPUs these buffers will reside in ``__shared__``
2947+
memory, which is faster than the usual ``__global__``
2948+
memory. Performance impact will depend on the relative overhead
2949+
of assigning the particles to bins small enough to fit in the
2950+
space available for the temporary buffers.
29502951

29512952
* ``warpx.do_shared_mem_current_deposition`` (`bool`) optional (default `false`)
2952-
If activated, current deposition will allocate and use small
2953-
temporary buffers on which to accumulate deposited current values
2954-
from particles. On GPUs these buffers will reside in ``__shared__``
2955-
memory, which is faster than the usual ``__global__``
2956-
memory. Performance impact will depend on the relative overhead
2957-
of assigning the particles to bins small enough to fit in the
2958-
space available for the temporary buffers. Performance is mostly improved
2959-
when there is lots of contention between particles writing to the same cell
2960-
(e.g. for high particles per cell). This feature is only available for CUDA
2961-
and HIP, and is only recommended for 3D or 2D.
2953+
If activated, current deposition will allocate and use small
2954+
temporary buffers on which to accumulate deposited current values
2955+
from particles. On GPUs these buffers will reside in ``__shared__``
2956+
memory, which is faster than the usual ``__global__``
2957+
memory. Performance impact will depend on the relative overhead
2958+
of assigning the particles to bins small enough to fit in the
2959+
space available for the temporary buffers. Performance is mostly improved
2960+
when there is lots of contention between particles writing to the same cell
2961+
(e.g. for high particles per cell). This feature is only available for CUDA
2962+
and HIP, and is only recommended for 3D or 2D.
29622963

29632964
* ``warpx.shared_tilesize`` (list of `int`) optional (default `6 6 8` in 3D; `14 14` in 2D; `1s` otherwise)
2964-
Used to tune performance when ``do_shared_mem_current_deposition`` or
2965-
``do_shared_mem_charge_deposition`` is enabled. ``shared_tilesize`` is the
2966-
size of the temporary buffer allocated in shared memory for a threadblock.
2967-
A larger tilesize requires more shared memory, but gives more work to each
2968-
threadblock, which can lead to higher occupancy, and allows for more
2969-
buffered writes to ``__shared__`` instead of ``__global__``. The defaults
2970-
in 2D and 3D
2971-
are chosen from experimentation, but can be improved upon for specific
2972-
problems. The other defaults are not optimized and should always be fine
2973-
tuned for the problem.
2965+
Used to tune performance when ``do_shared_mem_current_deposition`` or
2966+
``do_shared_mem_charge_deposition`` is enabled. ``shared_tilesize`` is the
2967+
size of the temporary buffer allocated in shared memory for a threadblock.
2968+
A larger tilesize requires more shared memory, but gives more work to each
2969+
threadblock, which can lead to higher occupancy, and allows for more
2970+
buffered writes to ``__shared__`` instead of ``__global__``. The defaults
2971+
in 2D and 3D
2972+
are chosen from experimentation, but can be improved upon for specific
2973+
problems. The other defaults are not optimized and should always be fine
2974+
tuned for the problem.
29742975

29752976
* ``warpx.shared_mem_current_tpb`` (`int`) optional (default `128`)
2976-
Used to tune performance when ``do_shared_mem_current_deposition`` is
2977-
enabled. ``shared_mem_current_tpb`` controls the number of threads per
2978-
block (tpb), i.e. the number of threads operating on a shared buffer.
2977+
Used to tune performance when ``do_shared_mem_current_deposition`` is
2978+
enabled. ``shared_mem_current_tpb`` controls the number of threads per
2979+
block (tpb), i.e. the number of threads operating on a shared buffer.
29792980

29802981

29812982
.. _running-cpp-parameters-diagnostics:
@@ -3067,10 +3068,10 @@ In-situ capabilities can be used by turning on Sensei or Ascent (provided they a
30673068
When WarpX is compiled with openPMD support, the first available backend in the order given above is taken.
30683069

30693070
* ``<diag_name>.openpmd_encoding`` (optional, ``v`` (variable based), ``f`` (file based) or ``g`` (group based) ) only read if ``<diag_name>.format = openpmd``.
3070-
openPMD `file output encoding <https://openpmd-api.readthedocs.io/en/0.17.0/usage/concepts.html#iteration-and-series>`__.
3071-
File based: one file per timestep (slower), group/variable based: one file for all steps (faster)).
3072-
``variable based`` is an `experimental feature with ADIOS2 BP5 <https://openpmd-api.readthedocs.io/en/0.17.0/backends/adios2.html#experimental-new-adios2-schema>`__ that will replace ``g``.
3073-
Default: ``f`` (full diagnostics)
3071+
openPMD `file output encoding <https://openpmd-api.readthedocs.io/en/0.17.0/usage/concepts.html#iteration-and-series>`__.
3072+
File based: one file per timestep (slower), group/variable based: one file for all steps (faster)).
3073+
``variable based`` is an `experimental feature with ADIOS2 BP5 <https://openpmd-api.readthedocs.io/en/0.17.0/backends/adios2.html#experimental-new-adios2-schema>`__ that will replace ``g``.
3074+
Default: ``f`` (full diagnostics)
30743075

30753076
* ``<diag_name>.buffer_flush_limit_btd`` (`integer`; defaults to 5) optional, only read if ``<diag_name>.diag_type = BackTransformed``
30763077
This parameter is intended for ADIOS backend to group every N buffers (N is the value of this parameter) and then flush to disk.
@@ -3140,20 +3141,20 @@ In-situ capabilities can be used by turning on Sensei or Ascent (provided they a
31403141
Whether to save all modes when in RZ. When ``openpmd_backend = openpmd``, this parameter is ignored and all modes are saved.
31413142

31423143
* ``<diag_name>.particle_fields_to_plot`` (list of `strings`, optional)
3143-
Names of per-cell diagnostics of particle properties to calculate and output as additional fields.
3144-
Note that the deposition onto the grid does not respect the particle shape factor, but instead uses nearest-grid point interpolation.
3145-
Default is none.
3146-
Parser functions for these field names are specified by ``<diag_name>.particle_fields.<field_name>(x,y,z,ux,uy,uz)``.
3147-
Also, note that this option is only available for ``<diag_name>.diag_type = Full``
3144+
Names of per-cell diagnostics of particle properties to calculate and output as additional fields.
3145+
Note that the deposition onto the grid does not respect the particle shape factor, but instead uses nearest-grid point interpolation.
3146+
Default is none.
3147+
Parser functions for these field names are specified by ``<diag_name>.particle_fields.<field_name>(x,y,z,ux,uy,uz)``.
3148+
Also, note that this option is only available for ``<diag_name>.diag_type = Full``
31483149

31493150
* ``<diag_name>.particle_fields_species`` (list of `strings`, optional)
3150-
Species for which to calculate ``particle_fields_to_plot``.
3151-
Fields will be calculated separately for each specified species.
3152-
The default is a list of all of the available particle species.
3151+
Species for which to calculate ``particle_fields_to_plot``.
3152+
Fields will be calculated separately for each specified species.
3153+
The default is a list of all of the available particle species.
31533154

31543155
* ``<diag_name>.particle_fields.<field_name>.do_average`` (`0` or `1`) optional (default `1`)
3155-
Whether the diagnostic is an average or a sum. With an average, the sum over the specified function is divided
3156-
by the sum of the particle weights in each cell.
3156+
Whether the diagnostic is an average or a sum. With an average, the sum over the specified function is divided
3157+
by the sum of the particle weights in each cell.
31573158

31583159
* ``<diag_name>.particle_fields.<field_name>(x,y,z,ux,uy,uz)`` (parser `string`)
31593160
Parser function to be calculated for each particle per cell. The averaged field written is
@@ -4182,10 +4183,10 @@ Schwinger process
41824183
This feature does not require to compile with ``-DWarpX_QED=ON``.
41834184

41844185
* ``warpx.quantum_xi`` (`float`; default: 1.3050122.e-52)
4185-
Overwrites the actual quantum parameter used in Maxwell's QED equations. Assigning a
4186-
value here will make the simulation unphysical, but will allow QED effects to become more apparent.
4187-
Note that this option will only have an effect if the ``warpx.use_Hybrid_QED`` flag is also triggered.
4188-
This feature does not require to compile with ``-DWarpX_QED=ON``.
4186+
Overwrites the actual quantum parameter used in Maxwell's QED equations. Assigning a
4187+
value here will make the simulation unphysical, but will allow QED effects to become more apparent.
4188+
Note that this option will only have an effect if the ``warpx.use_Hybrid_QED`` flag is also triggered.
4189+
This feature does not require to compile with ``-DWarpX_QED=ON``.
41894190

41904191

41914192
Checkpoints and restart

0 commit comments

Comments
 (0)