Pusher information
Description
Block [pusherInfo]
is used to choose which kind of particle pusher and current depositor should be used.
Options
Currently, the implemented particle pusher include:
- Lorentz equation
- Boris (Explicit) :
useBoris
- Implicit:
use_implicit
- Vay (Explicit):
useVay
- Boris (Explicit) :
- Landau-Lifshitz equation (classical radiation corrected for smaller ):
useLandauLifshitzPush
- Modified Landau-Lifshitz equation (quantum radiation corrected for larger ):
useModifiedLLPush
Current depositor can use the normal or via the charge conservation law ():
use_charge_conservation
:true
: charge conservationfalse
:nqv
method
noCurrent
: this is for the case of single particle simulation
Parameter | Value Type | Description |
---|---|---|
useLandauLifshitzPush | Boolean | A boolean value that determines whether or not to use the Landau-Lifshitz pusher algorithm. |
useModifiedLLPush | Boolean | A boolean value that determines whether or not to use the modified Landau-Lifshitz pusher algorithm. |
use_charge_conservation | Boolean | A boolean value that determines whether or not to conserve charge during the pusher algorithm. |
use_implicit | Boolean | A boolean value that determines whether or not to use an implicit pusher algorithm. |
noCurrent | Boolean | A boolean value that determines whether or not to include current in the pusher algorithm. |
useBoris | Boolean | A boolean value that determines whether or not to use the Boris pusher algorithm. |
useVay | Boolean | A boolean value that determines whether or not to use the Vay pusher algorithm. |
tStart | Float | A float value that specifies the time at which the pusher algorithm starts. |
template
[pusherInfo]
useLandauLifshitzPush = false
useModifiedLLPush = false
use_charge_conservation = true
use_implicit = false
noCurrent = false
useBoris = true
useVay = false
tStart = 0.0