ParticleStepperBase
ParticleStepperBase
is the abstract class form which all steppers should be derived. ParticleStepperBase
provides the basic method to update a particle's direction and maximum distance based on the velocity stored in ray data, the current time step, and dimension of the mesh. In the provided method setMaxDistanceAndDirection
the direction is set based on the dimension of the mesh, and the maximum distance is set with the following rule:
where is maximum distance the particle is allowed to travel during the next time step, and is the particles' velocity.
However, only the components of the velocity data corresponding to the dimension of the mesh will be used in the calculation. If the mesh is 2D then only the first 2 components of velocity will be used for this calculation. This calculation is performed with ParticleStepperBase::setupStep
. This function takes an argument of the ray that needs its velocity updated, the new velocity of the ray and a time step to be used for the maximum distance calculation to allow flexibility for particle pushing methods.
The velocity in ray data should be updated in the PICStudy