aboutsummaryrefslogtreecommitdiff
path: root/Docs/source/usage/parameters.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Docs/source/usage/parameters.rst')
-rw-r--r--Docs/source/usage/parameters.rst54
1 files changed, 32 insertions, 22 deletions
diff --git a/Docs/source/usage/parameters.rst b/Docs/source/usage/parameters.rst
index ebf59e3bc..0e5f6f91c 100644
--- a/Docs/source/usage/parameters.rst
+++ b/Docs/source/usage/parameters.rst
@@ -1748,14 +1748,13 @@ Particle push, charge and current deposition, field gathering
* ``algo.field_gathering`` (`string`, optional)
The algorithm for field gathering. Available options are:
- - ``energy-conserving``: gathers directly from the grid points (either staggered
- or nodal gridpoints depending on ``warpx.do_nodal``).
- - ``momentum-conserving``: first average the fields from the grid points to
+ * ``energy-conserving``: gathers directly from the grid points (either staggered
+ or nodal grid points depending on ``warpx.grid_type``).
+ * ``momentum-conserving``: first average the fields from the grid points to
the nodes, and then gather from the nodes.
- If ``algo.field_gathering`` is not specified, the default is ``energy-conserving``.
- If ``warpx.do_nodal`` is ``true``, then ``energy-conserving`` and ``momentum-conserving``
- are equivalent.
+
+ Default: ``algo.field_gathering = energy-conserving`` with collocated or staggered grids (note that ``energy-conserving`` and ``momentum-conserving`` are equivalent with collocated grids), ``algo.field_gathering = momentum-conserving`` with hybrid grids.
* ``algo.particle_pusher`` (`string`, optional)
The algorithm for the particle pusher. Available options are:
@@ -1810,7 +1809,7 @@ Maxwell solver: PSATD method
* ``psatd.nx_guard``, ``psatd.ny_guard``, ``psatd.nz_guard`` (`integer`) optional
The number of guard cells to use with PSATD solver.
If not set by users, these values are calculated automatically and determined *empirically* and
- would be equal the order of the solver for nodal grid, and half the order of the solver for staggered.
+ equal the order of the solver for collocated grids and half the order of the solver for staggered grids.
* ``psatd.periodic_single_box_fft`` (`0` or `1`; default: 0)
If true, this will *not* incorporate the guard cells into the box over which FFTs are performed.
@@ -1967,31 +1966,42 @@ Maxwell solver: macroscopic media
Grid types (collocated, staggered, hybrid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-* ``warpx.do_nodal`` (`0` or `1` ; default: 0)
- Whether to use a nodal grid (i.e. all fields are defined at the
- same points in space) or a staggered grid (i.e. Yee grid ; different
- fields are defined at different points in space)
+* ``warpx.grid_type`` (`string`, ``collocated``, ``staggered`` or ``hybrid``)
+ Whether to use a collocated grid (all fields defined at the cell nodes),
+ a staggered grid (fields defined on a Yee grid), or a hybrid grid (fields
+ and currents are interpolated back and forth between a staggered grid and a
+ nodal grid, must be used with momentum-conserving field gathering algorithm,
+ ``algo.field_gathering = momentum-conserving``).
+
+ Default: ``warpx.grid_type = staggered``.
* ``interpolation.galerkin_scheme`` (`0` or `1`)
Whether to use a Galerkin scheme when gathering fields to particles.
- When set to `1`, the interpolation orders used for field-gathering are reduced for certain field components along certain directions.
+ When set to ``1``, the interpolation orders used for field-gathering are reduced for certain field components along certain directions.
For example, :math:`E_z` is gathered using ``algo.particle_shape`` along :math:`(x,y)` and ``algo.particle_shape - 1`` along :math:`z`.
See equations (21)-(23) of (`Godfrey and Vay, 2013 <https://doi.org/10.1016/j.jcp.2013.04.006>`_) and associated references for details.
- Defaults to `1` unless ``warpx.do_nodal = 1`` and/or ``algo.field_gathering = momentum-conserving``.
+
+ Default: ``interpolation.galerkin_scheme = 0`` with collocated grids and/or momentum-conserving field gathering, ``interpolation.galerkin_scheme = 1`` otherwise.
.. warning::
The default behavior should not normally be changed.
At present, this parameter is intended mainly for testing and development purposes.
-* ``interpolation.field_centering_nox``, ``interpolation.field_centering_noy``, ``interpolation.field_centering_noz`` (default: ``2`` in all directions)
- The order of interpolation used with staggered grids (``warpx.do_nodal = 0``) and momentum-conserving field gathering (``algo.field_gathering = momentum-conserving``) to interpolate the electric and magnetic fields from the cell centers to the cell nodes, before gathering the fields from the cell nodes to the particle positions. High-order interpolation (order 8 in each direction, at least) is necessary to ensure stability in typical LWFA boosted-frame simulations using the Galilean PSATD or comoving PSATD schemes. This finite-order interpolation is used only when the PSATD solver is used for Maxwell's equations. With the FDTD solver, basic linear interpolation is used instead.
+* ``warpx.field_centering_nox``, ``warpx.field_centering_noy``, ``warpx.field_centering_noz`` (`integer`, optional)
+ The order of interpolation used with staggered or hybrid grids (``warpx.grid_type = staggered`` or ``warpx.grid_type = hybrid``) and momentum-conserving field gathering (``algo.field_gathering = momentum-conserving``) to interpolate the electric and magnetic fields from the cell centers to the cell nodes, before gathering the fields from the cell nodes to the particle positions.
+
+ Default: ``warpx.field_centering_no<x,y,z> = 2`` with staggered grids, ``warpx.field_centering_no<x,y,z> = 8`` with hybrid grids (typically necessary to ensure stability in boosted-frame simulations of relativistic plasmas and beams).
+
+* ``warpx.current_centering_nox``, ``warpx.current_centering_noy``, ``warpx.current_centering_noz`` (`integer`, optional)
+ The order of interpolation used with hybrid grids (``warpx.grid_type = hybrid``) to interpolate the currents from the cell nodes to the cell centers when ``warpx.do_current_centering = 1``, before pushing the Maxwell fields on staggered grids.
+
+ Default: ``warpx.current_centering_no<x,y,z> = 8`` with hybrid grids (typically necessary to ensure stability in boosted-frame simulations of relativistic plasmas and beams).
-* ``interpolation.current_centering_nox``, ``interpolation.current_centering_noy``, ``interpolation.current_centering_noz`` (default: ``2`` in all directions)
- The order of interpolation used to center the currents from nodal to staggered grids (if ``warpx.do_current_centering = 1``), before pushing the Maxwell fields on staggered grids. This finite-order interpolation is used only when the PSATD solver is used for Maxwell's equations. With the FDTD solver, basic linear interpolation is used instead.
+* ``warpx.do_current_centering`` (`bool`, `0` or `1`)
+ If true, the current is deposited on a nodal grid and then centered to a staggered grid (Yee grid), using finite-order interpolation.
-* ``warpx.do_current_centering`` (`0` or `1` ; default: 0)
- If true, the current is deposited on a nodal grid and then centered to a staggered grid (Yee grid), using finite-order interpolation. If ``warpx.do_nodal = 1``, the Maxwell fields are pushed on a nodal grid, it is not necessary to center the currents to a staggered grid, and we set therefore ``warpx.do_current_centering = 0`` automatically, overwriting the user-defined input.
+ Default: ``warpx.do_current_centering = 0`` with collocated or staggered grids, ``warpx.do_current_centering = 1`` with hybrid grids.
Additional parameters
^^^^^^^^^^^^^^^^^^^^^
@@ -2031,8 +2041,8 @@ Additional parameters
Will use the Hybird QED Maxwell solver when pushing fields: a QED correction is added to the
field solver to solve non-linear Maxwell's equations, according to [Quantum Electrodynamics
vacuum polarization solver, P. Carneiro et al., `ArXiv 2016 <https://arxiv.org/abs/1607.04224>`__].
- Note that this option can only be used with the PSATD build. Furthermore,
- warpx.do_nodal must be set to `1` which is not its default value.
+ Note that this option can only be used with the PSATD build. Furthermore, one must set
+ ``warpx.grid_type = collocated`` (which otherwise would be ``staggered`` by default).
* ``warpx.quantum_xi`` (`float`; default: 1.3050122.e-52)
Overwrites the actual quantum parameter used in Maxwell's QED equations. Assigning a
@@ -2856,7 +2866,7 @@ Lookup tables store pre-computed values for functions used by the QED modules.
Activating the Schwinger process requires the code to be compiled with ``QED=TRUE`` and ``PICSAR``.
If ``warpx.do_qed_schwinger = 1``, Schwinger product species must be specified with
``qed_schwinger.ele_product_species`` and ``qed_schwinger.pos_product_species``.
- Schwinger process requires either ``warpx.do_nodal=1`` or
+ Schwinger process requires either ``warpx.grid_type = collocated`` or
``algo.field_gathering=momentum-conserving`` (so that different field components are computed
at the same location in the grid) and does not currently support mesh refinement, cylindrical
coordinates or single precision.