|
DiffEq - Modern C++ ODE Integration Library 1.0.0
High-performance C++ library for solving ODEs with async signal processing
|
Simple BDF1 (Backward Euler) integrator for debugging. More...
#include <simple_bdf1.hpp>


Public Types | |
| using | base_type = core::AdaptiveIntegrator< 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::AdaptiveIntegrator< S > | |
| using | base_type = 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 | |
| SimpleBDF1Integrator (system_function sys, time_type rtol=static_cast< time_type >(1e-3), time_type atol=static_cast< time_type >(1e-6)) | |
| void | step (state_type &state, time_type dt) override |
| time_type | adaptive_step (state_type &state, time_type dt) override |
Public Member Functions inherited from diffeq::core::AdaptiveIntegrator< S > | |
| AdaptiveIntegrator (system_function sys, time_type rtol=static_cast< time_type >(1e-6), time_type atol=static_cast< time_type >(1e-9)) | |
| void | integrate (state_type &state, time_type dt, time_type end_time) override |
| virtual time_type | adaptive_step (state_type &state, time_type dt)=0 |
| void | set_tolerances (time_type rtol, time_type atol) |
| void | set_step_limits (time_type dt_min, time_type dt_max) |
Public Member Functions inherited from diffeq::core::AbstractIntegrator< S > | |
| AbstractIntegrator (system_function sys) | |
| virtual void | step (state_type &state, time_type dt)=0 |
| 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::AdaptiveIntegrator< S > | |
| time_type | calculate_tolerance (value_type y_val) const |
| time_type | error_norm (const state_type &error, const state_type &y) const |
| time_type | error_norm_scipy_style (const state_type &error, const state_type &y_old, const state_type &y_new) const |
| time_type | suggest_step_size (time_type current_dt, time_type error_norm, int order) const |
Protected Member Functions inherited from diffeq::core::AbstractIntegrator< S > | |
| void | advance_time (time_type dt) |
Protected Attributes inherited from diffeq::core::AdaptiveIntegrator< S > | |
| time_type | rtol_ |
| time_type | atol_ |
| time_type | dt_min_ |
| time_type | dt_max_ |
| time_type | safety_factor_ |
Protected Attributes inherited from diffeq::core::AbstractIntegrator< S > | |
| system_function | sys_ |
| time_type | current_time_ |
Simple BDF1 (Backward Euler) integrator for debugging.
This is a simplified implementation to understand the BDF method. BDF1 equation: y_{n+1} = y_n + h * f(t_{n+1}, y_{n+1})
Definition at line 20 of file simple_bdf1.hpp.
| using diffeq::SimpleBDF1Integrator< S >::base_type = core::AdaptiveIntegrator<S> |
Definition at line 22 of file simple_bdf1.hpp.
| using diffeq::SimpleBDF1Integrator< S >::state_type = typename base_type::state_type |
Definition at line 23 of file simple_bdf1.hpp.
| using diffeq::SimpleBDF1Integrator< S >::system_function = typename base_type::system_function |
Definition at line 26 of file simple_bdf1.hpp.
| using diffeq::SimpleBDF1Integrator< S >::time_type = typename base_type::time_type |
Definition at line 24 of file simple_bdf1.hpp.
| using diffeq::SimpleBDF1Integrator< S >::value_type = typename base_type::value_type |
Definition at line 25 of file simple_bdf1.hpp.
|
inlineexplicit |
Definition at line 28 of file simple_bdf1.hpp.
|
inlineoverride |
Definition at line 37 of file simple_bdf1.hpp.
|
inlineoverride |
Definition at line 33 of file simple_bdf1.hpp.