Commit Graph

160 Commits

Author SHA1 Message Date
Martin Langer
a625f532b1 corrected rushed fix 2015-12-28 12:04:39 +01:00
Martin Langer
0f943fbf8b fixed wrong precomputation in BS dense stepper 2015-12-27 22:42:33 +01:00
Martin Langer
61a74d2bfc fixed missing semicolon 2015-12-18 16:14:48 +01:00
Martin Langer
607bb768ba table for precomputed facmin in bulirsch_stoer_dense_out 2015-12-18 15:40:53 +01:00
Martin Langer
cc8c9772ac table for precomputed facmin in bulirsch_stoer 2015-12-18 15:32:48 +01:00
Mario Mulansky
eb2804b281 resetting optimal order when resetting BS stepper
addressing #184, simple fix is to also reset m_current_k_opt and therefore
make sure the loop doesnt overshoot.
2015-12-10 17:22:44 +01:00
Mario Mulansky
a569bdc0c5 fixing #183 2015-12-10 17:18:09 +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
1eefa78c96 Bugfix for #144 also in const version
Issue #144 has been fixed some time ago, but only for the non-const ref do_step
interface. This fixes also the const ref interface implementation.
2015-12-09 12:09:39 +01:00
Mario Mulansky
fa99c05538 Merge branch 'master' into develop 2015-12-07 17:14:46 +01:00
Mario Mulansky
f51691421c Merge branch 'master' of github.com:headmyshoulder/odeint-v2 into develop 2015-11-13 12:30:41 +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
8385e469ed removed unnecessary comment 2015-11-02 15:17:54 -06:00
Mario Mulansky
0cba21e14b updated docstrings in integrate routines 2015-11-02 14:15:16 -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
936af851bb added max_dt to bs dense out 2015-11-01 13:38:10 -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
f338e6f12c introduced odeint exceptions
All exceptions thrown by odeint are now derived from odeint_error to
allow for a detailed exception handling.
2015-10-28 21:11:36 -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
c9eeb0f367 first step of refactoring using adapters
instead of adding the functionality within the integrate functions we
will use adapters, i.e. checked_stepper and checked_observer to implement
the checking functionality
this commit contains the first implementation of this for integrate_times
2015-10-27 18:55:11 -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
a2cd50a9dc refactor step adjustment into error_checker
the logic for step size adjustment is moved to the error_checker.
this removes code duplication and will make it easier to add step size
limiting functionality.
2015-10-23 04:27:43 +02:00
Mario Mulansky
4b7c39cbb6 updated copyright years 2015-10-09 12:24:11 +02:00
Mario Mulansky
f5ee194e7c refactor step adjustment exception
Checks for step size adjustment errors done in integrate routines and
controlled steppers are now managed by a separate failed_step_checker class.
2015-10-09 11:20:01 +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
44576c3dab add checker reset in integrate_const 2015-10-06 18:06:36 +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
703350b223 consistent counting of failed steps
the code in integrate_times for a controlled stepper and in the dense out
stepper was inconsistent in terms of when exactly to throw the exception.
See #173 for some discussion on this.
2015-10-05 17:03:08 +02:00
Björn Dahlgren
95b1030f27 Apply static_cast<value_type>(...) to numerators in calc_h_opt() 2015-08-31 16:48:13 +02:00
Björn Dahlgren
62c8f4d670 Fix bug in bulirsch_stoer_dense_out.hpp when using multiprecision data types 2015-08-30 14:56:59 +02:00
Mario Mulansky
86f1a632ca Merge pull request #10 from nasailja/patch-1
Fix compilation warning
2015-08-22 19:12:40 +02:00
headmyshoulder
3d9de3519c Merge pull request #14 from nasailja/patch-5
Remove unused parameter warnings
2015-08-19 07:05:55 +02:00
headmyshoulder
dfba50ff70 Merge pull request #13 from nasailja/patch-4
Remove unused parameter warnings
2015-08-19 07:02:01 +02:00
headmyshoulder
551ef7f815 Merge pull request #12 from nasailja/patch-3
Remove unused parameter warnings
2015-08-19 07:01:54 +02:00
Ilja
836a88913b Remove unused parameter warnings 2015-08-18 14:16:07 -04:00
Ilja
55cadcd747 Remove unused parameter warnings 2015-08-18 14:15:29 -04:00
Ilja
c04ad7c090 Remove unused parameter warnings 2015-08-18 14:14:42 -04:00
Ilja
1e08fee9ce Remove unused parameter warnings 2015-08-18 14:13:45 -04:00
Ilja
d4221d9417 Fix compilation warning
warning: struct template 'reference_wrapper' was previously declared as a class template [-Wmismatched-tags]
include/boost/core/ref.hpp:59:25: note: previous use is here
2015-08-18 14:11:45 -04:00
Mario Mulansky
f312a809c8 remove const-ness from bulirsch-stoer members
addressing #149
2015-07-10 13:04:25 +02:00
Karsten Ahnert
fbd9ed0010 Merge branch 'master' of https://github.com/headmyshoulder/odeint-v2 into develop 2015-07-09 22:01:48 +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
Mario Mulansky
45fd4331c2 fix #166
use correct iterator (const) in norm_inf of openmp_range_algebra.
2015-06-14 16:23:54 +02:00
Mario Mulansky
656e1466cf Merge pull request #161 from ds283/bulirsch-stoer-segfault
Adjust allocation of bulirsch_stoer_dense_out::m_diffs to avoid segmentation fault
2015-04-23 12:03:55 +02:00
David Seery
3625ae1ef1 Adjust allocation of bulirsch_stoer_dense_out::m_diffs to avoid segmentation fault 2015-04-22 11:57:17 +01:00
Arash
25febac10b Update integrate_adaptive.hpp
This assignment inside the while loop is redundant.
2015-04-22 14:32:01 +10:00
David Seery
d7d2dd5743 Fix formatting 2015-04-19 12:51:54 +01:00
David Seery
307aff4f5e Switch <iterator>-1 for --<iterator> in integrate_times() to allow use with bidirectional iterators 2015-04-19 09:21:45 +01:00
Karsten Ahnert
69d6b39e32 Merge branch 'develop' of https://github.com/boostorg/odeint into develop 2015-03-09 07:01:46 +01:00
Karsten Ahnert
9a14adf963 using using std::max 2015-03-08 21:53:13 +01:00
akumta
c5b3053f84 Update implicit_euler.hpp
Per ticket 11081.
2015-03-06 11:57:58 -08:00
Karsten Ahnert
304a1d459b fixes Trac Ticket #11011 2015-02-12 10:32:14 +01:00
Mario Mulansky
f9c7763eda doxygen text 2015-02-01 18:14:09 +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
Karsten Ahnert
d3ca31a8e3 removing warnings, see track ticket #10931 2015-01-29 23:27:44 +01:00
Karsten Ahnert
4adf0b0f80 fixes #150 2015-01-29 21:45:06 +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
d323be0220 renamed do_step_dxdt to do_step_dxdt_impl 2015-01-13 20: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
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
Mario Mulansky
54856f3913 fixes #142, fixes boost include issue in bjam 2014-11-12 10:01:05 +01:00
Mario Mulansky
df07f80123 Merge branch 'master' of github.com:headmyshoulder/odeint-v2 2014-11-11 18:32:41 +01:00
Mario Mulansky
f171a84ba7 algebra dispatcher now recognizes dts::array 2014-11-11 18:32:11 +01:00
Karsten Ahnert
61df23d75e fixed https://svn.boost.org/trac/boost/ticket/10499 2014-11-11 17:59:06 +01:00
Mario Mulansky
133fb843d3 generalized array_algebra
array_algebra now works with any Array<T,N> structure
2014-11-11 17:32:58 +01:00
Mario Mulansky
589bdc45c0 some perf comments 2014-10-17 11:34:37 +02:00
Mario Mulansky
b6ebc0f156 new performance tests 2014-10-17 11:09:24 +02:00
Mario Mulansky
cc6969cca5 fixing #141 2014-10-07 13:00:20 +02:00
Karsten Ahnert
5eebbb56d8 fixing #140 2014-08-18 21:00:12 +02:00
Karsten Ahnert
b497ca56de adding documentation for second integrate version 2014-08-16 21:07:35 +02:00
Karsten Ahnert
d81e685e73 Merge branch 'master' of github.com:headmyshoulder/odeint-v2 2014-08-16 21:05:30 +02:00
Karsten Ahnert
720a926e45 fixes #139 2014-08-16 21:05:16 +02:00
Karsten Ahnert
87dae441ef removing old include from external test jamfiles, adding nounused local typedef warning, adding newline to toolset.jam.patch 2014-08-16 14:12:08 +02:00
mariomulansky
0ca187cd6e added unnamed namespace around placeholders
addressing #138
2014-08-15 09:44:56 +02:00
mariomulansky
9473d7f067 added thrust backend vectors to operations_dispatcher 2014-08-01 19:38:45 +02:00
mariomulansky
286b87a872 some cosmetics and more dispatcher specializations 2014-08-01 19:26:03 +02:00
slayoo
ca69d012bb adding thrust resizing macros for thrust::cpp::vector, thrust::omp::vector, thrust::tbb::vector and thrust::cuda::vector (addressing #136) 2014-08-01 14:36:56 +02:00
mariomulansky
ab613676d9 fix double include 2014-07-31 23:03:50 +02:00
mariomulansky
bf7b9f64c9 added macros for thrust resizing, addressing #136 2014-07-31 22:53:52 +02:00
mariomulansky
b3a6581842 fixes #135 2014-07-31 16:08:34 +02:00
mariomulansky
ef35151e09 Merge branch 'master' of github.com:headmyshoulder/odeint-v2 2014-07-11 13:56:00 +02:00
mariomulansky
6e9d680cb5 some fixes for c++11, clang and msvc 2014-07-11 13:55:20 +02:00
Karsten Ahnert
2f021f760c disable the default boost bind placeholders 2014-07-05 11:07:35 +02:00
mariomulansky
26beea5455 Merge branch 'nt2_specializations' of https://github.com/MetaScale/odeint-v2 2014-07-01 19:18:22 +02:00
Mario Mulansky
02e1c223ae Merge pull request #130 from MetaScale/boost_throw_exception
exceptions are handled by BOOST_THROW_EXCEPTION so that the compiler opt...
2014-07-01 18:48:13 +02:00
Karsten Ahnert
b94b3c1b29 Revert "Revert "Merge branch 'sfinae'""
This reverts commit 56a7c4040e.
2014-06-29 22:21:36 +02:00
Karsten Ahnert
56a7c4040e Revert "Merge branch 'sfinae'"
This reverts commit a593879d23, reversing
changes made to d575761ead.
2014-06-29 21:47:24 +02:00
Karsten Ahnert
a593879d23 Merge branch 'sfinae' 2014-06-29 21:31:41 +02:00
alankelly
9728651b50 exceptions are handled by BOOST_THROW_EXCEPTION so that the compiler option fno-exceptions may safely be used 2014-06-26 18:42:45 +02:00
alankelly
31ed4aadde nt2_norm_inf defines the infinity norm of a multi-dimensional matrix in the same manner as eigen - that is the largest absolute value 2014-06-26 17:42:04 +02:00
alankelly
9d0fc0a1b8 norm_inf updated to use new mnorminf function 2014-06-26 15:36:10 +02:00
alankelly
a3b64c2a0b infinity norm on a matrix is defined as the max of the row sums 2014-06-26 15:36:10 +02:00
alankelly
033d5cb76b minimal table header, code cleaned, extent used instead of size for resizing/size comparison 2014-06-26 15:36:10 +02:00