numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
|
Base class of classes to control step sizes. More...
#include <num_collect/ode/step_size_controller_base.h>
Public Types | |
using | formula_type = Formula |
Type of formula. | |
using | problem_type = typename formula_type::problem_type |
Type of problem. | |
using | scalar_type = typename problem_type::scalar_type |
Type of scalars. | |
using | variable_type = typename problem_type::variable_type |
Type of variables. | |
Public Member Functions | |
auto | limits () const -> const step_size_limits< scalar_type > & |
Get the limits of step sizes. | |
auto | limits (const step_size_limits< scalar_type > &val) -> Derived & |
Set the limits of step sizes. | |
auto | reduction_rate (const scalar_type &val) -> Derived & |
Set the rate to reduce step sizes when error is large. | |
auto | tolerances () const -> const error_tolerances< variable_type > & |
Get the error tolerances. | |
auto | tolerances (const error_tolerances< variable_type > &val) -> Derived & |
Set the error tolerances. | |
Public Member Functions inherited from num_collect::logging::logging_mixin | |
logging_mixin (log_tag_view tag) | |
Constructor. | |
template<typename Child > | |
void | configure_child_algorithm_logger_if_exists (Child &child) |
Configure a logger of a child algorithm if exists. | |
auto | logger () const noexcept -> const num_collect::logging::logger & |
Access to the logger. | |
auto | logger () noexcept -> num_collect::logging::logger & |
Access to the logger. | |
Protected Member Functions | |
step_size_controller_base (logging::log_tag_view tag) | |
Constructor. | |
auto | derived () const noexcept -> const Derived & |
Access derived object. | |
auto | derived () noexcept -> Derived & |
Access derived object. | |
auto | reduce_if_needed (scalar_type &step_size, const variable_type &variable, const variable_type &error) -> bool |
Reduce step size if needed. | |
Private Attributes | |
step_size_limits< scalar_type > | limits_ {} |
Limits of step sizes. | |
scalar_type | reduction_rate_ {default_reduction_rate} |
Rate to reduce step sizes when error is large. | |
error_tolerances< variable_type > | tolerances_ {} |
Error tolerances. | |
Static Private Attributes | |
static constexpr auto | default_reduction_rate |
Default rate to reduce step sizes when error is large. | |
Base class of classes to control step sizes.
Derived | Type of derived class. |
Formula | Type of the formula. |
Definition at line 40 of file step_size_controller_base.h.
using num_collect::ode::step_size_controller_base< Derived, Formula >::formula_type = Formula |
Type of formula.
Definition at line 43 of file step_size_controller_base.h.
using num_collect::ode::step_size_controller_base< Derived, Formula >::problem_type = typename formula_type::problem_type |
Type of problem.
Definition at line 46 of file step_size_controller_base.h.
using num_collect::ode::step_size_controller_base< Derived, Formula >::scalar_type = typename problem_type::scalar_type |
Type of scalars.
Definition at line 52 of file step_size_controller_base.h.
using num_collect::ode::step_size_controller_base< Derived, Formula >::variable_type = typename problem_type::variable_type |
Type of variables.
Definition at line 49 of file step_size_controller_base.h.
|
inlineexplicitprotected |
|
inlinenodiscardprotectednoexcept |
Access derived object.
Definition at line 132 of file step_size_controller_base.h.
|
inlinenodiscardprotectednoexcept |
Access derived object.
Definition at line 123 of file step_size_controller_base.h.
|
inlinenodiscard |
Get the limits of step sizes.
Definition at line 70 of file step_size_controller_base.h.
|
inline |
Set the limits of step sizes.
[in] | val | Value. |
Definition at line 60 of file step_size_controller_base.h.
|
inlinenodiscardprotected |
Reduce step size if needed.
[in,out] | step_size | Step size. |
[in] | variable | Variable. |
[in] | error | Error estimate. |
true | Step size was reduced. |
false | Otherwise. |
Definition at line 145 of file step_size_controller_base.h.
|
inline |
Set the rate to reduce step sizes when error is large.
[in] | val | Value. |
Definition at line 101 of file step_size_controller_base.h.
|
inlinenodiscard |
Get the error tolerances.
Definition at line 90 of file step_size_controller_base.h.
|
inline |
Set the error tolerances.
[in] | val | Value. |
Definition at line 80 of file step_size_controller_base.h.
|
staticconstexprprivate |
Default rate to reduce step sizes when error is large.
Definition at line 173 of file step_size_controller_base.h.
|
private |
Limits of step sizes.
Definition at line 167 of file step_size_controller_base.h.
|
private |
Rate to reduce step sizes when error is large.
Definition at line 177 of file step_size_controller_base.h.
|
private |
Error tolerances.
Definition at line 170 of file step_size_controller_base.h.