#include <G4ImplicitEuler.hh>
|
| G4ImplicitEuler (G4EquationOfMotion *EqRhs, G4int numberOfVariables=6) |
|
| ~G4ImplicitEuler () |
|
void | DumbStepper (const G4double y[], 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 50 of file G4ImplicitEuler.hh.
◆ G4ImplicitEuler()
Definition at line 50 of file G4ImplicitEuler.cc.
51 :
53{
54 unsigned int noVariables= std::max(numberOfVariables,8);
55 dydxTemp =
new G4double[noVariables] ;
57}
◆ ~G4ImplicitEuler()
G4ImplicitEuler::~G4ImplicitEuler |
( |
| ) |
|
◆ DumbStepper()
Implements G4MagErrorStepper.
Definition at line 75 of file G4ImplicitEuler.cc.
79{
82
83
84 yTemp[7] = yOut[7] = yIn[7];
85
86 for( i = 0; i < numberOfVariables; i++ )
87 {
88 yTemp[i] = yIn[i] + h*dydx[i] ;
89 }
90
92
93 for( i = 0; i < numberOfVariables; i++ )
94 {
95 yOut[i] = yIn[i] + 0.5 * h * ( dydx[i] + dydxTemp[i] );
96 }
97
98 return ;
99}
G4int GetNumberOfVariables() const
void RightHandSide(const double y[], double dydx[])
◆ IntegratorOrder()
G4int G4ImplicitEuler::IntegratorOrder |
( |
| ) |
const |
|
inlinevirtual |
The documentation for this class was generated from the following files: