diff options
Diffstat (limited to 'Docs/source/running_cpp')
-rw-r--r-- | Docs/source/running_cpp/parameters.rst | 56 |
1 files changed, 45 insertions, 11 deletions
diff --git a/Docs/source/running_cpp/parameters.rst b/Docs/source/running_cpp/parameters.rst index 2c1d31990..08804bb9b 100644 --- a/Docs/source/running_cpp/parameters.rst +++ b/Docs/source/running_cpp/parameters.rst @@ -282,12 +282,13 @@ Particle initialization temperature parameter ``<species_name>.theta`` as an input, where theta is kb*T/(m*c^2), kb is the Boltzmann constant, c is the speed of light, and m is the mass of the species. It also includes the optional parameter ``<species_name>.beta`` where beta is equal to v/c. - The plasma will be initialized to move at drift velocity beta*c in the positive - ``<species_name>.direction = 'x', 'y', 'z'`` direction. The MB distribution is initialized - in the drifting frame by sampling three Gaussian distributions in each dimension using, - the Box Mueller method, and then the distribution is transformed to the simulation frame - using the flipping method. The flipping method can be found in Zenitani 2015 - section III. B. (Phys. Plasmas 22, 042116). + The plasma will be initialized to move at drift velocity beta*c in the + ``<species_name>.drift_vel_dir = (+/-) 'x', 'y', 'z'`` direction. Please leave no whitespace + between the sign and the character on input. A direction without a sign will be treated as + positive. The MB distribution is initialized in the drifting frame by sampling three Gaussian + distributions in each dimension using, the Box Mueller method, and then the distribution is + transformed to the simulation frame using the flipping method. The flipping method can be + found in Zenitani 2015 section III. B. (Phys. Plasmas 22, 042116). Note that though the particles may move at relativistic speeds in the simulation frame, they are not relativistic in the drift frame. This is as opposed to the Maxwell Juttner @@ -297,11 +298,12 @@ Particle initialization requires a dimensionless temperature parameter ``<species_name>.theta``, where theta is equal to kb*T/(m*c^2), where kb is the Boltzmann constant, and m is the mass of the species. It also includes the optional parameter ``<species_name>.beta`` where beta is equal to v/c. The plasma - will be initialized to move at velocity beta*c in the positive - ``<species_name>.direction = 'x', 'y', 'z'`` direction. The MJ distribution will be initialized - in the moving frame using the Sobol method, and then the distribution will be transformed to the - simulation frame using the flipping method. Both the Sobol and the flipping method can be found - in Zenitani 2015 (Phys. Plasmas 22, 042116). + will be initialized to move at velocity beta*c in the + ``<species_name>.drift_vel_dir = (+/-) 'x', 'y', 'z'`` direction. Please leave no whitespace + between the sign and the character on input. A direction without a sign will be treated as + positive. The MJ distribution will be initialized in the moving frame using the Sobol method, + and then the distribution will be transformed to the simulation frame using the flipping method. + Both the Sobol and the flipping method can be found in Zenitani 2015 (Phys. Plasmas 22, 042116). Please take notice that particles initialized with this setting can be relativistic in two ways. In the simulation frame, they can drift with a relativistic speed beta. Then, in the drifting @@ -641,6 +643,34 @@ Laser initialization the field solver. In particular, do not use any other boundary condition than periodic. +Collision initialization +------------------------ + +WarpX provides a relativistic elastic Monte Carlo binary collision model, +following the algorithm given by `Perez et al. (Phys. Plasmas 19, 083104, 2012) <https://doi.org/10.1063/1.4742167>`_. + +* ``collisions.ncollisions`` (`int`) optional (default `0`) + Number of collision types. + +* ``collisions.collision_names`` (`strings`, separated by spaces) + The name of each collision type. It must be provided if ``collisions.ncollisions`` is not zero. + This is then used in the rest of the input deck; + in this documentation we use ``<collision_name>`` as a placeholder. + The number of strings provided should match the number of collision types, + i.e. ``collisions.ncollisions``. + +* ``<collision_name>.species`` (`strings`, two species names separated by spaces) + The names of two species, between which the collision will be considered. + It must be provided if ``collisions.ncollisions`` is not zero, and + the number of provided ``<collision_name>.species`` should match + the number of collision types, i.e. ``collisions.ncollisions``. + +* ``<collision_name>.CoulombLog`` (`float`) optional + A provided fixed Coulomb logarithm of the collision type + ``<collision_name>``. + If this is not provided, or if a non-positive value is provided, + a Coulomb logarithm will be computed automatically according to the algorithm. + Numerics and algorithms ----------------------- @@ -666,6 +696,10 @@ Numerics and algorithms - ``direct``: simpler current deposition algorithm, described in the section :doc:`../theory/picsar_theory`. Note that this algorithm is not strictly charge-conserving. + If ``algo.current_deposition`` is not specified, the default is + ``esirkepov`` (unless WarpX is compiled with ``USE_PSATD=TRUE``, in which + case the default is ``direct``). + * ``algo.charge_deposition`` (`string`, optional) The algorithm for the charge density deposition. Available options are: |