diff options
Diffstat (limited to 'Docs/source/running_cpp')
-rw-r--r-- | Docs/source/running_cpp/parameters.rst | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Docs/source/running_cpp/parameters.rst b/Docs/source/running_cpp/parameters.rst index 505d9b31d..32ac12104 100644 --- a/Docs/source/running_cpp/parameters.rst +++ b/Docs/source/running_cpp/parameters.rst @@ -171,6 +171,10 @@ Particle initialization Whether particle's weight is varied with their radius. This only applies to cylindrical geometry. The only valid value is true. + * ``predefined``: use one of WarpX predefined plasma profiles. It requires additional + arguments ``<species_name>.predefined_profile_name`` and + ``<species_name>.predefined_profile_params`` (see below). + * ``<species_name>.momentum_distribution_type`` (`string`) Distribution of the normalized momentum (`u=p/mc`) for this species. The options are: @@ -206,6 +210,37 @@ Particle initialization * If ``true``, each particle is advanced with the average speed of the species ``vzbar`` until it reaches ``zinject_plane``. +* ``species_name.predefined_profile_name`` (`string`) + Only read of ``<species_name>.electrons.profile`` is `predefined`. + + * If ``parabolic_channel``, the plasma profile is a parabolic profile with linear ramps + at the beginning and the end of the profile. The density is given by + + .. math:: + + n = n_0 n(x,y) n(z) + + with + + .. math:: + + n(x,y) = 1 + 4\frac{x^2+y^2}{k_p^2 R_c^4} + + where :math:`k_p` is the plasma wavenumber associated with density :math:`n_0`. + Here, :math:`n(z)` is a linear up-ramp from :math:`0` to :math:`L_{ramp,up}`, + constant to :math:`1` from :math:`L_{ramp,up}` to :math:`L_{ramp,up} + L_{plateau}` + and a linear down-ramp from :math:`L_{ramp,up} + L_{plateau}` to + :math:`L_{ramp,up} + L_{plateau}+L_{ramp,down}`. All parameters are given + in ``predefined_profile_params``. + +* ``<species_name>.predefined_profile_params`` (list of `float`) + Parameters for the predefined profiles. + + * If ``species_name.predefined_profile_name`` is ``parabolic_channel``, + ``predefined_profile_params`` contains a space-separated list of the + following parameters, in this order: :math:`L_{ramp,up}` :math:`L_{plateau}` + :math:`L_{ramp,down}` :math:`R_c` :math:`n_0` + * ``<species_name>.do_backward_injection`` (`bool`) Inject a backward-propagating beam to reduce the effect of charge-separation fields when running in the boosted frame. See examples. @@ -373,6 +408,25 @@ Laser initialization Temporal chirp at focus. See definition in Akturk et al., Opt Express, vol 12, no 19 (2014). +* ``warpx.num_mirrors`` (`int`) optional (default `0`) + Users can input perfect mirror condition inside the simulation domain. + The number of mirrors is given by ``warpx.num_mirrors``. The mirrors are + orthogonal to the `z` direction. The following parameters are required + when ``warpx.num_mirrors`` is >0. + +* ``warpx.mirror_z`` (list of `float`) required if ``warpx.num_mirrors>0`` + ``z`` location of the front of the mirrors. + +* ``warpx.mirror_z_width`` (list of `float`) required if ``warpx.num_mirrors>0`` + ``z`` width of the mirrors. + +* ``warpx.mirror_z_npoints`` (list of `int`) required if ``warpx.num_mirrors>0`` + In the boosted frame, depending on `gamma_boost`, ``warpx.mirror_z_width`` + can be smaller than the cell size, so that the mirror would not work. This + parameter is the minimum number of points for the mirror. If + ``mirror_z_width < dz/cell_size``, the upper bound of the mirror is increased + so that it contains at least ``mirror_z_npoints``. + Numerics and algorithms ----------------------- |