|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
|
#include <BorisPusher.h>
Public Member Functions | |
| KOKKOS_INLINE_FUNCTION | BorisPusher (const PartData &ref) |
| KOKKOS_INLINE_FUNCTION | BorisPusher () |
| KOKKOS_INLINE_FUNCTION void | initialise (const PartData *ref) |
| KOKKOS_INLINE_FUNCTION void | kick (const Vector_t< double, 3 > &R, Vector_t< double, 3 > &P, const Vector_t< double, 3 > &Ef, const Vector_t< double, 3 > &Bf, const double &dt) const |
| KOKKOS_INLINE_FUNCTION void | kick (const Vector_t< double, 3 > &R, Vector_t< double, 3 > &P, const Vector_t< double, 3 > &Ef, const Vector_t< double, 3 > &Bf, const double &dt, const double &mass, const double &charge) const |
| KOKKOS_INLINE_FUNCTION void | push (Vector_t< double, 3 > &R, const Vector_t< double, 3 > &P, const double &dt) const |
Private Attributes | |
| const PartData * | itsReference |
Definition at line 34 of file BorisPusher.h.
| KOKKOS_INLINE_FUNCTION BorisPusher::BorisPusher | ( | const PartData & | ref | ) |
Definition at line 57 of file BorisPusher.h.
References itsReference.
| KOKKOS_INLINE_FUNCTION BorisPusher::BorisPusher | ( | ) |
Definition at line 60 of file BorisPusher.h.
References itsReference.
| KOKKOS_INLINE_FUNCTION void BorisPusher::initialise | ( | const PartData * | ref | ) |
Definition at line 63 of file BorisPusher.h.
References itsReference.
| KOKKOS_INLINE_FUNCTION void BorisPusher::kick | ( | const Vector_t< double, 3 > & | R, |
| Vector_t< double, 3 > & | P, | ||
| const Vector_t< double, 3 > & | Ef, | ||
| const Vector_t< double, 3 > & | Bf, | ||
| const double & | dt ) const |
Definition at line 67 of file BorisPusher.h.
References itsReference, and kick().
Referenced by kick(), RFCavity::trackOnAxisParticle(), and ParallelTracker::updateReferenceParticle().
| KOKKOS_INLINE_FUNCTION void BorisPusher::kick | ( | const Vector_t< double, 3 > & | R, |
| Vector_t< double, 3 > & | P, | ||
| const Vector_t< double, 3 > & | Ef, | ||
| const Vector_t< double, 3 > & | Bf, | ||
| const double & | dt, | ||
| const double & | mass, | ||
| const double & | charge ) const |
Definition at line 73 of file BorisPusher.h.
References Physics::c, cross(), and dot().
| KOKKOS_INLINE_FUNCTION void BorisPusher::push | ( | Vector_t< double, 3 > & | R, |
| const Vector_t< double, 3 > & | P, | ||
| const double & | dt ) const |
\[ \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 129 of file BorisPusher.h.
References dot().
Referenced by ParallelTracker::applyFractionalStep(), ParallelTracker::autophaseCavities(), RFCavity::trackOnAxisParticle(), and ParallelTracker::updateReferenceParticle().
|
private |
Definition at line 54 of file BorisPusher.h.
Referenced by BorisPusher(), BorisPusher(), initialise(), and kick().