|
DiffEq - Modern C++ ODE Integration Library 1.0.0
High-performance C++ library for solving ODEs with async signal processing
|
Improved Euler (Heun's method) integrator. More...
#include <improved_euler.hpp>


Public Types | |
| using | base_type = core::AbstractIntegrator< S > |
| using | state_type = typename base_type::state_type |
| using | time_type = typename base_type::time_type |
| using | value_type = typename base_type::value_type |
| using | system_function = typename base_type::system_function |
Public Types inherited from diffeq::core::AbstractIntegrator< S > | |
| using | state_type = S |
| using | time_type = typename S::value_type |
| using | value_type = typename S::value_type |
| using | system_function = std::function< void(time_type, const state_type &, state_type &)> |
Public Member Functions | |
| ImprovedEulerIntegrator (system_function sys) | |
| void | step (state_type &state, time_type dt) override |
Public Member Functions inherited from diffeq::core::AbstractIntegrator< S > | |
| AbstractIntegrator (system_function sys) | |
| virtual void | integrate (state_type &state, time_type dt, time_type end_time) |
| time_type | current_time () const |
| void | set_time (time_type t) |
| void | set_system (system_function sys) |
Additional Inherited Members | |
Protected Member Functions inherited from diffeq::core::AbstractIntegrator< S > | |
| void | advance_time (time_type dt) |
Protected Attributes inherited from diffeq::core::AbstractIntegrator< S > | |
| system_function | sys_ |
| time_type | current_time_ |
Improved Euler (Heun's method) integrator.
Second-order explicit method. Better than basic Euler.
Order: 2 Stability: Better than Euler, but still poor for stiff problems Usage: Simple problems where RK4 is overkill
Definition at line 18 of file improved_euler.hpp.
| using diffeq::ImprovedEulerIntegrator< S >::base_type = core::AbstractIntegrator<S> |
Definition at line 20 of file improved_euler.hpp.
| using diffeq::ImprovedEulerIntegrator< S >::state_type = typename base_type::state_type |
Definition at line 21 of file improved_euler.hpp.
| using diffeq::ImprovedEulerIntegrator< S >::system_function = typename base_type::system_function |
Definition at line 24 of file improved_euler.hpp.
| using diffeq::ImprovedEulerIntegrator< S >::time_type = typename base_type::time_type |
Definition at line 22 of file improved_euler.hpp.
| using diffeq::ImprovedEulerIntegrator< S >::value_type = typename base_type::value_type |
Definition at line 23 of file improved_euler.hpp.
|
inlineexplicit |
Definition at line 26 of file improved_euler.hpp.
|
inlineoverridevirtual |
Implements diffeq::core::AbstractIntegrator< S >.
Definition at line 29 of file improved_euler.hpp.