OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
RK4< FieldFunction, Arguments > Class Template Reference

4-th order Runnge-Kutta stepper More...

#include <RK4.h>

Inheritance diagram for RK4< FieldFunction, Arguments >:
Inheritance graph
[legend]
Collaboration diagram for RK4< FieldFunction, Arguments >:
Collaboration graph
[legend]

Public Member Functions

 RK4 (const FieldFunction &fieldfunc)
 
- Public Member Functions inherited from Stepper< FieldFunction, Arguments...>
 Stepper (const FieldFunction &fieldfunc)
 
virtual bool advance (PartBunchBase< double, 3 > *bunch, const size_t &i, const double &t, const double dt, Arguments &...args) const
 
virtual ~Stepper ()
 

Private Member Functions

bool doAdvance_m (PartBunchBase< double, 3 > *bunch, const size_t &i, const double &t, const double dt, Arguments &...args) const
 
bool derivate_m (PartBunchBase< double, 3 > *bunch, double *y, const double &t, double *yp, const size_t &i, Arguments &...args) const
 
void copyTo (const Vector_t &R, const Vector_t &P, double *x) const
 
void copyFrom (Vector_t &R, Vector_t &P, double *x) const
 

Private Attributes

const double c_mmtns = Physics::c * 1.0e-6
 
const double c_mtns = Physics::c * 1.0e-9
 
const double mass_coeff = 1.0e18 * Physics::q_e / Physics::c / Physics::c
 

Additional Inherited Members

- Protected Attributes inherited from Stepper< FieldFunction, Arguments...>
const FieldFunction & fieldfunc_m
 

Detailed Description

template<typename FieldFunction, typename... Arguments>
class RK4< FieldFunction, Arguments >

4-th order Runnge-Kutta stepper

Definition at line 9 of file RK4.h.

Constructor & Destructor Documentation

template<typename FieldFunction , typename... Arguments>
RK4< FieldFunction, Arguments >::RK4 ( const FieldFunction &  fieldfunc)
inline

Definition at line 13 of file RK4.h.

Member Function Documentation

template<typename FieldFunction , typename... Arguments>
void RK4< FieldFunction, Arguments >::copyFrom ( Vector_t R,
Vector_t P,
double *  x 
) const
private

Definition at line 127 of file RK4.hpp.

References Attrib::Distribution::R.

template<typename FieldFunction , typename... Arguments>
void RK4< FieldFunction, Arguments >::copyTo ( const Vector_t R,
const Vector_t P,
double *  x 
) const
private

Definition at line 115 of file RK4.hpp.

References Attrib::Distribution::R.

template<typename FieldFunction , typename... Arguments>
bool RK4< FieldFunction, Arguments >::derivate_m ( PartBunchBase< double, 3 > *  bunch,
double *  y,
const double &  t,
double *  yp,
const size_t &  i,
Arguments &...  args 
) const
private
Parameters
y
t
yp
Pindex
Returns

Definition at line 70 of file RK4.hpp.

References Physics::c, PartBunchBase< T, Dim >::M, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, and sqrt().

Here is the call graph for this function:

template<typename FieldFunction , typename... Arguments>
bool RK4< FieldFunction, Arguments >::doAdvance_m ( PartBunchBase< double, 3 > *  bunch,
const size_t &  i,
const double &  t,
const double  dt,
Arguments &...  args 
) const
privatevirtual

Member Data Documentation

template<typename FieldFunction , typename... Arguments>
const double RK4< FieldFunction, Arguments >::c_mmtns = Physics::c * 1.0e-6
private

Definition at line 44 of file RK4.h.

template<typename FieldFunction , typename... Arguments>
const double RK4< FieldFunction, Arguments >::c_mtns = Physics::c * 1.0e-9
private

Definition at line 45 of file RK4.h.

template<typename FieldFunction , typename... Arguments>
const double RK4< FieldFunction, Arguments >::mass_coeff = 1.0e18 * Physics::q_e / Physics::c / Physics::c
private

Definition at line 46 of file RK4.h.


The documentation for this class was generated from the following files: