mirror of
https://github.com/boostorg/odeint.git
synced 2026-01-31 08:22:14 +00:00
fixed small typo in integrate section
This commit is contained in:
56
TODO
56
TODO
@@ -7,6 +7,62 @@ OK * rename rb_controller to stiff_controller
|
||||
error_steppers
|
||||
OK * check the preamble
|
||||
|
||||
error_stepper:
|
||||
|
||||
xerr = error( x , xold )
|
||||
|
||||
explicit_error_stepper:
|
||||
|
||||
xerr = error( x , xold , dxdtold )
|
||||
|
||||
explicit_error_stepper_fsal:
|
||||
|
||||
xerr = error( x , dxdt , xold , dxdtold )
|
||||
|
||||
|
||||
default_error:
|
||||
|
||||
xerr[i] / ( m_abs + m_eps * xold[i] )
|
||||
|
||||
default_error_explicit:
|
||||
|
||||
xerr[i] / ( m_abs + m_eps * ( a_x * xold[i] + a_dtdt * dxdtold[i] ) )
|
||||
|
||||
rb:
|
||||
|
||||
xerr[i] / ( m_abs + m_eps * max( x[i] , xold[i] ) )
|
||||
|
||||
norm:
|
||||
|
||||
val = max_i( xerr[i] );
|
||||
|
||||
val = 1 / n * sum_i * xerr[i] * xerr[i];
|
||||
|
||||
|
||||
VORSCHLAG:
|
||||
|
||||
ein default_error_checker
|
||||
|
||||
mit norm_policy, error_funktor;
|
||||
|
||||
error_funktor: je nach stepper
|
||||
|
||||
norm_policy
|
||||
{
|
||||
public:
|
||||
|
||||
typedef Value result_type;
|
||||
|
||||
template< class T1 , class T2 >
|
||||
result_type operator( T1 t1 , T2 t2 ) const
|
||||
{
|
||||
}
|
||||
|
||||
result_type result( result_type res ) const
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
* REFACTORING AND CLEANUP
|
||||
|
||||
@@ -42,7 +42,7 @@ Note that if you are using a simple __stepper or __error_stepper and want to mak
|
||||
The actual step size will change due to error control during time evolution.
|
||||
However, if an observer is provided the step size will be adjusted such that the algorithm always calculates /x(t)/ at ['t = t[sub 0] + n dt] and calls the observer at that point.
|
||||
Note that the use of __controlled_stepper is reasonable here only if `dt` is considerably larger than typical step sizes used by the stepper.
|
||||
* If `stepper` is a __dense_out_stepper then `dt` is the initial step size.
|
||||
* If `stepper` is a __dense_outout_stepper then `dt` is the initial step size.
|
||||
The actual step size will be adjusted during integration due to error control.
|
||||
If an observer is provided dense output is used to calculate /x(t)/ at ['t = t[sub 0] + n dt].
|
||||
|
||||
@@ -67,7 +67,7 @@ If provided, the observer is called at each step.
|
||||
The actual step size is changed according to error control of the stepper.
|
||||
For the last step, the step size will be reduced to ensure we end exactly at `t1`.
|
||||
If provided, the observer is called after each time step (and before the first step at `t0`).
|
||||
* If stepper is a __dense_out_stepper then `dt` is the initial step size and `integrate_adaptive` behaves just like for __controlled_stepper above. No dense output is used.
|
||||
* If stepper is a __dense_output_stepper then `dt` is the initial step size and `integrate_adaptive` behaves just like for __controlled_stepper above. No dense output is used.
|
||||
|
||||
[heading Observer calls at given time points]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user