2
0
mirror of https://github.com/boostorg/odeint.git synced 2026-01-19 04:22:12 +00:00

1461 Commits

Author SHA1 Message Date
Matt Borland
7d91d3fb30 Remove uses of boost.assert 2023-12-20 16:09:13 +01:00
Matt Borland
2dc1690ff5 Define context switching assert macro 2023-12-20 16:04:02 +01:00
Matt Borland
654f44122b Add automatic standalone mode detection 2023-12-20 16:03:40 +01:00
Matt Borland
8c095fed5b Remove use of boost.static_assert 2023-12-20 15:55:15 +01:00
Matt Borland
36f3c23320 Add codecov to CI 2023-12-20 15:44:37 +01:00
Matt Borland
1bef73bfdc Begin replacing boost/type_traits 2023-12-20 15:43:01 +01:00
Matt Borland
ccf0f9278e Remove uses of boost.array 2023-12-20 15:22:56 +01:00
Matt Borland
1aad182c45 Merge pull request #65 from boostorg/meta
Update library metadata
2023-12-18 13:31:31 +01:00
Matt Borland
2b8fc9af87 Update library metadata 2023-12-18 11:18:33 +01:00
Matt Borland
cbe616c9f9 Merge pull request #63 from boostorg/CI
CI Fixes
2023-12-18 10:35:28 +01:00
Matt Borland
574825ae5e Disable unused runner 2023-12-18 09:31:51 +01:00
Matt Borland
202ebd4c9f Fix iterator type mismatch 2023-12-18 08:44:42 +01:00
Matt Borland
d59463b97e Add bigobj for MSVC and mingw 2023-12-18 08:01:44 +01:00
Matt Borland
89a8eec610 Replace deprecated header 2023-12-18 08:01:28 +01:00
Matt Borland
dd8e9d12d5 Add missing header 2023-12-18 07:51:48 +01:00
Matt Borland
1299d4b322 Disable MINGW32 Run 2023-12-15 13:57:05 +01:00
Matt Borland
78c491e596 Temporarily disable asan failures 2023-12-15 13:07:39 +01:00
Matt Borland
1796f21121 Add license 2023-12-15 12:19:28 +01:00
Matt Borland
afe5834aa8 Adjust num_of_steps_expected for Apple ARM architecture 2023-12-15 12:18:09 +01:00
Matt Borland
68950d8df2 Fix recursion in extract_value_type 2023-12-15 11:59:26 +01:00
Matt Borland
e0bb3133cf Stricter enforcement of C++11 2023-12-15 11:56:27 +01:00
tnagler
8085ce1669 replace sprintf by snprtintf (macOS deprecation) 2023-12-15 11:03:26 +01:00
Matt Borland
dd7ba97928 Disable coverage run 2023-12-15 10:43:25 +01:00
Matt Borland
c6b12b212f Add testing requirements to Jamfile 2023-12-15 10:42:38 +01:00
Matt Borland
51036633ea Merge pull request #62 from mborland/GHA 2023-12-15 08:44:10 +01:00
Matt Borland
28a8430e9c Add github actions CI 2023-12-14 09:58:44 +01:00
Peter Dimov
07003366f1 Add CMakeLists.txt 2023-11-22 02:22:53 +02:00
Mario Mulansky
db8f91a51d Merge pull request #36 from boostorg/develop
Merge develop into master
boost-1.82.0.beta1 boost-1.76.0.beta1 boost-1.84.0.beta1 boost-1.83.0.beta1 boost-1.83.0 boost-1.82.0 boost-1.81.0.beta1 boost-1.81.0 boost-1.80.0.beta1 boost-1.80.0 boost-1.79.0.beta1 boost-1.79.0 boost-1.78.0.beta1 boost-1.78.0 boost-1.77.0.beta1 boost-1.77.0 boost-1.71.0 boost-1.71.0.beta1 boost-1.72.0 boost-1.72.0.beta1 boost-1.73.0 boost-1.73.0.beta1 boost-1.74.0 boost-1.74.0.beta1 boost-1.75.0 boost-1.75.0.beta1 boost-1.76.0
2019-05-25 09:54:52 -07:00
Mario Mulansky
2bbc186b43 Merge branch 'develop' of github.com:boostorg/odeint into develop 2019-04-20 11:56:36 -07:00
Mario Mulansky
fc43a2ef44 Merge branch 'master' of github.com:headmyshoulder/odeint-v2 into develop 2019-04-20 11:49:37 -07:00
Mario Mulansky
db8b39ae27 Change eigen algebra to support Eigen>=3.3 (#237)
* Change eigen algebra to support Eigen>=3.3

An internal change in Eigen made odeint incompatible with Eigen
versions >=3.3. This commit changes odeint in such a way that it
does not rely on the changed behvior, so it is now compatible with
old and new Eigen.

Fixes #194

* Remove obsolete Eigen fail compile test

* Remove compile-fail test for C++98 unwrap_reference
2019-03-16 16:20:44 -07:00
Mario Mulansky
ee44ba9e36 Revert "Fixed incorrect constant in Dormand–Prince Runge–Kutta Butcher tableau. (#235)" (#236)
This reverts commit 75fe4e19ad.
2019-03-02 11:42:32 -08:00
Garret McGraw
75fe4e19ad Fixed incorrect constant in Dormand–Prince Runge–Kutta Butcher tableau. (#235) 2019-03-02 11:17:09 -08:00
Markus Friedrich
5dd9519b7b Enable the adaption of the maximal step size of dense output steppers. (#225)
* Enable the adaption of the maximal step size of dense output steppers.

For efficient simulation of "hybrid" systems the integrator must approach
the sample points where the discrete variables change their value.

(hybrid systems = systems of ODEs which include discrete variables, beeing
internal variables of the system which only change their value at discrete
sample points)

Approaching sample points can be done by adapting the maximal integrator
step size to min(max_step_size, next_sample_point_time - current_time)
before each do_step.

To achive this in odeint for all dense output steppers the following
changes must be done (which does not change the existing API):
- make private members in bulirsch_stoer_dense_out,
  default_step_adjuster, rosenbrock4_controller protected.
- allow std::ref/boost::ref for step_adjuster in controlled_runge_kutta
  and controlled_runge_kutta and for stepper in rosenbrock4_dense_output
  by unwrapping these before use.
This allows to pass the step adjusters by reference to the dense output
steppers which than allows to change the maximal step size (in the step
adjuster) before each call to do_step.

* Added test for a reference controller in the Rosenbrock4 dense output stepper.

* Make in bulirsch_stoer_dense_out only the required m_max_dt member
protected not all.

Extend the test in rosenbrock4.cpp to test that the controller is a
reference and the maximal step size is applied.

* Fixed build with gcc-4.8
2018-02-12 20:13:12 -08:00
Markus Friedrich
a393540e17 Fixed dense_output_runge_kutta<Stepper, stepper_tag>::do_step(...) (#224)
do_step must return the pair (t, t+dt) but (t, dt) is returned.

Note that dense_output_runge_kutta<Stepper, explicit_controlled_stepper_fsal_tag>::do_step(...)
works correctly.
2018-01-20 11:24:22 -08:00
Mario Mulansky
d94c80da6a Merge pull request #29 from pavelkryukov/develop
Remove deprecated std::unary_function from molecular_dynamics_cells.cpp
2018-01-17 22:52:17 -08:00
Pavel I. Kryukov
9a21dbe8bd Remove deprecated std::unary_function from molecular_dynamics_cells.cpp 2018-01-17 14:57:48 +03:00
Mario Mulansky
6ff2719b69 Merge pull request #28 from boostorg/revert-24-patch-2
Revert "Remove deprecated std::unary_function from molecular_dynamics_cells.cpp"
boost-1.70.0 boost-1.70.0.beta1 boost-1.69.0-beta1 boost-1.69.0 boost-1.68.0 boost-1.67.0
2018-01-05 17:31:54 +01:00
Mario Mulansky
f3180e9928 Revert "Remove deprecated std::unary_function from molecular_dynamics_cells.cpp" 2018-01-05 17:31:24 +01:00
Mario Mulansky
b4bf0b1b41 Merge pull request #24 from pavelkryukov/patch-2
Remove deprecated std::unary_function from molecular_dynamics_cells.cpp
2018-01-05 17:26:55 +01:00
Valentin Hartmann
30fd68fbb3 adds controlled initialization (#216)
- errors might already occur during the first few steps if the stepsize is chosen too big
- initialize_controlled takes advantage of controlled steppers to initialize the controlled abm stepper
2018-01-05 17:22:52 +01:00
Mario Mulansky
a25c8eb665 Merge pull request #23 from corell-hd/patch-1
add template parameter to vector_space_norm_inf
2018-01-05 17:18:07 +01:00
Pavel I. Kryukov
adf673cd69 Remove deprecated std::unary_function from molecular_dynamics_cells.cpp 2017-11-20 19:09:52 +03:00
Valentin Hartmann
34def567d2 fix initialization with external stepper (#215)
- time was not increased over the iterations
- prediction of dxdt was taken before integrating with the supplied stepper instead of after
2017-11-12 12:12:17 -08:00
corell-hd
3f3192d84f add template parameter to vector_space_norm_inf
Adding an additional template parameter which defaults to void allows for template specialization using SFINAE.
2017-10-13 04:06:51 +02:00
Valentin Hartmann
540f46f42c Improvement to Order Selection, Error approximation in the ABM stepper (#218)
* improves the order selection and modifies the error estimation accordingly

- assumes constant stepsize for the next step to approximate error
- moves the complete order adjustment to the class order_adjustment
- slight changes to adaptive_adams_coefficients

* changed the commit according to the requests and comments
2017-09-25 15:22:51 -07:00
headmyshoulder
944fe8eed5 Merge pull request #21 from boostorg/develop
bug fixes for Boost 1.65
boost-1.65.0 boost-1.66.0 boost-1.65.1
2017-07-28 16:23:03 +02:00
Mario Mulansky
af59be4beb Merge pull request #214 from ds283/switch-fabs
Switch fabs for std::abs in new adaptive Adams-Bashforth-Moulton stepper
2017-07-25 10:40:55 -07:00
ds283
f1098483ea Switch fabs for std::abs
- controlled_adams_bashforth_moulton.hpp, adaptive_adams_coefficients.hpp and pid_step_adjuster.hpp extract absolute values using fabs() without a namespace qualifier

- if the integration value type is not double then this can cause problems, since fabs() is not required to have a long double overload. In such cases it is safer to use std::abs, and also this matches the rest of the odeint-v2 codebase
2017-07-23 22:31:35 +01:00
Mario Mulansky
38695b42ee Merge pull request #208 from vhartman/adaptive_adams
Added Controlled Adams Bashforth Moulton Stepper
2017-07-16 08:01:40 -07:00