Geant4-11
|
#include <G4BulirschStoer.hh>
Public Types | |
enum class | step_result { success , fail } |
Public Member Functions | |
G4BulirschStoer (G4EquationOfMotion *equation, G4int nvar, G4double eps_rel, G4double max_dt=DBL_MAX) | |
G4EquationOfMotion * | GetEquationOfMotion () |
G4int | GetNumberOfVariables () const |
void | reset () |
void | set_max_dt (G4double max_dt) |
void | set_max_relative_error (G4double eps_rel) |
void | SetEquationOfMotion (G4EquationOfMotion *equation) |
step_result | try_step (const G4double in[], const G4double dxdt[], G4double &t, G4double out[], G4double &dt) |
Private Member Functions | |
G4double | calc_h_opt (G4double h, G4double error, size_t k) const |
void | extrapolate (size_t k, G4double xest[]) |
G4bool | in_convergence_window (G4int k) const |
G4bool | set_k_opt (size_t k, G4double &dt) |
G4bool | should_reject (G4double error, G4int k) const |
Static Private Attributes | |
static const G4int | m_k_max = 8 |
Definition at line 43 of file G4BulirschStoer.hh.
|
strong |
Enumerator | |
---|---|
success | |
fail |
Definition at line 47 of file G4BulirschStoer.hh.
G4BulirschStoer::G4BulirschStoer | ( | G4EquationOfMotion * | equation, |
G4int | nvar, | ||
G4double | eps_rel, | ||
G4double | max_dt = DBL_MAX |
||
) |
Definition at line 47 of file G4BulirschStoer.cc.
References m_coeff, m_cost, m_current_k_opt, m_interval_sequence, and m_k_max.
Definition at line 259 of file G4BulirschStoer.cc.
References error, fac, anonymous_namespace{G4BulirschStoer.cc}::inv_STEPFAC1, anonymous_namespace{G4BulirschStoer.cc}::inv_STEPFAC4, G4INCL::Math::max(), G4INCL::Math::min(), anonymous_namespace{G4BulirschStoer.cc}::STEPFAC2, and anonymous_namespace{G4BulirschStoer.cc}::STEPFAC3.
Referenced by try_step().
|
private |
Definition at line 239 of file G4BulirschStoer.cc.
References fnvar, m_coeff, and m_table.
Referenced by try_step().
|
inline |
|
inline |
Definition at line 312 of file G4BulirschStoer.cc.
References m_current_k_opt, and m_last_step_rejected.
void G4BulirschStoer::reset | ( | ) |
Definition at line 233 of file G4BulirschStoer.cc.
References m_first, and m_last_step_rejected.
Referenced by try_step().
Definition at line 282 of file G4BulirschStoer.cc.
References h_opt, anonymous_namespace{G4BulirschStoer.cc}::KFAC1, anonymous_namespace{G4BulirschStoer.cc}::KFAC2, m_cost, m_current_k_opt, m_k_max, m_last_step_rejected, and work.
|
inline |
|
inline |
|
inline |
Definition at line 322 of file G4BulirschStoer.cc.
References e2, error, m_current_k_opt, and m_interval_sequence.
Referenced by try_step().
G4BulirschStoer::step_result G4BulirschStoer::try_step | ( | const G4double | in[], |
const G4double | dxdt[], | ||
G4double & | t, | ||
G4double | out[], | ||
G4double & | dt | ||
) |
Definition at line 84 of file G4BulirschStoer.cc.
References calc_h_opt(), G4ModifiedMidpoint::DoStep(), error, extrapolate(), fail, fnvar, h_opt, anonymous_namespace{G4BulirschStoer.cc}::KFAC2, m_cost, m_current_k_opt, m_dt_last, m_eps_rel, m_err, m_first, m_interval_sequence, m_k_max, m_last_step_rejected, m_max_dt, m_midpoint, m_table, G4INCL::Math::max(), G4INCL::Math::min(), field_utils::relativeError(), reset(), G4ModifiedMidpoint::SetSteps(), should_reject(), success, and work.
|
private |
Definition at line 85 of file G4BulirschStoer.hh.
Referenced by extrapolate(), and try_step().
Definition at line 121 of file G4BulirschStoer.hh.
Referenced by set_k_opt(), and try_step().
Definition at line 112 of file G4BulirschStoer.hh.
Referenced by extrapolate(), and G4BulirschStoer().
Definition at line 115 of file G4BulirschStoer.hh.
Referenced by G4BulirschStoer(), set_k_opt(), and try_step().
|
private |
Definition at line 102 of file G4BulirschStoer.hh.
Referenced by G4BulirschStoer(), in_convergence_window(), set_k_opt(), should_reject(), and try_step().
|
private |
Definition at line 96 of file G4BulirschStoer.hh.
Referenced by try_step().
|
private |
Definition at line 88 of file G4BulirschStoer.hh.
Referenced by try_step().
|
private |
Definition at line 105 of file G4BulirschStoer.hh.
Referenced by try_step().
|
private |
Definition at line 94 of file G4BulirschStoer.hh.
Referenced by reset(), and try_step().
Definition at line 109 of file G4BulirschStoer.hh.
Referenced by G4BulirschStoer(), should_reject(), and try_step().
|
staticprivate |
Definition at line 75 of file G4BulirschStoer.hh.
Referenced by G4BulirschStoer(), set_k_opt(), and try_step().
|
private |
Definition at line 93 of file G4BulirschStoer.hh.
Referenced by in_convergence_window(), reset(), set_k_opt(), and try_step().
|
private |
Definition at line 100 of file G4BulirschStoer.hh.
Referenced by try_step().
|
private |
Definition at line 91 of file G4BulirschStoer.hh.
Referenced by try_step().
|
private |
Definition at line 118 of file G4BulirschStoer.hh.
Referenced by extrapolate(), and try_step().
Definition at line 124 of file G4BulirschStoer.hh.
Referenced by set_k_opt(), and try_step().