OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <BorisPusher.h>
Public Member Functions | |
BorisPusher (const PartData &ref) | |
BorisPusher () | |
void | initialise (const PartData *ref) |
void | kick (const Vector_t &R, Vector_t &P, const Vector_t &Ef, const Vector_t &Bf, const double &dt) const |
void | kick (const Vector_t &R, Vector_t &P, const Vector_t &Ef, const Vector_t &Bf, const double &dt, const double &mass, const double &charge) const |
void | push (Vector_t &R, const Vector_t &P, const double &dt) const |
Private Attributes | |
const PartData * | itsReference |
Definition at line 30 of file BorisPusher.h.
|
inline |
Definition at line 52 of file BorisPusher.h.
|
inline |
Definition at line 56 of file BorisPusher.h.
|
inline |
Definition at line 60 of file BorisPusher.h.
References itsReference, and Hypervolume::ref.
Referenced by Bend2D::setupPusher().
|
inline |
Definition at line 65 of file BorisPusher.h.
References PartData::getM(), PartData::getQ(), itsReference, kick(), and Attrib::Distribution::R.
Referenced by Bend2D::calculateBendAngle(), Bend2D::calculateRefTrajectory(), OrbitThreader::integrate(), kick(), ParallelCyclotronTracker::kick(), LF2< FieldFunction, Arguments >::kick_m(), ParallelTTracker::kickParticles(), RFCavity::trackOnAxisParticle(), RBend3D::trackRefParticleThrough(), and ParallelTTracker::updateReferenceParticle().
|
inline |
Definition at line 73 of file BorisPusher.h.
References Physics::c, cross(), dot(), and sqrt().
\[ \vec{x}_{n+1/2} = \vec{x}_{n} + \frac{1}{2}\vec{v}_{n-1/2}\quad (= \vec{x}_{n} + \frac{\Delta t}{2} \frac{\vec{\beta}_{n-1/2}\gamma_{n-1/2}}{\gamma_{n-1/2}}) \]
Definition at line 131 of file BorisPusher.h.
References dot(), Attrib::Distribution::R, and sqrt().
Referenced by ParallelTTracker::applyFractionalStep(), ParallelTTracker::autophaseCavities(), Bend2D::calculateBendAngle(), Bend2D::calculateRefTrajectory(), OrbitThreader::execute(), OrbitThreader::integrate(), ParallelTTracker::pushParticles(), OrbitThreader::trackBack(), RFCavity::trackOnAxisParticle(), RBend3D::trackRefParticleThrough(), and ParallelTTracker::updateReferenceParticle().
|
private |
Definition at line 49 of file BorisPusher.h.
Referenced by initialise(), and kick().