2
0
mirror of https://github.com/boostorg/odeint.git synced 2026-02-03 09:22:13 +00:00
Commit Graph

68 Commits

Author SHA1 Message Date
Valentin Hartmann
848d7f1938 completed testcases 2017-07-03 14:42:41 +02:00
Valentin Hartmann
1b767b38d6 adapting tests to new formulation 2017-07-02 19:16:10 +02:00
Valentin Hartmann
7fe4477acf Tests for numeric precision, initializing procedure for steppers 2017-06-23 15:05:20 +02:00
Valentin Hartmann
d0dad9a53a changed tabs to spaces in all files 2017-06-22 17:44:49 +02:00
Valentin Hartmann
079f3ffa4d fixed problems in testcases 2017-06-21 21:32:18 +02:00
Valentin Hartmann
073e1e0143 more test cases 2017-06-21 18:14:46 +02:00
Valentin Hartmann
ac90a029ce completed testcases 2017-05-25 16:39:57 +02:00
Valentin Hartmann
518f2186ca unittests 2017-05-24 16:31:16 +02:00
Mario Mulansky
ff3fd556cb Fix compiler warnings, activate parallel CI build 2017-05-07 13:27:57 -07:00
Mario Mulansky
a452f6e816 Fix abs warnings and clang compiler warning flag 2017-05-07 13:07:10 -07:00
Mario Mulansky
5d3b013955 Update Boost on Travis, fix bug with boost 1.63 2017-05-07 12:40:31 -07:00
Mario Mulansky
31c29dd948 fixes #189
A bug introduced with the recent max_dt facility prevented the rosenbrock
controller to increase step size in most cases (if max_dt=0). This is fixed
now, and a regression test case has been added.
2016-01-19 15:37:50 +01:00
Mario Mulansky
9d02efbff2 added reset to adams bashforth moulton
The ABM stepper was missing reset functionality, see #182
2015-12-09 12:51:50 +01:00
Mario Mulansky
0c8e003341 Merge branch 'master' of github.com:headmyshoulder/odeint-v2
Conflicts:
	test/Jamfile.v2
2015-11-05 21:30:58 -06:00
Mario Mulansky
60cd09818d add max_dt to rosenbrock steppers
now all controlled and dense out steppers have step size limitation
functionality.
2015-11-01 14:21:02 -06:00
Mario Mulansky
80da40f6b5 test step limiter with negative dt + bugfix
Bugfix in error computation with negative dt.
2015-10-31 14:22:29 -06:00
Mario Mulansky
3d87ce360e added step size limitation to bulirsch stoer 2015-10-31 13:24:11 -06:00
Mario Mulansky
ed2040d48f refactored step size adjustment into own class
step size adjustment is now performed by a separate step_adjuster instead
of the error_checker. Repsonsibilities are now more clear.
2015-10-29 11:51:30 -06:00
Mario Mulansky
c8f28df99e removed null_checker
with the latest refactoring, the null checker is not necessary anymore.
2015-10-28 20:38:37 -06:00
Mario Mulansky
c3856f83a5 refactor all integrate functions
all integrate function now use the adaption to provide checking functionality
the implementations in detail::integrate_* are not aware of the checkers at
all.
2015-10-28 13:49:27 -06:00
Mario Mulansky
5efc181f4c refactor of integrate_times complete
integrate_times now uses checked_stepper and checked_observer to implement
the checking facility. Not that this means the integrate implementations in
detail::integrate_times have no knowledge on the checkers at all.
2015-10-28 12:50:55 -06:00
Mario Mulansky
6825d7af8b add max_dt support to generation functions + test
generate function now support additional max_dt parameter for setting the set
size limit.
Added a test case to check limiter behavior for controlled and dense out
integration.
2015-10-23 21:27:57 +02:00
Mario Mulansky
a006cb51fa bug fixes regarding the new step adjustment
all tests are now passing
2015-10-23 19:34:22 +02:00
Mario Mulansky
260d848288 refined the exception 2015-10-09 09:51:00 +02:00
Mario Mulansky
fa6a914f1a added overflow exception to other integrate funcs
following the previous additions for integrate_const now also
integrate_n_steps and integrate_times support max_step overflow
exceptions.
2015-10-08 12:57:56 +02:00
Mario Mulansky
23ffb209fa added overflow exception to integrate_const
Following the discussion in #173, the integrate_const function now
provide a mechanisms to check for TOO_MUCH_WORK situations where too
many steps are performed without any progress (i.e. observer calls).
Naturally, this only makes sense for controlled steppers or dense
output steppers.
Also, integrate_adaptive functions do not require such functionality as
there observer calls happen at every time step.
Hence, only integrate_n_steps and integrate_times will be adapted shortly
2015-10-06 17:26:18 +02:00
Mario Mulansky
ff755ff96e fixes #168
fixed bug in less_eq_with_sign. equality was not correctly checked for, which
resulted in wrong behavior when the numeric type had
std::numeric_limits<T>::epsilon() == 0.
2015-06-29 15:27:44 +02:00
Karsten Ahnert
8f6ef31acd adding test for adjust size of bulirsch stoer 2015-02-12 10:36:41 +01:00
Mario Mulansky
c23fdbeb8f extrapolation stepper as init stepper for abm
extrapolation stepper has a configurable order, so we can use it as
initializing stepper in the adams-bashforth algorithm. All numeric tests pass.
2015-02-01 18:08:39 +01:00
Mario Mulansky
0721600e50 new extrapolation stepper 2015-02-01 16:32:18 +01:00
Mario Mulansky
2b42b359d4 added test case for velocity-verlet #150
Test numerical accuracy of the velocity verlet method using a harmonic
oscillator.
2015-01-31 14:27:25 +01:00
Karsten Ahnert
d3ca31a8e3 removing warnings, see track ticket #10931 2015-01-29 23:27:44 +01:00
Mario Mulansky
54a601d679 fixed compiler flag 2015-01-27 16:35:30 +01:00
Mario Mulansky
fe00c541a9 added test case for issue #149 2015-01-27 14:06:33 +01:00
Mario Mulansky
109e9112a8 added missing adams-bashforth test with 8 steps 2015-01-21 14:38:05 +01:00
Mario Mulansky
f5079fb258 add init_stepper as template param to abm stepper
The Adams-Bashforth-Moulton stepper has now also the initializing stepper
as a template parameter.

This allows to get rid of the specific test case for multi-step methods in
order_quadrature_formula. Furthermore, some cosmetic adjustments were made in
this test: global variables, camel case naming, while loop -> for loop.
2015-01-21 13:52:56 +01:00
Mario Mulansky
8c41ee24ba Merge pull request #146 from GregorDeCillia/master
Test certain steppers with the problem x'(t) = t^p
2015-01-21 10:24:09 +01:00
GregorDeCillia
5925f23db7 Update order_quadrature_formula.cpp 2015-01-20 10:32:27 +01:00
Gregor de Cillia
8ee12ec2d1 disable warnings 2015-01-20 01:48:57 +01:00
Gregor de Cillia
c7d40ae0f1 applied recommendations mentioned in #146
* state_type is now a double
* rhs is global
* p is a member of rhs, called exponent
* 'main loop' is of the form
	do{ exponent++; ... } while ( error < tolerance );
2015-01-20 01:43:52 +01:00
Mario Mulansky
4b5a34dd9a fixed adams-bashforth test 2015-01-13 22:09:02 +01:00
Mario Mulansky
82e2a70aa2 fixed adams bashforth test case 2015-01-10 19:34:53 +01:00
Mario Mulansky
8f1d82741b Merge branch 'master' of github.com:headmyshoulder/odeint-v2 2015-01-10 16:20:32 +01:00
Mario Mulansky
4cadbe5164 fixes #147
when state_type == time_type (e.g. 1d odes with state_type = double), some
do_step overloads are disabled due to ambiguities of parameter structure.
However, the initialization of the Adams-Bashforth needs some of those
disabled functions in its initialization. As a fix, I added do_step_dxdt to
the stepper base classes to provide direct access to the required functions
that will not be disabled in the case of state_type == time_type.
2015-01-10 16:17:06 +01:00
Gregor de Cillia
b9fa3d5a1c disable warnings 2014-12-23 01:49:00 +01:00
Gregor de Cillia
732d7770ab change name of test to order quadrature formula,
new console output and more comments in the code
2014-12-23 01:35:49 +01:00
Gregor de Cillia
593652e956 order_of_convergence: new steppers tested
Adams bashforth and adams bashforth moulton methods of order greater than 4 are
tested. Change console output.
2014-12-22 05:08:42 +01:00
Gregor de Cillia
d43fec705f First version of the polynomial test
This test checks, wether solvers of order ord can solve the problem
x'(t) = 1 + t^p
for p<ord with a very high accuracy (10^-13).

This should be the case for linear solvers, see
https://github.com/headmyshoulder/odeint-v2/issues/145
for a discussion about this topic.
2014-12-21 22:13:21 +01:00
Mario Mulansky
fe7afc4fde typo in comment on analytic solution 2014-12-19 11:17:27 -06:00
Mario Mulansky
ee3ea15d58 fix #144, including test case
The Adams-Bashforth-Moulton stepper called the corrector step with the wrong time value, as pointed out by GregorDeCillia in Issue #144. This commit fixes this bug and adds a test to check the correct behavior.
2014-12-19 10:06:16 -06:00