#include <G4ClassicalRK4.hh>
|
| G4ClassicalRK4 (G4EquationOfMotion *EquationMotion, G4int numberOfVariables=6) |
|
| ~G4ClassicalRK4 () |
|
void | DumbStepper (const G4double yIn[], const G4double dydx[], G4double h, G4double yOut[]) |
|
G4int | IntegratorOrder () const |
|
| G4MagErrorStepper (G4EquationOfMotion *EqRhs, G4int numberOfVariables, G4int numStateVariables=12) |
|
virtual | ~G4MagErrorStepper () |
|
void | Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[]) |
|
virtual void | DumbStepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[])=0 |
|
G4double | DistChord () const |
|
| G4MagIntegratorStepper (G4EquationOfMotion *Equation, G4int numIntegrationVariables, G4int numStateVariables=12) |
|
virtual | ~G4MagIntegratorStepper () |
|
virtual void | Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])=0 |
|
virtual G4double | DistChord () const =0 |
|
virtual void | ComputeRightHandSide (const G4double y[], G4double dydx[]) |
|
void | NormaliseTangentVector (G4double vec[6]) |
|
void | NormalisePolarizationVector (G4double vec[12]) |
|
void | RightHandSide (const double y[], double dydx[]) |
|
G4int | GetNumberOfVariables () const |
|
G4int | GetNumberOfStateVariables () const |
|
virtual G4int | IntegratorOrder () const =0 |
|
G4EquationOfMotion * | GetEquationOfMotion () |
|
void | SetEquationOfMotion (G4EquationOfMotion *newEquation) |
|
Definition at line 44 of file G4ClassicalRK4.hh.
◆ G4ClassicalRK4()
Definition at line 38 of file G4ClassicalRK4.cc.
41{
42 unsigned int noVariables= std::max(numberOfVariables,8);
43
47}
◆ ~G4ClassicalRK4()
G4ClassicalRK4::~G4ClassicalRK4 |
( |
| ) |
|
Definition at line 53 of file G4ClassicalRK4.cc.
54{
55 delete[] dydxm;
56 delete[] dydxt;
57 delete[] yt;
58}
◆ DumbStepper()
Implements G4MagErrorStepper.
Definition at line 71 of file G4ClassicalRK4.cc.
75{
79
80
81
82
83 yt[7] = yIn[7];
84 yOut[7] = yIn[7];
85
86 for(i=0;i<nvar;i++)
87 {
88 yt[i] = yIn[i] + hh*dydx[i] ;
89 }
91
92 for(i=0;i<nvar;i++)
93 {
94 yt[i] = yIn[i] + hh*dydxt[i] ;
95 }
97
98 for(i=0;i<nvar;i++)
99 {
100 yt[i] = yIn[i] + h*dydxm[i] ;
101 dydxm[i] += dydxt[i] ;
102 }
104
105 for(i=0;i<nvar;i++)
106 {
107 yOut[i] = yIn[i]+h6*(dydx[i]+dydxt[i]+2.0*dydxm[i]);
108 }
110
111}
void NormalisePolarizationVector(G4double vec[12])
G4int GetNumberOfVariables() const
void RightHandSide(const double y[], double dydx[])
◆ IntegratorOrder()
G4int G4ClassicalRK4::IntegratorOrder |
( |
| ) |
const |
|
inlinevirtual |
The documentation for this class was generated from the following files: