@ParticlePusher¶
The particle pusher generates orbits—both particle and guiding-center orbits—which can be fed to the various tools of SOFT that use them to, for example, compute radiation images. To output the orbits, use the @Orbits tool.
Summary of options¶
Option | Description |
@ParticlePusher equation |
Specifies which equation to solve. |
@ParticlePusher force_numerical_jacobian |
Forces numerical computation of the guiding-center Jacobian. |
@ParticlePusher nt |
Number of time steps to take. |
@ParticlePusher nudgevalue |
Override \(\mathrm{d}\rho\) used to compute GC Jacobian numerically. |
@ParticlePusher time |
Duration to follow orbits for. |
@ParticlePusher timeunit |
Unit of the time specified to @ParticlePusher time . |
Example configuration¶
The following is the default configuration of the particle pusher object. It causes the pusher to generate guiding-center orbits that are traced during one poloidal transit time. The resulting orbit consists of 1000 time steps:
@ParticlePusher __default__ {
equation = guiding-center;
timeunit = poloidal;
time = 1;
nt = 1e3;
force_numerical_jacobian = no;
nudgevalue = __default__;
}
Options¶
-
equation
¶
Default value: guiding-center
Allowed values: Name of any @Equation configuration block. Specifies which equation to use. The two equations
guiding-center
andparticle
are pre-defined by this module with default settings. The settings of these equations can be overridden by adding configuration blocks for them.
-
force_numerical_jacobian
¶
Default value: no
Allowed values: A boolean value; yes
orno
.Force the guiding-center Jacobian to be computed numerically. If
no
, an analytical expression will instead be used for the Jacobian. The numerical approach is slower, prone to instabilities and in general discouraged.
-
nt
¶
Default value: 1e3
, i.e. 1000 pointsAllowed values: Any positive integer. The number of time steps per orbit. The orbit quantities (particle position and momentum) are given in a uniformly distributed set of time points between 0 and the maximum time, set by the
@ParticlePusher time
parameter.
-
nudgevalue
¶
Default value: __default__
(see description below)Allowed values: Any real number. To compute the guiding-center Jacobian numerically, the derivatives of the particle position with respect to the initial radial location must be taken. This parameter is the distance \(\Delta\rho\) by which each orbit is nudged in order to evaluate the derivative using a finite difference method.
-
time
¶
Default value: 1
Allowed values: Any positive real number. Final time point in which to evaluate orbit.
Note: The @Radiation module expects this parameter to be set to
1
, and the@ParticlePusher timeunit
parameter to be set topoloidal
. Note also that the @Radiation automatically discards the final time point to prevent double-counting.
-
timeunit
¶
Default value: poloidal
, i.e. poloidal transit timeAllowed values: poloidal
andseconds
.The unit of the
@ParticlePusher time
parameter. If this parameter is set topoloidal
, the@ParticlePusher time
gives the number of poloidal transits for which each particle should be followed. If this parameter is set toseconds
,@ParticlePusher time
gives the number of seconds to follow each orbit.The option ‘poloidal’ also works for particle/full orbits, even though the concept of poloidal transit time is much less well-defined for in such cases. To overcome this poor definition, SOFT first solves the corresponding guiding-center orbit in order to determine the poloidal transit time, before solving the actual particle orbit.
Note: The @Radiation module expects this parameter to be set to
poloidal
, and the@ParticlePusher time
parameter to be set to1
.