├── .gitignore ├── .travis.yml ├── CMakeLists.txt ├── Doxyfile ├── LICENSE ├── Makefile ├── README.md ├── bin └── .keep ├── clean.py ├── cmake ├── odeConfig.cmake.in └── ode_cpack.cmake ├── config.mk ├── docs ├── _c_make_c_x_x_compiler_id_8cpp_source.html ├── _dart_configuration_8tcl_source.html ├── annotated.html ├── annotated_dup.js ├── bc_s.png ├── bc_sd.png ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__adaptive_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__adaptive_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__adaptive_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__backward__euler_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__backward__euler_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__backward__euler_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__base_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__base_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__base_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__dopri__54_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__dopri__54_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__dopri__54_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__dopri__87_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__dopri__87_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__dopri__87_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__embedded_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__embedded_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__embedded_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__erk_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__erk_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__erk_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__euler_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__euler_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__euler_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__gauss__6_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__gauss__6_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__gauss__6_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__geng__5_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__geng__5_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__geng__5_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__grk4a_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__grk4a_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__grk4a_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__io_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__io_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__io_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__irk_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__irk_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__irk_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__lobatto__iiic__6_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__lobatto__iiic__6_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__lobatto__iiic__6_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__newton_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__newton_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__newton_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__newton__bridge_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__newton__bridge_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__newton__bridge_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__radau__iia__5_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__radau__iia__5_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__radau__iia__5_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk__43_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk__43_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk__43_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk__4_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk__4_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk__4_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rkck_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rkck_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rkck_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rkf__32_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rkf__32_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rkf__32_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rosenbrock_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rosenbrock_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rosenbrock_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__row6a_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__row6a_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__row6a_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__sdirk__43_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__sdirk__43_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__sdirk__43_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__ssp__3_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__ssp__3_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__ssp__3_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__trapz_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__trapz_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__trapz_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__util_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__util_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__util_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__65_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__65_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__65_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__76_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__76_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__76_8h_source.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__98_8h.html ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__98_8h.js ├── build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__98_8h_source.html ├── burgers_8cc_source.html ├── burgers_8h_source.html ├── class_swarmalator-members.html ├── class_swarmalator.html ├── class_swarmalator.png ├── class_test_newton-members.html ├── class_test_newton.html ├── class_test_newton.js ├── class_test_newton.png ├── classes.html ├── classode_1_1_brus-members.html ├── classode_1_1_brus.html ├── classode_1_1_brus.png ├── classode_1_1_burgers-members.html ├── classode_1_1_burgers.html ├── classode_1_1_burgers.png ├── classode_1_1_dahl-members.html ├── classode_1_1_dahl.html ├── classode_1_1_dahl.png ├── classode_1_1_double_pendulum-members.html ├── classode_1_1_double_pendulum.html ├── classode_1_1_double_pendulum.png ├── classode_1_1_lorentz-members.html ├── classode_1_1_lorentz.html ├── classode_1_1_lorentz.png ├── classode_1_1_newton_backward_euler-members.html ├── classode_1_1_newton_backward_euler.html ├── classode_1_1_newton_backward_euler.js ├── classode_1_1_newton_backward_euler.png ├── classode_1_1_newton_gauss6-members.html ├── classode_1_1_newton_gauss6.html ├── classode_1_1_newton_gauss6.js ├── classode_1_1_newton_gauss6.png ├── classode_1_1_newton_geng5-members.html ├── classode_1_1_newton_geng5.html ├── classode_1_1_newton_geng5.js ├── classode_1_1_newton_geng5.png ├── classode_1_1_newton_lobatto_i_i_i_c6-members.html ├── classode_1_1_newton_lobatto_i_i_i_c6.html ├── classode_1_1_newton_lobatto_i_i_i_c6.js ├── classode_1_1_newton_lobatto_i_i_i_c6.png ├── classode_1_1_newton_radau_i_i_a5-members.html ├── classode_1_1_newton_radau_i_i_a5.html ├── classode_1_1_newton_radau_i_i_a5.js ├── classode_1_1_newton_radau_i_i_a5.png ├── classode_1_1_newton_s_d_i_r_k43-members.html ├── classode_1_1_newton_s_d_i_r_k43.html ├── classode_1_1_newton_s_d_i_r_k43.js ├── classode_1_1_newton_s_d_i_r_k43.png ├── classode_1_1_nonlinear_diffusion-members.html ├── classode_1_1_nonlinear_diffusion.html ├── classode_1_1_nonlinear_diffusion.png ├── classode_1_1_ode_adaptive-members.html ├── classode_1_1_ode_adaptive.html ├── classode_1_1_ode_adaptive.js ├── classode_1_1_ode_adaptive.png ├── classode_1_1_ode_backward_euler-members.html ├── classode_1_1_ode_backward_euler.html ├── classode_1_1_ode_backward_euler.js ├── classode_1_1_ode_backward_euler.png ├── classode_1_1_ode_base-members.html ├── classode_1_1_ode_base.html ├── classode_1_1_ode_base.js ├── classode_1_1_ode_base.png ├── classode_1_1_ode_do_pri54-members.html ├── classode_1_1_ode_do_pri54.html ├── classode_1_1_ode_do_pri54.js ├── classode_1_1_ode_do_pri54.png ├── classode_1_1_ode_do_pri87-members.html ├── classode_1_1_ode_do_pri87.html ├── classode_1_1_ode_do_pri87.js ├── classode_1_1_ode_do_pri87.png ├── classode_1_1_ode_e_r_k-members.html ├── classode_1_1_ode_e_r_k.html ├── classode_1_1_ode_e_r_k.js ├── classode_1_1_ode_e_r_k.png ├── classode_1_1_ode_embedded-members.html ├── classode_1_1_ode_embedded.html ├── classode_1_1_ode_embedded.js ├── classode_1_1_ode_embedded.png ├── classode_1_1_ode_euler-members.html ├── classode_1_1_ode_euler.html ├── classode_1_1_ode_euler.js ├── classode_1_1_ode_euler.png ├── classode_1_1_ode_g_r_k4_a-members.html ├── classode_1_1_ode_g_r_k4_a.html ├── classode_1_1_ode_g_r_k4_a.js ├── classode_1_1_ode_g_r_k4_a.png ├── classode_1_1_ode_gauss6-members.html ├── classode_1_1_ode_gauss6.html ├── classode_1_1_ode_gauss6.js ├── classode_1_1_ode_gauss6.png ├── classode_1_1_ode_geng5-members.html ├── classode_1_1_ode_geng5.html ├── classode_1_1_ode_geng5.js ├── classode_1_1_ode_geng5.png ├── classode_1_1_ode_i_r_k-members.html ├── classode_1_1_ode_i_r_k.html ├── classode_1_1_ode_i_r_k.js ├── classode_1_1_ode_i_r_k.png ├── classode_1_1_ode_lobatto_i_i_i_c6-members.html ├── classode_1_1_ode_lobatto_i_i_i_c6.html ├── classode_1_1_ode_lobatto_i_i_i_c6.js ├── classode_1_1_ode_lobatto_i_i_i_c6.png ├── classode_1_1_ode_newton-members.html ├── classode_1_1_ode_newton.html ├── classode_1_1_ode_newton.js ├── classode_1_1_ode_newton.png ├── classode_1_1_ode_newton_bridge-members.html ├── classode_1_1_ode_newton_bridge.html ├── classode_1_1_ode_newton_bridge.js ├── classode_1_1_ode_newton_bridge.png ├── classode_1_1_ode_newton_i_r_k-members.html ├── classode_1_1_ode_newton_i_r_k.html ├── classode_1_1_ode_newton_i_r_k.js ├── classode_1_1_ode_newton_i_r_k.png ├── classode_1_1_ode_newton_s_d_i_r_k-members.html ├── classode_1_1_ode_newton_s_d_i_r_k.html ├── classode_1_1_ode_newton_s_d_i_r_k.js ├── classode_1_1_ode_newton_s_d_i_r_k.png ├── classode_1_1_ode_r_k-members.html ├── classode_1_1_ode_r_k.html ├── classode_1_1_ode_r_k.js ├── classode_1_1_ode_r_k.png ├── classode_1_1_ode_r_k4-members.html ├── classode_1_1_ode_r_k4.html ├── classode_1_1_ode_r_k4.js ├── classode_1_1_ode_r_k4.png ├── classode_1_1_ode_r_k43-members.html ├── classode_1_1_ode_r_k43.html ├── classode_1_1_ode_r_k43.js ├── classode_1_1_ode_r_k43.png ├── classode_1_1_ode_r_k_c_k-members.html ├── classode_1_1_ode_r_k_c_k.html ├── classode_1_1_ode_r_k_c_k.js ├── classode_1_1_ode_r_k_c_k.png ├── classode_1_1_ode_r_k_f32-members.html ├── classode_1_1_ode_r_k_f32.html ├── classode_1_1_ode_r_k_f32.js ├── classode_1_1_ode_r_k_f32.png ├── classode_1_1_ode_r_o_w6_a-members.html ├── classode_1_1_ode_r_o_w6_a.html ├── classode_1_1_ode_r_o_w6_a.js ├── classode_1_1_ode_r_o_w6_a.png ├── classode_1_1_ode_radau_i_i_a5-members.html ├── classode_1_1_ode_radau_i_i_a5.html ├── classode_1_1_ode_radau_i_i_a5.js ├── classode_1_1_ode_radau_i_i_a5.png ├── classode_1_1_ode_rosenbrock-members.html ├── classode_1_1_ode_rosenbrock.html ├── classode_1_1_ode_rosenbrock.js ├── classode_1_1_ode_rosenbrock.png ├── classode_1_1_ode_s_d_i_r_k43-members.html ├── classode_1_1_ode_s_d_i_r_k43.html ├── classode_1_1_ode_s_d_i_r_k43.js ├── classode_1_1_ode_s_d_i_r_k43.png ├── classode_1_1_ode_ssp3-members.html ├── classode_1_1_ode_ssp3.html ├── classode_1_1_ode_ssp3.js ├── classode_1_1_ode_ssp3.png ├── classode_1_1_ode_trapz-members.html ├── classode_1_1_ode_trapz.html ├── classode_1_1_ode_trapz.js ├── classode_1_1_ode_trapz.png ├── classode_1_1_ode_vern65-members.html ├── classode_1_1_ode_vern65.html ├── classode_1_1_ode_vern65.js ├── classode_1_1_ode_vern65.png ├── classode_1_1_ode_vern76-members.html ├── classode_1_1_ode_vern76.html ├── classode_1_1_ode_vern76.js ├── classode_1_1_ode_vern76.png ├── classode_1_1_ode_vern98-members.html ├── classode_1_1_ode_vern98.html ├── classode_1_1_ode_vern98.js ├── classode_1_1_ode_vern98.png ├── classode_1_1_osc1-members.html ├── classode_1_1_osc1.html ├── classode_1_1_osc1.png ├── classode_1_1_osc2-members.html ├── classode_1_1_osc2.html ├── classode_1_1_osc2.png ├── classode_1_1_star-members.html ├── classode_1_1_star.html ├── classode_1_1_star.png ├── classode_1_1_stiff_cliff-members.html ├── classode_1_1_stiff_cliff.html ├── classode_1_1_stiff_cliff.png ├── classode_1_1_vdp-members.html ├── classode_1_1_vdp.html ├── classode_1_1_vdp.png ├── clean_8py_source.html ├── clipboard.js ├── closed.png ├── cookie.js ├── dir_0002de6d58406693d2f1cfdc30a709b2.html ├── dir_0002de6d58406693d2f1cfdc30a709b2.js ├── dir_0ad55b4643d8f112a92917fc1cb7fcb4.html ├── dir_0ad55b4643d8f112a92917fc1cb7fcb4.js ├── dir_0befd6d9b0feef0e43a409567796a762.html ├── dir_0befd6d9b0feef0e43a409567796a762.js ├── dir_1879a84f8c8dbd0f60afc32132f09537.html ├── dir_1879a84f8c8dbd0f60afc32132f09537.js ├── dir_2773d40a4e9b0a26fa975e4e89a34881.html ├── dir_2773d40a4e9b0a26fa975e4e89a34881.js ├── dir_2ca85aa3edcb5344e274ce267704e268.html ├── dir_2ca85aa3edcb5344e274ce267704e268.js ├── dir_4a882db0deb3b57878d14167ff6b07d9.html ├── dir_4a882db0deb3b57878d14167ff6b07d9.js ├── dir_4ce5bb1f75a40b8e5d45eb35b2ae6e25.html ├── dir_4ce5bb1f75a40b8e5d45eb35b2ae6e25.js ├── dir_4fef79e7177ba769987a8da36c892c5f.html ├── dir_4fef79e7177ba769987a8da36c892c5f.js ├── dir_524400c5a26e63bcb0fb13d04bbb2228.html ├── dir_524400c5a26e63bcb0fb13d04bbb2228.js ├── dir_53e6fa9553ac22a5646d2a2b2d7b97a1.html ├── dir_53e6fa9553ac22a5646d2a2b2d7b97a1.js ├── dir_5779d740f8df1060d7355febc1f202cc.html ├── dir_5779d740f8df1060d7355febc1f202cc.js ├── dir_59425e443f801f1f2fd8bbe4959a3ccf.html ├── dir_59425e443f801f1f2fd8bbe4959a3ccf.js ├── dir_63772b626f2709090f0bdca0f40827b4.html ├── dir_63772b626f2709090f0bdca0f40827b4.js ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html ├── dir_68267d1309a1af8e8297ef4c3efbcdba.js ├── dir_6f737c3db622c2a71c8fac39cec09a94.html ├── dir_6f737c3db622c2a71c8fac39cec09a94.js ├── dir_87215c5e3af361610710e8b853c0b20e.html ├── dir_87215c5e3af361610710e8b853c0b20e.js ├── dir_b048026938d7a732b9389a92ef8d8a24.html ├── dir_b048026938d7a732b9389a92ef8d8a24.js ├── dir_b72a82ec597813e6e0ef06555c513ec3.html ├── dir_b72a82ec597813e6e0ef06555c513ec3.js ├── dir_c1d5e7268098c967d38d5281639e273c.html ├── dir_c1d5e7268098c967d38d5281639e273c.js ├── dir_d28a4824dc47e487b107a5db32ef43c4.html ├── dir_d28a4824dc47e487b107a5db32ef43c4.js ├── dir_d44c64559bbebec7f509842c48db8b23.html ├── dir_d44c64559bbebec7f509842c48db8b23.js ├── dir_e14608c35ef7b8974fdbeed6fa1261a4.html ├── dir_e14608c35ef7b8974fdbeed6fa1261a4.js ├── dir_e994744ba5d8c7178b7f5598eaa0ff6c.html ├── dir_e994744ba5d8c7178b7f5598eaa0ff6c.js ├── doc.svg ├── docd.svg ├── double__pendulum_8cc_source.html ├── double__pendulum_8h_source.html ├── doxygen.css ├── doxygen.svg ├── doxygen_crawl.html ├── dynsections.js ├── files.html ├── files_dup.js ├── folderclosed.svg ├── folderclosedd.svg ├── folderopen.svg ├── folderopend.svg ├── functions.html ├── functions_b.html ├── functions_c.html ├── functions_d.html ├── functions_dup.js ├── functions_e.html ├── functions_f.html ├── functions_func.html ├── functions_func.js ├── functions_func_b.html ├── functions_func_c.html ├── functions_func_d.html ├── functions_func_e.html ├── functions_func_f.html ├── functions_func_g.html ├── functions_func_i.html ├── functions_func_j.html ├── functions_func_n.html ├── functions_func_o.html ├── functions_func_p.html ├── functions_func_r.html ├── functions_func_s.html ├── functions_func_~.html ├── functions_g.html ├── functions_i.html ├── functions_j.html ├── functions_k.html ├── functions_m.html ├── functions_n.html ├── functions_o.html ├── functions_p.html ├── functions_q.html ├── functions_r.html ├── functions_s.html ├── functions_t.html ├── functions_vars.html ├── functions_~.html ├── hierarchy.html ├── hierarchy.js ├── include_2ode_2ode__adaptive_8h.html ├── include_2ode_2ode__adaptive_8h.js ├── include_2ode_2ode__adaptive_8h_source.html ├── include_2ode_2ode__backward__euler_8h.html ├── include_2ode_2ode__backward__euler_8h.js ├── include_2ode_2ode__backward__euler_8h_source.html ├── include_2ode_2ode__base_8h.html ├── include_2ode_2ode__base_8h.js ├── include_2ode_2ode__base_8h_source.html ├── include_2ode_2ode__dopri__54_8h.html ├── include_2ode_2ode__dopri__54_8h.js ├── include_2ode_2ode__dopri__54_8h_source.html ├── include_2ode_2ode__dopri__87_8h.html ├── include_2ode_2ode__dopri__87_8h.js ├── include_2ode_2ode__dopri__87_8h_source.html ├── include_2ode_2ode__embedded_8h.html ├── include_2ode_2ode__embedded_8h.js ├── include_2ode_2ode__embedded_8h_source.html ├── include_2ode_2ode__erk_8h.html ├── include_2ode_2ode__erk_8h.js ├── include_2ode_2ode__erk_8h_source.html ├── include_2ode_2ode__euler_8h.html ├── include_2ode_2ode__euler_8h.js ├── include_2ode_2ode__euler_8h_source.html ├── include_2ode_2ode__gauss__6_8h.html ├── include_2ode_2ode__gauss__6_8h.js ├── include_2ode_2ode__gauss__6_8h_source.html ├── include_2ode_2ode__geng__5_8h.html ├── include_2ode_2ode__geng__5_8h.js ├── include_2ode_2ode__geng__5_8h_source.html ├── include_2ode_2ode__grk4a_8h.html ├── include_2ode_2ode__grk4a_8h.js ├── include_2ode_2ode__grk4a_8h_source.html ├── include_2ode_2ode__io_8h.html ├── include_2ode_2ode__io_8h.js ├── include_2ode_2ode__io_8h_source.html ├── include_2ode_2ode__irk_8h.html ├── include_2ode_2ode__irk_8h.js ├── include_2ode_2ode__irk_8h_source.html ├── include_2ode_2ode__linalg_8h.html ├── include_2ode_2ode__linalg_8h.js ├── include_2ode_2ode__linalg_8h_source.html ├── include_2ode_2ode__lobatto__iiic__6_8h.html ├── include_2ode_2ode__lobatto__iiic__6_8h.js ├── include_2ode_2ode__lobatto__iiic__6_8h_source.html ├── include_2ode_2ode__newton_8h.html ├── include_2ode_2ode__newton_8h.js ├── include_2ode_2ode__newton_8h_source.html ├── include_2ode_2ode__newton__bridge_8h.html ├── include_2ode_2ode__newton__bridge_8h.js ├── include_2ode_2ode__newton__bridge_8h_source.html ├── include_2ode_2ode__radau__iia__5_8h.html ├── include_2ode_2ode__radau__iia__5_8h.js ├── include_2ode_2ode__radau__iia__5_8h_source.html ├── include_2ode_2ode__rk_8h.html ├── include_2ode_2ode__rk_8h.js ├── include_2ode_2ode__rk_8h_source.html ├── include_2ode_2ode__rk__43_8h.html ├── include_2ode_2ode__rk__43_8h.js ├── include_2ode_2ode__rk__43_8h_source.html ├── include_2ode_2ode__rk__4_8h.html ├── include_2ode_2ode__rk__4_8h.js ├── include_2ode_2ode__rk__4_8h_source.html ├── include_2ode_2ode__rkck_8h.html ├── include_2ode_2ode__rkck_8h.js ├── include_2ode_2ode__rkck_8h_source.html ├── include_2ode_2ode__rkf__32_8h.html ├── include_2ode_2ode__rkf__32_8h.js ├── include_2ode_2ode__rkf__32_8h_source.html ├── include_2ode_2ode__rosenbrock_8h.html ├── include_2ode_2ode__rosenbrock_8h.js ├── include_2ode_2ode__rosenbrock_8h_source.html ├── include_2ode_2ode__row6a_8h.html ├── include_2ode_2ode__row6a_8h.js ├── include_2ode_2ode__row6a_8h_source.html ├── include_2ode_2ode__sdirk__43_8h.html ├── include_2ode_2ode__sdirk__43_8h.js ├── include_2ode_2ode__sdirk__43_8h_source.html ├── include_2ode_2ode__ssp__3_8h.html ├── include_2ode_2ode__ssp__3_8h.js ├── include_2ode_2ode__ssp__3_8h_source.html ├── include_2ode_2ode__trapz_8h.html ├── include_2ode_2ode__trapz_8h.js ├── include_2ode_2ode__trapz_8h_source.html ├── include_2ode_2ode__util_8h.html ├── include_2ode_2ode__util_8h.js ├── include_2ode_2ode__util_8h_source.html ├── include_2ode_2ode__vern__65_8h.html ├── include_2ode_2ode__vern__65_8h.js ├── include_2ode_2ode__vern__65_8h_source.html ├── include_2ode_2ode__vern__76_8h.html ├── include_2ode_2ode__vern__76_8h.js ├── include_2ode_2ode__vern__76_8h_source.html ├── include_2ode_2ode__vern__98_8h.html ├── include_2ode_2ode__vern__98_8h.js ├── include_2ode_2ode__vern__98_8h_source.html ├── index.html ├── jquery.js ├── lorentz_8cc_source.html ├── lorentz_8h_source.html ├── md_todo.html ├── menu.js ├── menudata.js ├── minus.svg ├── minusd.svg ├── namespaceclean.html ├── namespacemembers.html ├── namespacemembers_func.html ├── namespaceode.html ├── namespaceode.js ├── namespaces.html ├── namespaces_dup.js ├── nav_f.png ├── nav_fd.png ├── nav_g.png ├── nav_h.png ├── nav_hd.png ├── navtree.css ├── navtree.js ├── navtreedata.js ├── navtreeindex0.js ├── navtreeindex1.js ├── navtreeindex2.js ├── navtreeindex3.js ├── navtreeindex4.js ├── nonlinear__diffusion_8cc_source.html ├── nonlinear__diffusion_8h_source.html ├── ode__adaptive_8cc.html ├── ode__adaptive_8cc_8o_8d_source.html ├── ode__adaptive_8cc_source.html ├── ode__adaptive_8h.html ├── ode__adaptive_8h.js ├── ode__adaptive_8h_source.html ├── ode__backward__euler_8cc.html ├── ode__backward__euler_8cc_8o_8d_source.html ├── ode__backward__euler_8cc_source.html ├── ode__backward__euler_8h.html ├── ode__backward__euler_8h.js ├── ode__backward__euler_8h_source.html ├── ode__base_8cc.html ├── ode__base_8cc_8o_8d_source.html ├── ode__base_8cc_source.html ├── ode__base_8h.html ├── ode__base_8h.js ├── ode__base_8h_source.html ├── ode__dopri__54_8cc.html ├── ode__dopri__54_8cc_8o_8d_source.html ├── ode__dopri__54_8cc_source.html ├── ode__dopri__54_8h.html ├── ode__dopri__54_8h.js ├── ode__dopri__54_8h_source.html ├── ode__dopri__87_8cc.html ├── ode__dopri__87_8cc_8o_8d_source.html ├── ode__dopri__87_8cc_source.html ├── ode__dopri__87_8h.html ├── ode__dopri__87_8h.js ├── ode__dopri__87_8h_source.html ├── ode__embedded_8cc.html ├── ode__embedded_8cc_8o_8d_source.html ├── ode__embedded_8cc_source.html ├── ode__embedded_8h.html ├── ode__embedded_8h.js ├── ode__embedded_8h_source.html ├── ode__erk_8cc.html ├── ode__erk_8cc_8o_8d_source.html ├── ode__erk_8cc_source.html ├── ode__erk_8h.html ├── ode__erk_8h.js ├── ode__erk_8h_source.html ├── ode__euler_8cc.html ├── ode__euler_8cc_8o_8d_source.html ├── ode__euler_8cc_source.html ├── ode__euler_8h.html ├── ode__euler_8h.js ├── ode__euler_8h_source.html ├── ode__gauss__6_8cc.html ├── ode__gauss__6_8cc_8o_8d_source.html ├── ode__gauss__6_8cc_source.html ├── ode__gauss__6_8h.html ├── ode__gauss__6_8h.js ├── ode__gauss__6_8h_source.html ├── ode__geng__5_8cc.html ├── ode__geng__5_8cc_8o_8d_source.html ├── ode__geng__5_8cc_source.html ├── ode__geng__5_8h.html ├── ode__geng__5_8h.js ├── ode__geng__5_8h_source.html ├── ode__grk4a_8cc.html ├── ode__grk4a_8cc_8o_8d_source.html ├── ode__grk4a_8cc_source.html ├── ode__grk4a_8h.html ├── ode__grk4a_8h.js ├── ode__grk4a_8h_source.html ├── ode__io_8cc.html ├── ode__io_8cc.js ├── ode__io_8cc_8o_8d_source.html ├── ode__io_8cc_source.html ├── ode__io_8h.html ├── ode__io_8h.js ├── ode__io_8h_source.html ├── ode__irk_8cc.html ├── ode__irk_8cc_8o_8d_source.html ├── ode__irk_8cc_source.html ├── ode__irk_8h.html ├── ode__irk_8h.js ├── ode__irk_8h_source.html ├── ode__linalg_8cc.html ├── ode__linalg_8cc.js ├── ode__linalg_8cc_8o_8d_source.html ├── ode__linalg_8cc_source.html ├── ode__linalg_8h.html ├── ode__linalg_8h.js ├── ode__linalg_8h_source.html ├── ode__lobatto__iiic__6_8cc.html ├── ode__lobatto__iiic__6_8cc_8o_8d_source.html ├── ode__lobatto__iiic__6_8cc_source.html ├── ode__lobatto__iiic__6_8h.html ├── ode__lobatto__iiic__6_8h.js ├── ode__lobatto__iiic__6_8h_source.html ├── ode__newton_8cc.html ├── ode__newton_8cc_8o_8d_source.html ├── ode__newton_8cc_source.html ├── ode__newton_8h.html ├── ode__newton_8h.js ├── ode__newton_8h_source.html ├── ode__newton__bridge_8h.html ├── ode__newton__bridge_8h.js ├── ode__newton__bridge_8h_source.html ├── ode__radau__iia__5_8cc.html ├── ode__radau__iia__5_8cc_8o_8d_source.html ├── ode__radau__iia__5_8cc_source.html ├── ode__radau__iia__5_8h.html ├── ode__radau__iia__5_8h.js ├── ode__radau__iia__5_8h_source.html ├── ode__rk_8cc.html ├── ode__rk_8cc_8o_8d_source.html ├── ode__rk_8cc_source.html ├── ode__rk_8h.html ├── ode__rk_8h.js ├── ode__rk_8h_source.html ├── ode__rk__43_8cc.html ├── ode__rk__43_8cc_8o_8d_source.html ├── ode__rk__43_8cc_source.html ├── ode__rk__43_8h.html ├── ode__rk__43_8h.js ├── ode__rk__43_8h_source.html ├── ode__rk__4_8cc.html ├── ode__rk__4_8cc_8o_8d_source.html ├── ode__rk__4_8cc_source.html ├── ode__rk__4_8h.html ├── ode__rk__4_8h.js ├── ode__rk__4_8h_source.html ├── ode__rkck_8cc.html ├── ode__rkck_8cc_8o_8d_source.html ├── ode__rkck_8cc_source.html ├── ode__rkck_8h.html ├── ode__rkck_8h.js ├── ode__rkck_8h_source.html ├── ode__rkf__32_8cc.html ├── ode__rkf__32_8cc_8o_8d_source.html ├── ode__rkf__32_8cc_source.html ├── ode__rkf__32_8h.html ├── ode__rkf__32_8h.js ├── ode__rkf__32_8h_source.html ├── ode__rosenbrock_8cc.html ├── ode__rosenbrock_8cc_8o_8d_source.html ├── ode__rosenbrock_8cc_source.html ├── ode__rosenbrock_8h.html ├── ode__rosenbrock_8h.js ├── ode__rosenbrock_8h_source.html ├── ode__row6a_8cc.html ├── ode__row6a_8cc_8o_8d_source.html ├── ode__row6a_8cc_source.html ├── ode__row6a_8h.html ├── ode__row6a_8h.js ├── ode__row6a_8h_source.html ├── ode__sdirk__43_8cc.html ├── ode__sdirk__43_8cc_8o_8d_source.html ├── ode__sdirk__43_8cc_source.html ├── ode__sdirk__43_8h.html ├── ode__sdirk__43_8h.js ├── ode__sdirk__43_8h_source.html ├── ode__ssp__3_8cc.html ├── ode__ssp__3_8cc_8o_8d_source.html ├── ode__ssp__3_8cc_source.html ├── ode__ssp__3_8h.html ├── ode__ssp__3_8h.js ├── ode__ssp__3_8h_source.html ├── ode__trapz_8cc.html ├── ode__trapz_8cc_8o_8d_source.html ├── ode__trapz_8cc_source.html ├── ode__trapz_8h.html ├── ode__trapz_8h.js ├── ode__trapz_8h_source.html ├── ode__util_8cc.html ├── ode__util_8cc.js ├── ode__util_8cc_8o_8d_source.html ├── ode__util_8cc_source.html ├── ode__util_8h.html ├── ode__util_8h.js ├── ode__util_8h_source.html ├── ode__vern__65_8cc.html ├── ode__vern__65_8cc_8o_8d_source.html ├── ode__vern__65_8cc_source.html ├── ode__vern__65_8h.html ├── ode__vern__65_8h.js ├── ode__vern__65_8h_source.html ├── ode__vern__76_8cc.html ├── ode__vern__76_8cc_8o_8d_source.html ├── ode__vern__76_8cc_source.html ├── ode__vern__76_8h.html ├── ode__vern__76_8h.js ├── ode__vern__76_8h_source.html ├── ode__vern__98_8cc.html ├── ode__vern__98_8cc_8o_8d_source.html ├── ode__vern__98_8cc_source.html ├── ode__vern__98_8h.html ├── ode__vern__98_8h.js ├── ode__vern__98_8h_source.html ├── open.png ├── pages.html ├── plot__adapt_8py_source.html ├── plot__burgers_8py_source.html ├── plot__conv_8py_source.html ├── plot__double__pendulum_8py_source.html ├── plot__fixed_8py_source.html ├── plot__lorentz_8py_source.html ├── plot__nonlinear__diffusion_8py_source.html ├── plot__snaps_8py_source.html ├── plot__star_8py_source.html ├── plot__stiff_8py_source.html ├── plot__swarmalator_8py_source.html ├── plot__work_8py_source.html ├── plus.svg ├── plusd.svg ├── resize.js ├── search │ ├── all_0.html │ ├── all_0.js │ ├── all_1.html │ ├── all_1.js │ ├── all_10.html │ ├── all_10.js │ ├── all_11.html │ ├── all_11.js │ ├── all_12.html │ ├── all_12.js │ ├── all_13.html │ ├── all_13.js │ ├── all_14.js │ ├── all_15.js │ ├── all_16.js │ ├── all_2.html │ ├── all_2.js │ ├── all_3.html │ ├── all_3.js │ ├── all_4.html │ ├── all_4.js │ ├── all_5.html │ ├── all_5.js │ ├── all_6.html │ ├── all_6.js │ ├── all_7.html │ ├── all_7.js │ ├── all_8.html │ ├── all_8.js │ ├── all_9.html │ ├── all_9.js │ ├── all_a.html │ ├── all_a.js │ ├── all_b.html │ ├── all_b.js │ ├── all_c.html │ ├── all_c.js │ ├── all_d.html │ ├── all_d.js │ ├── all_e.html │ ├── all_e.js │ ├── all_f.html │ ├── all_f.js │ ├── classes_0.html │ ├── classes_0.js │ ├── classes_1.html │ ├── classes_1.js │ ├── classes_2.js │ ├── classes_3.js │ ├── classes_4.js │ ├── classes_5.js │ ├── classes_6.js │ ├── classes_7.js │ ├── close.png │ ├── close.svg │ ├── files_0.html │ ├── files_0.js │ ├── functions_0.html │ ├── functions_0.js │ ├── functions_1.html │ ├── functions_1.js │ ├── functions_2.html │ ├── functions_2.js │ ├── functions_3.html │ ├── functions_3.js │ ├── functions_4.html │ ├── functions_4.js │ ├── functions_5.html │ ├── functions_5.js │ ├── functions_6.html │ ├── functions_6.js │ ├── functions_7.html │ ├── functions_7.js │ ├── functions_8.html │ ├── functions_8.js │ ├── functions_9.html │ ├── functions_9.js │ ├── functions_a.html │ ├── functions_a.js │ ├── functions_b.html │ ├── functions_b.js │ ├── functions_c.html │ ├── functions_c.js │ ├── functions_d.html │ ├── functions_d.js │ ├── functions_e.html │ ├── functions_e.js │ ├── mag.svg │ ├── mag_d.svg │ ├── mag_sel.png │ ├── mag_sel.svg │ ├── mag_seld.svg │ ├── namespaces_0.js │ ├── namespaces_1.js │ ├── nomatches.html │ ├── pages_0.html │ ├── pages_0.js │ ├── pages_1.js │ ├── search.css │ ├── search.js │ ├── search_l.png │ ├── search_m.png │ ├── search_r.png │ ├── searchdata.js │ ├── variables_0.html │ ├── variables_0.js │ ├── variables_1.html │ ├── variables_1.js │ ├── variables_2.html │ ├── variables_2.js │ ├── variables_3.html │ ├── variables_3.js │ ├── variables_4.html │ ├── variables_4.js │ ├── variables_5.html │ ├── variables_5.js │ ├── variables_6.html │ ├── variables_6.js │ ├── variables_7.html │ ├── variables_7.js │ ├── variables_8.html │ ├── variables_8.js │ ├── variables_9.html │ ├── variables_9.js │ ├── variables_a.html │ ├── variables_a.js │ ├── variables_b.html │ ├── variables_b.js │ ├── variables_c.html │ ├── variables_c.js │ ├── variables_d.html │ ├── variables_d.js │ ├── variables_e.html │ └── variables_e.js ├── splitbar.png ├── splitbard.png ├── star_8cc_source.html ├── star_8h_source.html ├── swarmalator_8cc_source.html ├── swarmalator_8h_source.html ├── sync_off.png ├── sync_on.png ├── tab_a.png ├── tab_ad.png ├── tab_b.png ├── tab_bd.png ├── tab_h.png ├── tab_hd.png ├── tab_s.png ├── tab_sd.png ├── tabs.css ├── test__adapt_8cc_source.html ├── test__all_8cc_source.html ├── test__conv_8cc_source.html ├── test__fixed_8cc_source.html ├── test__linalg_8cc_source.html ├── test__newton_8cc_source.html ├── test__snaps_8cc_source.html ├── test__stiff_8cc_source.html ├── test__systems_8h_source.html └── test__work_8cc_source.html ├── examples ├── burgers │ ├── Makefile │ ├── burgers.cc │ ├── burgers.h │ ├── plot_burgers.py │ └── run.sh ├── double-pendulum │ ├── Makefile │ ├── double_pendulum.cc │ ├── double_pendulum.h │ ├── plot_double_pendulum.py │ └── run.sh ├── lorentz │ ├── Makefile │ ├── lorentz.cc │ ├── lorentz.h │ ├── plot_lorentz.py │ └── run.sh ├── nonlinear-diffusion │ ├── Makefile │ ├── nonlinear_diffusion.cc │ ├── nonlinear_diffusion.h │ ├── plot_nonlinear_diffusion.py │ └── run.sh ├── star-dynamics │ ├── Makefile │ ├── plot_star.py │ ├── run.sh │ ├── star.cc │ └── star.h └── swarmalator │ ├── Makefile │ ├── plot_swarmalator.py │ ├── run.sh │ ├── swarmalator.cc │ ├── swarmalator.gif │ └── swarmalator.h ├── img ├── adapt.png ├── conv.png └── work.png ├── include └── ode │ ├── ode_adaptive.h │ ├── ode_backward_euler.h │ ├── ode_base.h │ ├── ode_dopri_54.h │ ├── ode_dopri_87.h │ ├── ode_embedded.h │ ├── ode_erk.h │ ├── ode_euler.h │ ├── ode_gauss_6.h │ ├── ode_geng_5.h │ ├── ode_grk4a.h │ ├── ode_io.h │ ├── ode_irk.h │ ├── ode_linalg.h │ ├── ode_lobatto_iiic_6.h │ ├── ode_newton.h │ ├── ode_newton_bridge.h │ ├── ode_radau_iia_5.h │ ├── ode_rk.h │ ├── ode_rk_4.h │ ├── ode_rk_43.h │ ├── ode_rkck.h │ ├── ode_rkf_32.h │ ├── ode_rosenbrock.h │ ├── ode_row6a.h │ ├── ode_sdirk_43.h │ ├── ode_ssp_3.h │ ├── ode_trapz.h │ ├── ode_util.h │ ├── ode_vern_65.h │ ├── ode_vern_76.h │ └── ode_vern_98.h ├── obj └── .keep ├── out └── .keep ├── run_cmake.sh ├── run_examples.sh ├── run_tests.sh ├── scripts ├── plot_adapt.py ├── plot_conv.py ├── plot_fixed.py ├── plot_snaps.py ├── plot_stiff.py └── plot_work.py ├── src ├── ode_adaptive.cc ├── ode_backward_euler.cc ├── ode_base.cc ├── ode_dopri_54.cc ├── ode_dopri_87.cc ├── ode_embedded.cc ├── ode_erk.cc ├── ode_euler.cc ├── ode_gauss_6.cc ├── ode_geng_5.cc ├── ode_grk4a.cc ├── ode_io.cc ├── ode_irk.cc ├── ode_linalg.cc ├── ode_lobatto_iiic_6.cc ├── ode_newton.cc ├── ode_radau_iia_5.cc ├── ode_rk.cc ├── ode_rk_4.cc ├── ode_rk_43.cc ├── ode_rkck.cc ├── ode_rkf_32.cc ├── ode_rosenbrock.cc ├── ode_row6a.cc ├── ode_sdirk_43.cc ├── ode_ssp_3.cc ├── ode_trapz.cc ├── ode_util.cc ├── ode_vern_65.cc ├── ode_vern_76.cc └── ode_vern_98.cc ├── test.sh ├── tests ├── test_adapt.cc ├── test_all.cc ├── test_conv.cc ├── test_fixed.cc ├── test_linalg.cc ├── test_newton.cc ├── test_snaps.cc ├── test_stiff.cc ├── test_systems.h └── test_work.cc └── todo.txt /.gitignore: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------------ 2 | # general 3 | 4 | # Python 5 | *.pyc 6 | __pycache__/ 7 | .ipynb_checkpoints 8 | 9 | # Word, Excel backups 10 | *.xlk 11 | *.wbk 12 | 13 | # MATLAB 14 | *.m~ 15 | ._* 16 | ~$* 17 | 18 | # Mac thing 19 | **/.DS_Store 20 | 21 | # Other 22 | Thumbs.db 23 | #.git* 24 | 25 | # ------------------------------------------------------------------------------ 26 | # specific 27 | 28 | # Links 29 | *.lnk 30 | 31 | # Archive 32 | arch/* 33 | 34 | # Binary files 35 | bin/* 36 | obj/* 37 | 38 | # Output files 39 | out/* 40 | 41 | # References/documents, some of which probably shouldn't be distributed without permission 42 | ref/* 43 | 44 | !**/.keep 45 | .cache 46 | build 47 | build/* 48 | install 49 | install/* 50 | 51 | compile_commands.json 52 | 53 | *.sublime-* 54 | .kdev* 55 | .kdev4/* 56 | *.kdev4 57 | *.kdev3 58 | *.o 59 | *.vscode 60 | 61 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | os: 3 | - linux 4 | - osx 5 | env: 6 | global: 7 | - CFLAGS="-Wall -Wextra -pedantic -O3" 8 | compiler: 9 | - g++ 10 | - clang++ 11 | script: 12 | - "make clean && make && make tests && chmod a+x run_tests.sh && ./run_tests.sh" 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Mark M. Baum 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /bin/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/bin/.keep -------------------------------------------------------------------------------- /clean.py: -------------------------------------------------------------------------------- 1 | """ 2 | This is a short script to remove compiled objects and executables. 3 | It removes all non-hidden files in the 'obj', 'bin', and 'out' directories. 4 | To specify which of these folders to target, use folder names at the command line. 5 | """ 6 | 7 | import os 8 | import sys 9 | from os.path import join 10 | 11 | if len(sys.argv) > 1: 12 | dirs = [str(arg) for arg in sys.argv[1:]] 13 | else: 14 | dirs = ['obj', 'bin', 'out'] 15 | 16 | for d in dirs: 17 | for fn in os.listdir(d): 18 | if fn[0] != '.': 19 | os.remove(join(d, fn)) 20 | print('directory "%s" cleaned' % d) 21 | -------------------------------------------------------------------------------- /cmake/odeConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") 4 | check_required_components("@PROJECT_NAME@") -------------------------------------------------------------------------------- /config.mk: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | #choose a compiler, otherwise environment variable is used 3 | 4 | #CXX=g++ # <--- GNU C++ compiler 5 | #CXX=icpc # <--- Intel C++ compiler 6 | 7 | #------------------------------------------------------------------------------- 8 | #choose compilation flags, otherwise environment variable is used 9 | 10 | #CFLAGS=-Wall -Wextra -pedantic -O3 # <--- GNU compiler flags 11 | #CFLAGS=-w2 -O3 # <--- Intel compiler flags 12 | -------------------------------------------------------------------------------- /docs/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/bc_s.png -------------------------------------------------------------------------------- /docs/bc_sd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/bc_sd.png -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__adaptive_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__adaptive_8h = 2 | [ 3 | [ "ode::OdeAdaptive", "classode_1_1_ode_adaptive.html", "classode_1_1_ode_adaptive" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__backward__euler_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__backward__euler_8h = 2 | [ 3 | [ "ode::NewtonBackwardEuler", "classode_1_1_newton_backward_euler.html", "classode_1_1_newton_backward_euler" ], 4 | [ "ode::OdeBackwardEuler", "classode_1_1_ode_backward_euler.html", "classode_1_1_ode_backward_euler" ] 5 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__base_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__base_8h = 2 | [ 3 | [ "ode::OdeBase", "classode_1_1_ode_base.html", "classode_1_1_ode_base" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__dopri__54_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__dopri__54_8h = 2 | [ 3 | [ "ode::OdeDoPri54", "classode_1_1_ode_do_pri54.html", "classode_1_1_ode_do_pri54" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__dopri__87_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__dopri__87_8h = 2 | [ 3 | [ "ode::OdeDoPri87", "classode_1_1_ode_do_pri87.html", "classode_1_1_ode_do_pri87" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__embedded_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__embedded_8h = 2 | [ 3 | [ "ode::OdeEmbedded", "classode_1_1_ode_embedded.html", "classode_1_1_ode_embedded" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__erk_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__erk_8h = 2 | [ 3 | [ "ode::OdeERK", "classode_1_1_ode_e_r_k.html", "classode_1_1_ode_e_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__euler_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__euler_8h = 2 | [ 3 | [ "ode::OdeEuler", "classode_1_1_ode_euler.html", "classode_1_1_ode_euler" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__gauss__6_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__gauss__6_8h = 2 | [ 3 | [ "ode::NewtonGauss6", "classode_1_1_newton_gauss6.html", "classode_1_1_newton_gauss6" ], 4 | [ "ode::OdeGauss6", "classode_1_1_ode_gauss6.html", "classode_1_1_ode_gauss6" ] 5 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__geng__5_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__geng__5_8h = 2 | [ 3 | [ "ode::NewtonGeng5", "classode_1_1_newton_geng5.html", "classode_1_1_newton_geng5" ], 4 | [ "ode::OdeGeng5", "classode_1_1_ode_geng5.html", "classode_1_1_ode_geng5" ] 5 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__grk4a_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__grk4a_8h = 2 | [ 3 | [ "ode::OdeGRK4A", "classode_1_1_ode_g_r_k4_a.html", "classode_1_1_ode_g_r_k4_a" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__io_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__io_8h = 2 | [ 3 | [ "ode_check_write", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__io_8h.html#a4516039407a0fac3dc99ae2d7f83e0c5", null ], 4 | [ "ode_int_to_string", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__io_8h.html#ab9898159181220569a188b23f906ada1", null ], 5 | [ "ode_print_exit", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__io_8h.html#a60bdc0aa2085eedfa37a498d18db1176", null ], 6 | [ "ode_write", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__io_8h.html#a763e44dbda43f5a5f783d25f08d4e2fb", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__irk_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__irk_8h = 2 | [ 3 | [ "ode::OdeIRK", "classode_1_1_ode_i_r_k.html", "classode_1_1_ode_i_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__linalg_8h = 2 | [ 3 | [ "ode_back_sub", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.html#a4c167a529371f229839f2bc030f528ce", null ], 4 | [ "ode_crout_forw_sub", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.html#a911eebe4766c97161e527c1ed861e02f", null ], 5 | [ "ode_crout_LU", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.html#a5c11b0ab37e92463ec8c4e6f935dbf0c", null ], 6 | [ "ode_solve_A", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.html#a4c53410fdefbbe9794890da6ad337de3", null ], 7 | [ "ode_solve_LU", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.html#a26d50315a4463ac60e25094f61895931", null ], 8 | [ "ode_solve_tridiag", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__linalg_8h.html#ac9bed6e840d42d50208cb551fffcec9c", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__lobatto__iiic__6_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__lobatto__iiic__6_8h = 2 | [ 3 | [ "ode::NewtonLobattoIIIC6", "classode_1_1_newton_lobatto_i_i_i_c6.html", "classode_1_1_newton_lobatto_i_i_i_c6" ], 4 | [ "ode::OdeLobattoIIIC6", "classode_1_1_ode_lobatto_i_i_i_c6.html", "classode_1_1_ode_lobatto_i_i_i_c6" ] 5 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__newton_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__newton_8h = 2 | [ 3 | [ "ode::OdeNewton", "classode_1_1_ode_newton.html", "classode_1_1_ode_newton" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__newton__bridge_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__newton__bridge_8h = 2 | [ 3 | [ "ode::OdeNewtonBridge< Integrator >", "classode_1_1_ode_newton_bridge.html", "classode_1_1_ode_newton_bridge" ], 4 | [ "ode::OdeNewtonIRK< Integrator >", "classode_1_1_ode_newton_i_r_k.html", "classode_1_1_ode_newton_i_r_k" ], 5 | [ "ode::OdeNewtonSDIRK< Integrator >", "classode_1_1_ode_newton_s_d_i_r_k.html", "classode_1_1_ode_newton_s_d_i_r_k" ] 6 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__radau__iia__5_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__radau__iia__5_8h = 2 | [ 3 | [ "ode::NewtonRadauIIA5", "classode_1_1_newton_radau_i_i_a5.html", "classode_1_1_newton_radau_i_i_a5" ], 4 | [ "ode::OdeRadauIIA5", "classode_1_1_ode_radau_i_i_a5.html", "classode_1_1_ode_radau_i_i_a5" ] 5 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__rk_8h = 2 | [ 3 | [ "ode::OdeRK", "classode_1_1_ode_r_k.html", "classode_1_1_ode_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk__43_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__rk__43_8h = 2 | [ 3 | [ "ode::OdeRK43", "classode_1_1_ode_r_k43.html", "classode_1_1_ode_r_k43" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rk__4_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__rk__4_8h = 2 | [ 3 | [ "ode::OdeRK4", "classode_1_1_ode_r_k4.html", "classode_1_1_ode_r_k4" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rkck_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__rkck_8h = 2 | [ 3 | [ "ode::OdeRKCK", "classode_1_1_ode_r_k_c_k.html", "classode_1_1_ode_r_k_c_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rkf__32_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__rkf__32_8h = 2 | [ 3 | [ "ode::OdeRKF32", "classode_1_1_ode_r_k_f32.html", "classode_1_1_ode_r_k_f32" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__rosenbrock_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__rosenbrock_8h = 2 | [ 3 | [ "ode::OdeRosenbrock", "classode_1_1_ode_rosenbrock.html", "classode_1_1_ode_rosenbrock" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__row6a_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__row6a_8h = 2 | [ 3 | [ "ode::OdeROW6A", "classode_1_1_ode_r_o_w6_a.html", "classode_1_1_ode_r_o_w6_a" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__sdirk__43_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__sdirk__43_8h = 2 | [ 3 | [ "ode::NewtonSDIRK43", "classode_1_1_newton_s_d_i_r_k43.html", "classode_1_1_newton_s_d_i_r_k43" ], 4 | [ "ode::OdeSDIRK43", "classode_1_1_ode_s_d_i_r_k43.html", "classode_1_1_ode_s_d_i_r_k43" ] 5 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__ssp__3_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__ssp__3_8h = 2 | [ 3 | [ "ode::OdeSsp3", "classode_1_1_ode_ssp3.html", "classode_1_1_ode_ssp3" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__trapz_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__trapz_8h = 2 | [ 3 | [ "ode::OdeTrapz", "classode_1_1_ode_trapz.html", "classode_1_1_ode_trapz" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__util_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__util_8h = 2 | [ 3 | [ "ode_is_close", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__util_8h.html#aecdad54fc07f01744e37dd5b7c319604", null ], 4 | [ "ode_max2", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__util_8h.html#a3086508cf45ed53360fa0379feb727a4", null ], 5 | [ "ode_min2", "build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__util_8h.html#a2573241f14c3f60d206a425f1fa8ca5f", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__65_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__vern__65_8h = 2 | [ 3 | [ "ode::OdeVern65", "classode_1_1_ode_vern65.html", "classode_1_1_ode_vern65" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__76_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__vern__76_8h = 2 | [ 3 | [ "ode::OdeVern76", "classode_1_1_ode_vern76.html", "classode_1_1_ode_vern76" ] 4 | ]; -------------------------------------------------------------------------------- /docs/build_2___c_pack___packages_2_darwin_2_t_g_z_2libode-0_81_80-_darwin_2include_2ode_2ode__vern__98_8h.js: -------------------------------------------------------------------------------- 1 | var build_2___c_pack___packages_2_darwin_2_t_g_z_2libode_0_81_80__darwin_2include_2ode_2ode__vern__98_8h = 2 | [ 3 | [ "ode::OdeVern98", "classode_1_1_ode_vern98.html", "classode_1_1_ode_vern98" ] 4 | ]; -------------------------------------------------------------------------------- /docs/class_swarmalator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/class_swarmalator.png -------------------------------------------------------------------------------- /docs/class_test_newton.js: -------------------------------------------------------------------------------- 1 | var class_test_newton = 2 | [ 3 | [ "f_Newton", "class_test_newton.html#ad75ead0ef40be308fdc0eb8831a0aaf8", null ], 4 | [ "J_Newton", "class_test_newton.html#afd1d0e4f4ef50b771851ba2c6ea6eda5", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/class_test_newton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/class_test_newton.png -------------------------------------------------------------------------------- /docs/classode_1_1_brus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_brus.png -------------------------------------------------------------------------------- /docs/classode_1_1_burgers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_burgers.png -------------------------------------------------------------------------------- /docs/classode_1_1_dahl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_dahl.png -------------------------------------------------------------------------------- /docs/classode_1_1_double_pendulum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_double_pendulum.png -------------------------------------------------------------------------------- /docs/classode_1_1_lorentz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_lorentz.png -------------------------------------------------------------------------------- /docs/classode_1_1_newton_backward_euler.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_newton_backward_euler = 2 | [ 3 | [ "NewtonBackwardEuler", "classode_1_1_newton_backward_euler.html#af563c150690b1999bd8f56ff550cac03", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_newton_backward_euler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_newton_backward_euler.png -------------------------------------------------------------------------------- /docs/classode_1_1_newton_gauss6.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_newton_gauss6 = 2 | [ 3 | [ "NewtonGauss6", "classode_1_1_newton_gauss6.html#a085a29d8bddb5b2867ed93331759f809", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_newton_gauss6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_newton_gauss6.png -------------------------------------------------------------------------------- /docs/classode_1_1_newton_geng5.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_newton_geng5 = 2 | [ 3 | [ "NewtonGeng5", "classode_1_1_newton_geng5.html#a4436de9024612a5161a2e9db333db930", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_newton_geng5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_newton_geng5.png -------------------------------------------------------------------------------- /docs/classode_1_1_newton_lobatto_i_i_i_c6.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_newton_lobatto_i_i_i_c6 = 2 | [ 3 | [ "NewtonLobattoIIIC6", "classode_1_1_newton_lobatto_i_i_i_c6.html#af98bb0f083ea917561c2bf75f0a2f51a", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_newton_lobatto_i_i_i_c6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_newton_lobatto_i_i_i_c6.png -------------------------------------------------------------------------------- /docs/classode_1_1_newton_radau_i_i_a5.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_newton_radau_i_i_a5 = 2 | [ 3 | [ "NewtonRadauIIA5", "classode_1_1_newton_radau_i_i_a5.html#aadf2a7007f467660b7b02576f3127acf", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_newton_radau_i_i_a5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_newton_radau_i_i_a5.png -------------------------------------------------------------------------------- /docs/classode_1_1_newton_s_d_i_r_k43.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_newton_s_d_i_r_k43 = 2 | [ 3 | [ "NewtonSDIRK43", "classode_1_1_newton_s_d_i_r_k43.html#addb51a5188e8dea249cb9c907c4b97e8", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_newton_s_d_i_r_k43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_newton_s_d_i_r_k43.png -------------------------------------------------------------------------------- /docs/classode_1_1_nonlinear_diffusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_nonlinear_diffusion.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_adaptive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_adaptive.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_backward_euler.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_backward_euler = 2 | [ 3 | [ "OdeBackwardEuler", "classode_1_1_ode_backward_euler.html#a97e20dc50bdc47bd2c8f3cbe85bb813b", null ], 4 | [ "~OdeBackwardEuler", "classode_1_1_ode_backward_euler.html#a2a6d4c9a1d893ae3c7c910c321686270", null ], 5 | [ "get_newton", "classode_1_1_ode_backward_euler.html#abbd4ffe08df474d3ef7ba2626915af23", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_backward_euler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_backward_euler.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_base.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_do_pri54.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_do_pri54 = 2 | [ 3 | [ "OdeDoPri54", "classode_1_1_ode_do_pri54.html#a1edecaead9b84b6bacce412988ca7b68", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_do_pri54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_do_pri54.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_do_pri87.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_do_pri87 = 2 | [ 3 | [ "OdeDoPri87", "classode_1_1_ode_do_pri87.html#ad099faa7cb7c365bc9981a006482882e", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_do_pri87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_do_pri87.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_e_r_k.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_e_r_k = 2 | [ 3 | [ "OdeERK", "classode_1_1_ode_e_r_k.html#a1c3b92ed4693d4e23bc50452c2b0f4b2", null ], 4 | [ "soltemp_", "classode_1_1_ode_e_r_k.html#ad4811515194759c88dd1b72259870af7", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_e_r_k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_e_r_k.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_embedded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_embedded.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_euler.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_euler = 2 | [ 3 | [ "OdeEuler", "classode_1_1_ode_euler.html#aa171940873b54a19f5ce90e9cf5595ee", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_euler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_euler.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_g_r_k4_a.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_g_r_k4_a = 2 | [ 3 | [ "OdeGRK4A", "classode_1_1_ode_g_r_k4_a.html#a92d1cc0a0e928a2d5927c7f65e66a1a3", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_g_r_k4_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_g_r_k4_a.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_gauss6.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_gauss6 = 2 | [ 3 | [ "OdeGauss6", "classode_1_1_ode_gauss6.html#aeed4240c49a363b38e18756a4c3be993", null ], 4 | [ "~OdeGauss6", "classode_1_1_ode_gauss6.html#af234ecdc90798d240a10cdb5e54e35cb", null ], 5 | [ "get_newton", "classode_1_1_ode_gauss6.html#a04f447c9b152e6607894c437f03b9055", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_gauss6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_gauss6.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_geng5.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_geng5 = 2 | [ 3 | [ "OdeGeng5", "classode_1_1_ode_geng5.html#a5075fb1ed17146217f26a8d7c8b5d196", null ], 4 | [ "~OdeGeng5", "classode_1_1_ode_geng5.html#a2826ab4e7dbdf9cda0ab307fae5af50a", null ], 5 | [ "get_newton", "classode_1_1_ode_geng5.html#a878313c55e69921d564d9be8ea6af3b4", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_geng5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_geng5.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_i_r_k.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_i_r_k = 2 | [ 3 | [ "OdeIRK", "classode_1_1_ode_i_r_k.html#a345fdd9dde1903f898a0c1144f6aee75", null ], 4 | [ "~OdeIRK", "classode_1_1_ode_i_r_k.html#a324bc576edfcc30fc31d1fc8ff08e566", null ], 5 | [ "k_", "classode_1_1_ode_i_r_k.html#a15a8978f0b298b31a98a4c4815c246c2", null ], 6 | [ "kall_", "classode_1_1_ode_i_r_k.html#aede819fd599b1aaa4c72e98b5e06d7c8", null ], 7 | [ "nk_", "classode_1_1_ode_i_r_k.html#a992a4fe787370a3488de73b4d5b154e0", null ] 8 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_i_r_k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_i_r_k.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_lobatto_i_i_i_c6.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_lobatto_i_i_i_c6 = 2 | [ 3 | [ "OdeLobattoIIIC6", "classode_1_1_ode_lobatto_i_i_i_c6.html#a4a0872fdbc91e610c06fb362a21a13d5", null ], 4 | [ "~OdeLobattoIIIC6", "classode_1_1_ode_lobatto_i_i_i_c6.html#aea287c215a4d1b60b2c5074259759029", null ], 5 | [ "get_newton", "classode_1_1_ode_lobatto_i_i_i_c6.html#aef5be3c89c41a4828ee2279d9b92777e", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_lobatto_i_i_i_c6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_lobatto_i_i_i_c6.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_newton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_newton.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_newton_bridge.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_newton_bridge = 2 | [ 3 | [ "OdeNewtonBridge", "classode_1_1_ode_newton_bridge.html#aca337e9aeaaf8fe63621d23c74e46d4d", null ], 4 | [ "~OdeNewtonBridge", "classode_1_1_ode_newton_bridge.html#ae78253697240be4ce96e2a7ccf97b6d4", null ], 5 | [ "fun", "classode_1_1_ode_newton_bridge.html#a434c42703fca37b82749f1a4e34e2dd5", null ], 6 | [ "jac", "classode_1_1_ode_newton_bridge.html#a80a5a99aedfd009e3b0c60c42dd4ffcc", null ], 7 | [ "dt_", "classode_1_1_ode_newton_bridge.html#a6c4b7a6d6c5ff293ace3d7c0d2501de3", null ], 8 | [ "ftemp_", "classode_1_1_ode_newton_bridge.html#a8d6764b716692ca4c18bede82ecb89ac", null ], 9 | [ "integrator_", "classode_1_1_ode_newton_bridge.html#a8c501e41896f8a597b8e8d1134276342", null ], 10 | [ "Jac_", "classode_1_1_ode_newton_bridge.html#a07dc3b3eb105cffb82b9a0e3c2667fa8", null ], 11 | [ "neq_", "classode_1_1_ode_newton_bridge.html#a51bf2b07c39b6aca04d1d3b0444c08b3", null ], 12 | [ "nnew_", "classode_1_1_ode_newton_bridge.html#ae500cb92e976ffcb74f26e3cc70e1273", null ], 13 | [ "sol_", "classode_1_1_ode_newton_bridge.html#ace081cdbf0190a89c94495be5b338aa8", null ], 14 | [ "soltemp_", "classode_1_1_ode_newton_bridge.html#ad09d462e9f8312e06a058a5d1ba50ecc", null ] 15 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_newton_bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_newton_bridge.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_newton_i_r_k.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_newton_i_r_k = 2 | [ 3 | [ "OdeNewtonIRK", "classode_1_1_ode_newton_i_r_k.html#a6638c5cac0d6fc13df65ef13bd05c973", null ], 4 | [ "a", "classode_1_1_ode_newton_i_r_k.html#a8eb08f2524787484997fff4c6078e388", null ], 5 | [ "b", "classode_1_1_ode_newton_i_r_k.html#ad123fa529198da9330212f1db29482dd", null ], 6 | [ "k_", "classode_1_1_ode_newton_i_r_k.html#ab16bb5c679153b06dd25681b4ec46b40", null ], 7 | [ "nk_", "classode_1_1_ode_newton_i_r_k.html#a56f12e393612016d4c6d07b8b3a52b0c", null ] 8 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_newton_i_r_k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_newton_i_r_k.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_newton_s_d_i_r_k.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_newton_s_d_i_r_k = 2 | [ 3 | [ "OdeNewtonSDIRK", "classode_1_1_ode_newton_s_d_i_r_k.html#a4449db87aa6ada4783ddba93ea7a5ddc", null ], 4 | [ "set_ik", "classode_1_1_ode_newton_s_d_i_r_k.html#a1b1bda035e0f3d6428b8522c67bd1500", null ], 5 | [ "a", "classode_1_1_ode_newton_s_d_i_r_k.html#a31e7a390f5961f1155f5f0bf6cac523f", null ], 6 | [ "b", "classode_1_1_ode_newton_s_d_i_r_k.html#a6df858d45761fad2120b6793c9a0c59d", null ], 7 | [ "gam", "classode_1_1_ode_newton_s_d_i_r_k.html#a4c466cbe906348bd8c6120b1da0ed8ff", null ], 8 | [ "ik_", "classode_1_1_ode_newton_s_d_i_r_k.html#abbf6fd05db199c76e4057a09933b5fc5", null ], 9 | [ "k_", "classode_1_1_ode_newton_s_d_i_r_k.html#a224497571f3afebb18df2f1c2f86cc43", null ] 10 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_newton_s_d_i_r_k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_newton_s_d_i_r_k.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_r_k = 2 | [ 3 | [ "OdeRK", "classode_1_1_ode_r_k.html#a751069ef38816001161dbecbf2481275", null ], 4 | [ "~OdeRK", "classode_1_1_ode_r_k.html#a40a24c9b5068903cd73c880d018e8a89", null ], 5 | [ "k_", "classode_1_1_ode_r_k.html#a58286725b8008a7440c0b4843082b007", null ], 6 | [ "nk_", "classode_1_1_ode_r_k.html#a284049baa9bfde894193ebb72c3489e8", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_r_k.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k4.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_r_k4 = 2 | [ 3 | [ "OdeRK4", "classode_1_1_ode_r_k4.html#adb5e3d9c7e8d67af2f50add69b644e20", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_r_k4.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k43.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_r_k43 = 2 | [ 3 | [ "OdeRK43", "classode_1_1_ode_r_k43.html#a2d640660e04c045643fee19ce4a39264", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_r_k43.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k_c_k.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_r_k_c_k = 2 | [ 3 | [ "OdeRKCK", "classode_1_1_ode_r_k_c_k.html#ab0f84f1c9f31b74a41956216d1df7dbc", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k_c_k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_r_k_c_k.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k_f32.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_r_k_f32 = 2 | [ 3 | [ "OdeRKF32", "classode_1_1_ode_r_k_f32.html#a3b61f7374bcc21272319d432e20f15b8", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_k_f32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_r_k_f32.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_o_w6_a.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_r_o_w6_a = 2 | [ 3 | [ "OdeROW6A", "classode_1_1_ode_r_o_w6_a.html#af7d8a4f03a794dc0384831c0d2e5ae47", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_r_o_w6_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_r_o_w6_a.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_radau_i_i_a5.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_radau_i_i_a5 = 2 | [ 3 | [ "OdeRadauIIA5", "classode_1_1_ode_radau_i_i_a5.html#ab238a2d9c1b973f640adb7a1d05a83b1", null ], 4 | [ "~OdeRadauIIA5", "classode_1_1_ode_radau_i_i_a5.html#a206abba25bc86fac22d773dd15900b45", null ], 5 | [ "get_newton", "classode_1_1_ode_radau_i_i_a5.html#a9a8ec614ad413e1b84f1cdb2eb485111", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_radau_i_i_a5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_radau_i_i_a5.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_rosenbrock.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_rosenbrock = 2 | [ 3 | [ "OdeRosenbrock", "classode_1_1_ode_rosenbrock.html#a257959e9ef4a69425b3ae47f3309a7a8", null ], 4 | [ "~OdeRosenbrock", "classode_1_1_ode_rosenbrock.html#a50ff675a89fc57aa5ad45abecf49b24f", null ], 5 | [ "prep_jac", "classode_1_1_ode_rosenbrock.html#a02dcbfa565b318aa602fc345963e02d6", null ], 6 | [ "gam", "classode_1_1_ode_rosenbrock.html#a75531532d4110b762b82e970a9831c6a", null ], 7 | [ "k_", "classode_1_1_ode_rosenbrock.html#a3e38b489fa6c4a1e792c9e27e19a75a5", null ], 8 | [ "p_", "classode_1_1_ode_rosenbrock.html#a06163ff6bbd202835979749032ef8d52", null ], 9 | [ "rhs_", "classode_1_1_ode_rosenbrock.html#a73cc73d28869a2ef961e57573b1dca6f", null ], 10 | [ "soltemp_", "classode_1_1_ode_rosenbrock.html#a4d80a9f6aac4eb191c9d0044c1b638ed", null ] 11 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_rosenbrock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_rosenbrock.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_s_d_i_r_k43.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_s_d_i_r_k43 = 2 | [ 3 | [ "OdeSDIRK43", "classode_1_1_ode_s_d_i_r_k43.html#add53f71f9cc0091ec27b39628fb14658", null ], 4 | [ "~OdeSDIRK43", "classode_1_1_ode_s_d_i_r_k43.html#a4ec93dc0ea4866208c9f654e83928768", null ], 5 | [ "get_newton", "classode_1_1_ode_s_d_i_r_k43.html#a478847419d12e1729979fc4a2a92b506", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_s_d_i_r_k43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_s_d_i_r_k43.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_ssp3.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_ssp3 = 2 | [ 3 | [ "OdeSsp3", "classode_1_1_ode_ssp3.html#a02280d6a4a25d00fdd78a4b8748dbf66", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_ssp3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_ssp3.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_trapz.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_trapz = 2 | [ 3 | [ "OdeTrapz", "classode_1_1_ode_trapz.html#a23ebe1d8b216521b324244069b222471", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_trapz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_trapz.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_vern65.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_vern65 = 2 | [ 3 | [ "OdeVern65", "classode_1_1_ode_vern65.html#a96f061307f2487be64d6171eccac7af9", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_vern65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_vern65.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_vern76.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_vern76 = 2 | [ 3 | [ "OdeVern76", "classode_1_1_ode_vern76.html#a9a9c2a6efe80f14948e42ae3a28d5691", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_vern76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_vern76.png -------------------------------------------------------------------------------- /docs/classode_1_1_ode_vern98.js: -------------------------------------------------------------------------------- 1 | var classode_1_1_ode_vern98 = 2 | [ 3 | [ "OdeVern98", "classode_1_1_ode_vern98.html#ac780c637562f85a0914ecc33ab5c0927", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/classode_1_1_ode_vern98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_ode_vern98.png -------------------------------------------------------------------------------- /docs/classode_1_1_osc1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_osc1.png -------------------------------------------------------------------------------- /docs/classode_1_1_osc2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_osc2.png -------------------------------------------------------------------------------- /docs/classode_1_1_star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_star.png -------------------------------------------------------------------------------- /docs/classode_1_1_stiff_cliff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_stiff_cliff.png -------------------------------------------------------------------------------- /docs/classode_1_1_vdp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/classode_1_1_vdp.png -------------------------------------------------------------------------------- /docs/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/closed.png -------------------------------------------------------------------------------- /docs/dir_0002de6d58406693d2f1cfdc30a709b2.js: -------------------------------------------------------------------------------- 1 | var dir_0002de6d58406693d2f1cfdc30a709b2 = 2 | [ 3 | [ "include", "dir_c1d5e7268098c967d38d5281639e273c.html", "dir_c1d5e7268098c967d38d5281639e273c" ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_0ad55b4643d8f112a92917fc1cb7fcb4.js: -------------------------------------------------------------------------------- 1 | var dir_0ad55b4643d8f112a92917fc1cb7fcb4 = 2 | [ 3 | [ "nonlinear_diffusion.cc", "nonlinear__diffusion_8cc_source.html", null ], 4 | [ "nonlinear_diffusion.h", "nonlinear__diffusion_8h_source.html", null ], 5 | [ "plot_nonlinear_diffusion.py", "plot__nonlinear__diffusion_8py_source.html", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/dir_1879a84f8c8dbd0f60afc32132f09537.js: -------------------------------------------------------------------------------- 1 | var dir_1879a84f8c8dbd0f60afc32132f09537 = 2 | [ 3 | [ "lorentz.cc", "lorentz_8cc_source.html", null ], 4 | [ "lorentz.h", "lorentz_8h_source.html", null ], 5 | [ "plot_lorentz.py", "plot__lorentz_8py_source.html", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/dir_2ca85aa3edcb5344e274ce267704e268.js: -------------------------------------------------------------------------------- 1 | var dir_2ca85aa3edcb5344e274ce267704e268 = 2 | [ 3 | [ "CompilerIdCXX", "dir_524400c5a26e63bcb0fb13d04bbb2228.html", "dir_524400c5a26e63bcb0fb13d04bbb2228" ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_4a882db0deb3b57878d14167ff6b07d9.js: -------------------------------------------------------------------------------- 1 | var dir_4a882db0deb3b57878d14167ff6b07d9 = 2 | [ 3 | [ "TGZ", "dir_b72a82ec597813e6e0ef06555c513ec3.html", "dir_b72a82ec597813e6e0ef06555c513ec3" ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_4ce5bb1f75a40b8e5d45eb35b2ae6e25.js: -------------------------------------------------------------------------------- 1 | var dir_4ce5bb1f75a40b8e5d45eb35b2ae6e25 = 2 | [ 3 | [ "plot_star.py", "plot__star_8py_source.html", null ], 4 | [ "star.cc", "star_8cc_source.html", null ], 5 | [ "star.h", "star_8h_source.html", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/dir_4fef79e7177ba769987a8da36c892c5f.js: -------------------------------------------------------------------------------- 1 | var dir_4fef79e7177ba769987a8da36c892c5f = 2 | [ 3 | [ "_CPack_Packages", "dir_b048026938d7a732b9389a92ef8d8a24.html", "dir_b048026938d7a732b9389a92ef8d8a24" ], 4 | [ "CMakeFiles", "dir_63772b626f2709090f0bdca0f40827b4.html", "dir_63772b626f2709090f0bdca0f40827b4" ], 5 | [ "DartConfiguration.tcl", "_dart_configuration_8tcl_source.html", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/dir_524400c5a26e63bcb0fb13d04bbb2228.js: -------------------------------------------------------------------------------- 1 | var dir_524400c5a26e63bcb0fb13d04bbb2228 = 2 | [ 3 | [ "CMakeCXXCompilerId.cpp", "_c_make_c_x_x_compiler_id_8cpp_source.html", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_53e6fa9553ac22a5646d2a2b2d7b97a1.js: -------------------------------------------------------------------------------- 1 | var dir_53e6fa9553ac22a5646d2a2b2d7b97a1 = 2 | [ 3 | [ "plot_adapt.py", "plot__adapt_8py_source.html", null ], 4 | [ "plot_conv.py", "plot__conv_8py_source.html", null ], 5 | [ "plot_fixed.py", "plot__fixed_8py_source.html", null ], 6 | [ "plot_snaps.py", "plot__snaps_8py_source.html", null ], 7 | [ "plot_stiff.py", "plot__stiff_8py_source.html", null ], 8 | [ "plot_work.py", "plot__work_8py_source.html", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/dir_5779d740f8df1060d7355febc1f202cc.js: -------------------------------------------------------------------------------- 1 | var dir_5779d740f8df1060d7355febc1f202cc = 2 | [ 3 | [ "plot_swarmalator.py", "plot__swarmalator_8py_source.html", null ], 4 | [ "swarmalator.cc", "swarmalator_8cc_source.html", null ], 5 | [ "swarmalator.h", "swarmalator_8h_source.html", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/dir_59425e443f801f1f2fd8bbe4959a3ccf.js: -------------------------------------------------------------------------------- 1 | var dir_59425e443f801f1f2fd8bbe4959a3ccf = 2 | [ 3 | [ "test_adapt.cc", "test__adapt_8cc_source.html", null ], 4 | [ "test_all.cc", "test__all_8cc_source.html", null ], 5 | [ "test_conv.cc", "test__conv_8cc_source.html", null ], 6 | [ "test_fixed.cc", "test__fixed_8cc_source.html", null ], 7 | [ "test_linalg.cc", "test__linalg_8cc_source.html", null ], 8 | [ "test_newton.cc", "test__newton_8cc_source.html", null ], 9 | [ "test_snaps.cc", "test__snaps_8cc_source.html", null ], 10 | [ "test_stiff.cc", "test__stiff_8cc_source.html", null ], 11 | [ "test_systems.h", "test__systems_8h_source.html", null ], 12 | [ "test_work.cc", "test__work_8cc_source.html", null ] 13 | ]; -------------------------------------------------------------------------------- /docs/dir_63772b626f2709090f0bdca0f40827b4.js: -------------------------------------------------------------------------------- 1 | var dir_63772b626f2709090f0bdca0f40827b4 = 2 | [ 3 | [ "3.25.1", "dir_2ca85aa3edcb5344e274ce267704e268.html", "dir_2ca85aa3edcb5344e274ce267704e268" ], 4 | [ "ode.dir", "dir_87215c5e3af361610710e8b853c0b20e.html", "dir_87215c5e3af361610710e8b853c0b20e" ] 5 | ]; -------------------------------------------------------------------------------- /docs/dir_87215c5e3af361610710e8b853c0b20e.js: -------------------------------------------------------------------------------- 1 | var dir_87215c5e3af361610710e8b853c0b20e = 2 | [ 3 | [ "src", "dir_6f737c3db622c2a71c8fac39cec09a94.html", "dir_6f737c3db622c2a71c8fac39cec09a94" ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_b048026938d7a732b9389a92ef8d8a24.js: -------------------------------------------------------------------------------- 1 | var dir_b048026938d7a732b9389a92ef8d8a24 = 2 | [ 3 | [ "Darwin", "dir_4a882db0deb3b57878d14167ff6b07d9.html", "dir_4a882db0deb3b57878d14167ff6b07d9" ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_b72a82ec597813e6e0ef06555c513ec3.js: -------------------------------------------------------------------------------- 1 | var dir_b72a82ec597813e6e0ef06555c513ec3 = 2 | [ 3 | [ "libode-0.1.0-Darwin", "dir_0002de6d58406693d2f1cfdc30a709b2.html", "dir_0002de6d58406693d2f1cfdc30a709b2" ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_c1d5e7268098c967d38d5281639e273c.js: -------------------------------------------------------------------------------- 1 | var dir_c1d5e7268098c967d38d5281639e273c = 2 | [ 3 | [ "ode", "dir_2773d40a4e9b0a26fa975e4e89a34881.html", "dir_2773d40a4e9b0a26fa975e4e89a34881" ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_d28a4824dc47e487b107a5db32ef43c4.js: -------------------------------------------------------------------------------- 1 | var dir_d28a4824dc47e487b107a5db32ef43c4 = 2 | [ 3 | [ "burgers", "dir_e14608c35ef7b8974fdbeed6fa1261a4.html", "dir_e14608c35ef7b8974fdbeed6fa1261a4" ], 4 | [ "double-pendulum", "dir_e994744ba5d8c7178b7f5598eaa0ff6c.html", "dir_e994744ba5d8c7178b7f5598eaa0ff6c" ], 5 | [ "lorentz", "dir_1879a84f8c8dbd0f60afc32132f09537.html", "dir_1879a84f8c8dbd0f60afc32132f09537" ], 6 | [ "nonlinear-diffusion", "dir_0ad55b4643d8f112a92917fc1cb7fcb4.html", "dir_0ad55b4643d8f112a92917fc1cb7fcb4" ], 7 | [ "star-dynamics", "dir_4ce5bb1f75a40b8e5d45eb35b2ae6e25.html", "dir_4ce5bb1f75a40b8e5d45eb35b2ae6e25" ], 8 | [ "swarmalator", "dir_5779d740f8df1060d7355febc1f202cc.html", "dir_5779d740f8df1060d7355febc1f202cc" ] 9 | ]; -------------------------------------------------------------------------------- /docs/dir_d44c64559bbebec7f509842c48db8b23.js: -------------------------------------------------------------------------------- 1 | var dir_d44c64559bbebec7f509842c48db8b23 = 2 | [ 3 | [ "ode", "dir_0befd6d9b0feef0e43a409567796a762.html", "dir_0befd6d9b0feef0e43a409567796a762" ] 4 | ]; -------------------------------------------------------------------------------- /docs/dir_e14608c35ef7b8974fdbeed6fa1261a4.js: -------------------------------------------------------------------------------- 1 | var dir_e14608c35ef7b8974fdbeed6fa1261a4 = 2 | [ 3 | [ "burgers.cc", "burgers_8cc_source.html", null ], 4 | [ "burgers.h", "burgers_8h_source.html", null ], 5 | [ "plot_burgers.py", "plot__burgers_8py_source.html", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/dir_e994744ba5d8c7178b7f5598eaa0ff6c.js: -------------------------------------------------------------------------------- 1 | var dir_e994744ba5d8c7178b7f5598eaa0ff6c = 2 | [ 3 | [ "double_pendulum.cc", "double__pendulum_8cc_source.html", null ], 4 | [ "double_pendulum.h", "double__pendulum_8h_source.html", null ], 5 | [ "plot_double_pendulum.py", "plot__double__pendulum_8py_source.html", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/doc.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/docd.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/files_dup.js: -------------------------------------------------------------------------------- 1 | var files_dup = 2 | [ 3 | [ "include", "dir_d44c64559bbebec7f509842c48db8b23.html", "dir_d44c64559bbebec7f509842c48db8b23" ], 4 | [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ] 5 | ]; -------------------------------------------------------------------------------- /docs/functions_dup.js: -------------------------------------------------------------------------------- 1 | var functions_dup = 2 | [ 3 | [ "a", "functions.html", null ], 4 | [ "b", "functions_b.html", null ], 5 | [ "c", "functions_c.html", null ], 6 | [ "d", "functions_d.html", null ], 7 | [ "e", "functions_e.html", null ], 8 | [ "f", "functions_f.html", null ], 9 | [ "g", "functions_g.html", null ], 10 | [ "i", "functions_i.html", null ], 11 | [ "j", "functions_j.html", null ], 12 | [ "k", "functions_k.html", null ], 13 | [ "m", "functions_m.html", null ], 14 | [ "n", "functions_n.html", null ], 15 | [ "o", "functions_o.html", null ], 16 | [ "p", "functions_p.html", null ], 17 | [ "q", "functions_q.html", null ], 18 | [ "r", "functions_r.html", null ], 19 | [ "s", "functions_s.html", null ], 20 | [ "t", "functions_t.html", null ], 21 | [ "~", "functions_~.html", null ] 22 | ]; -------------------------------------------------------------------------------- /docs/functions_func.js: -------------------------------------------------------------------------------- 1 | var functions_func = 2 | [ 3 | [ "a", "functions_func.html", null ], 4 | [ "b", "functions_func_b.html", null ], 5 | [ "c", "functions_func_c.html", null ], 6 | [ "d", "functions_func_d.html", null ], 7 | [ "e", "functions_func_e.html", null ], 8 | [ "f", "functions_func_f.html", null ], 9 | [ "g", "functions_func_g.html", null ], 10 | [ "i", "functions_func_i.html", null ], 11 | [ "j", "functions_func_j.html", null ], 12 | [ "n", "functions_func_n.html", null ], 13 | [ "o", "functions_func_o.html", null ], 14 | [ "p", "functions_func_p.html", null ], 15 | [ "r", "functions_func_r.html", null ], 16 | [ "s", "functions_func_s.html", null ], 17 | [ "~", "functions_func_~.html", null ] 18 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__adaptive_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__adaptive_8h = 2 | [ 3 | [ "ode::OdeAdaptive", "classode_1_1_ode_adaptive.html", "classode_1_1_ode_adaptive" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__backward__euler_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__backward__euler_8h = 2 | [ 3 | [ "ode::NewtonBackwardEuler", "classode_1_1_newton_backward_euler.html", "classode_1_1_newton_backward_euler" ], 4 | [ "ode::OdeBackwardEuler", "classode_1_1_ode_backward_euler.html", "classode_1_1_ode_backward_euler" ] 5 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__base_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__base_8h = 2 | [ 3 | [ "ode::OdeBase", "classode_1_1_ode_base.html", "classode_1_1_ode_base" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__dopri__54_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__dopri__54_8h = 2 | [ 3 | [ "ode::OdeDoPri54", "classode_1_1_ode_do_pri54.html", "classode_1_1_ode_do_pri54" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__dopri__87_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__dopri__87_8h = 2 | [ 3 | [ "ode::OdeDoPri87", "classode_1_1_ode_do_pri87.html", "classode_1_1_ode_do_pri87" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__embedded_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__embedded_8h = 2 | [ 3 | [ "ode::OdeEmbedded", "classode_1_1_ode_embedded.html", "classode_1_1_ode_embedded" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__erk_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__erk_8h = 2 | [ 3 | [ "ode::OdeERK", "classode_1_1_ode_e_r_k.html", "classode_1_1_ode_e_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__euler_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__euler_8h = 2 | [ 3 | [ "ode::OdeEuler", "classode_1_1_ode_euler.html", "classode_1_1_ode_euler" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__gauss__6_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__gauss__6_8h = 2 | [ 3 | [ "ode::NewtonGauss6", "classode_1_1_newton_gauss6.html", "classode_1_1_newton_gauss6" ], 4 | [ "ode::OdeGauss6", "classode_1_1_ode_gauss6.html", "classode_1_1_ode_gauss6" ] 5 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__geng__5_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__geng__5_8h = 2 | [ 3 | [ "ode::NewtonGeng5", "classode_1_1_newton_geng5.html", "classode_1_1_newton_geng5" ], 4 | [ "ode::OdeGeng5", "classode_1_1_ode_geng5.html", "classode_1_1_ode_geng5" ] 5 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__grk4a_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__grk4a_8h = 2 | [ 3 | [ "ode::OdeGRK4A", "classode_1_1_ode_g_r_k4_a.html", "classode_1_1_ode_g_r_k4_a" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__io_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__io_8h = 2 | [ 3 | [ "ode_check_write", "include_2ode_2ode__io_8h.html#a4516039407a0fac3dc99ae2d7f83e0c5", null ], 4 | [ "ode_int_to_string", "include_2ode_2ode__io_8h.html#ab9898159181220569a188b23f906ada1", null ], 5 | [ "ode_print_exit", "include_2ode_2ode__io_8h.html#a60bdc0aa2085eedfa37a498d18db1176", null ], 6 | [ "ode_write", "include_2ode_2ode__io_8h.html#a763e44dbda43f5a5f783d25f08d4e2fb", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__irk_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__irk_8h = 2 | [ 3 | [ "ode::OdeIRK", "classode_1_1_ode_i_r_k.html", "classode_1_1_ode_i_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__linalg_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__linalg_8h = 2 | [ 3 | [ "ode_back_sub", "include_2ode_2ode__linalg_8h.html#a4c167a529371f229839f2bc030f528ce", null ], 4 | [ "ode_crout_forw_sub", "include_2ode_2ode__linalg_8h.html#a911eebe4766c97161e527c1ed861e02f", null ], 5 | [ "ode_crout_LU", "include_2ode_2ode__linalg_8h.html#a5c11b0ab37e92463ec8c4e6f935dbf0c", null ], 6 | [ "ode_solve_A", "include_2ode_2ode__linalg_8h.html#a4c53410fdefbbe9794890da6ad337de3", null ], 7 | [ "ode_solve_LU", "include_2ode_2ode__linalg_8h.html#a26d50315a4463ac60e25094f61895931", null ], 8 | [ "ode_solve_tridiag", "include_2ode_2ode__linalg_8h.html#ac9bed6e840d42d50208cb551fffcec9c", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__lobatto__iiic__6_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__lobatto__iiic__6_8h = 2 | [ 3 | [ "ode::NewtonLobattoIIIC6", "classode_1_1_newton_lobatto_i_i_i_c6.html", "classode_1_1_newton_lobatto_i_i_i_c6" ], 4 | [ "ode::OdeLobattoIIIC6", "classode_1_1_ode_lobatto_i_i_i_c6.html", "classode_1_1_ode_lobatto_i_i_i_c6" ] 5 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__newton_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__newton_8h = 2 | [ 3 | [ "ode::OdeNewton", "classode_1_1_ode_newton.html", "classode_1_1_ode_newton" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__newton__bridge_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__newton__bridge_8h = 2 | [ 3 | [ "ode::OdeNewtonBridge< Integrator >", "classode_1_1_ode_newton_bridge.html", "classode_1_1_ode_newton_bridge" ], 4 | [ "ode::OdeNewtonIRK< Integrator >", "classode_1_1_ode_newton_i_r_k.html", "classode_1_1_ode_newton_i_r_k" ], 5 | [ "ode::OdeNewtonSDIRK< Integrator >", "classode_1_1_ode_newton_s_d_i_r_k.html", "classode_1_1_ode_newton_s_d_i_r_k" ] 6 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__radau__iia__5_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__radau__iia__5_8h = 2 | [ 3 | [ "ode::NewtonRadauIIA5", "classode_1_1_newton_radau_i_i_a5.html", "classode_1_1_newton_radau_i_i_a5" ], 4 | [ "ode::OdeRadauIIA5", "classode_1_1_ode_radau_i_i_a5.html", "classode_1_1_ode_radau_i_i_a5" ] 5 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__rk_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__rk_8h = 2 | [ 3 | [ "ode::OdeRK", "classode_1_1_ode_r_k.html", "classode_1_1_ode_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__rk__43_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__rk__43_8h = 2 | [ 3 | [ "ode::OdeRK43", "classode_1_1_ode_r_k43.html", "classode_1_1_ode_r_k43" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__rk__4_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__rk__4_8h = 2 | [ 3 | [ "ode::OdeRK4", "classode_1_1_ode_r_k4.html", "classode_1_1_ode_r_k4" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__rkck_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__rkck_8h = 2 | [ 3 | [ "ode::OdeRKCK", "classode_1_1_ode_r_k_c_k.html", "classode_1_1_ode_r_k_c_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__rkf__32_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__rkf__32_8h = 2 | [ 3 | [ "ode::OdeRKF32", "classode_1_1_ode_r_k_f32.html", "classode_1_1_ode_r_k_f32" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__rosenbrock_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__rosenbrock_8h = 2 | [ 3 | [ "ode::OdeRosenbrock", "classode_1_1_ode_rosenbrock.html", "classode_1_1_ode_rosenbrock" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__row6a_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__row6a_8h = 2 | [ 3 | [ "ode::OdeROW6A", "classode_1_1_ode_r_o_w6_a.html", "classode_1_1_ode_r_o_w6_a" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__sdirk__43_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__sdirk__43_8h = 2 | [ 3 | [ "ode::NewtonSDIRK43", "classode_1_1_newton_s_d_i_r_k43.html", "classode_1_1_newton_s_d_i_r_k43" ], 4 | [ "ode::OdeSDIRK43", "classode_1_1_ode_s_d_i_r_k43.html", "classode_1_1_ode_s_d_i_r_k43" ] 5 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__ssp__3_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__ssp__3_8h = 2 | [ 3 | [ "ode::OdeSsp3", "classode_1_1_ode_ssp3.html", "classode_1_1_ode_ssp3" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__trapz_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__trapz_8h = 2 | [ 3 | [ "ode::OdeTrapz", "classode_1_1_ode_trapz.html", "classode_1_1_ode_trapz" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__util_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__util_8h = 2 | [ 3 | [ "ode_is_close", "include_2ode_2ode__util_8h.html#aecdad54fc07f01744e37dd5b7c319604", null ], 4 | [ "ode_max2", "include_2ode_2ode__util_8h.html#a3086508cf45ed53360fa0379feb727a4", null ], 5 | [ "ode_min2", "include_2ode_2ode__util_8h.html#a2573241f14c3f60d206a425f1fa8ca5f", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__vern__65_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__vern__65_8h = 2 | [ 3 | [ "ode::OdeVern65", "classode_1_1_ode_vern65.html", "classode_1_1_ode_vern65" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__vern__76_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__vern__76_8h = 2 | [ 3 | [ "ode::OdeVern76", "classode_1_1_ode_vern76.html", "classode_1_1_ode_vern76" ] 4 | ]; -------------------------------------------------------------------------------- /docs/include_2ode_2ode__vern__98_8h.js: -------------------------------------------------------------------------------- 1 | var include_2ode_2ode__vern__98_8h = 2 | [ 3 | [ "ode::OdeVern98", "classode_1_1_ode_vern98.html", "classode_1_1_ode_vern98" ] 4 | ]; -------------------------------------------------------------------------------- /docs/minus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /docs/minusd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /docs/namespaces_dup.js: -------------------------------------------------------------------------------- 1 | var namespaces_dup = 2 | [ 3 | [ "ode", "namespaceode.html", "namespaceode" ] 4 | ]; -------------------------------------------------------------------------------- /docs/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/nav_f.png -------------------------------------------------------------------------------- /docs/nav_fd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/nav_fd.png -------------------------------------------------------------------------------- /docs/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/nav_g.png -------------------------------------------------------------------------------- /docs/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/nav_h.png -------------------------------------------------------------------------------- /docs/nav_hd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/nav_hd.png -------------------------------------------------------------------------------- /docs/ode__adaptive_8h.js: -------------------------------------------------------------------------------- 1 | var ode__adaptive_8h = 2 | [ 3 | [ "ode::OdeAdaptive", "classode_1_1_ode_adaptive.html", "classode_1_1_ode_adaptive" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__backward__euler_8h.js: -------------------------------------------------------------------------------- 1 | var ode__backward__euler_8h = 2 | [ 3 | [ "ode::NewtonBackwardEuler", "classode_1_1_newton_backward_euler.html", "classode_1_1_newton_backward_euler" ], 4 | [ "ode::OdeBackwardEuler", "classode_1_1_ode_backward_euler.html", "classode_1_1_ode_backward_euler" ] 5 | ]; -------------------------------------------------------------------------------- /docs/ode__base_8h.js: -------------------------------------------------------------------------------- 1 | var ode__base_8h = 2 | [ 3 | [ "ode::OdeBase", "classode_1_1_ode_base.html", "classode_1_1_ode_base" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__dopri__54_8h.js: -------------------------------------------------------------------------------- 1 | var ode__dopri__54_8h = 2 | [ 3 | [ "ode::OdeDoPri54", "classode_1_1_ode_do_pri54.html", "classode_1_1_ode_do_pri54" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__dopri__87_8h.js: -------------------------------------------------------------------------------- 1 | var ode__dopri__87_8h = 2 | [ 3 | [ "ode::OdeDoPri87", "classode_1_1_ode_do_pri87.html", "classode_1_1_ode_do_pri87" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__embedded_8h.js: -------------------------------------------------------------------------------- 1 | var ode__embedded_8h = 2 | [ 3 | [ "ode::OdeEmbedded", "classode_1_1_ode_embedded.html", "classode_1_1_ode_embedded" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__erk_8h.js: -------------------------------------------------------------------------------- 1 | var ode__erk_8h = 2 | [ 3 | [ "ode::OdeERK", "classode_1_1_ode_e_r_k.html", "classode_1_1_ode_e_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__euler_8h.js: -------------------------------------------------------------------------------- 1 | var ode__euler_8h = 2 | [ 3 | [ "ode::OdeEuler", "classode_1_1_ode_euler.html", "classode_1_1_ode_euler" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__gauss__6_8h.js: -------------------------------------------------------------------------------- 1 | var ode__gauss__6_8h = 2 | [ 3 | [ "ode::NewtonGauss6", "classode_1_1_newton_gauss6.html", "classode_1_1_newton_gauss6" ], 4 | [ "ode::OdeGauss6", "classode_1_1_ode_gauss6.html", "classode_1_1_ode_gauss6" ] 5 | ]; -------------------------------------------------------------------------------- /docs/ode__geng__5_8h.js: -------------------------------------------------------------------------------- 1 | var ode__geng__5_8h = 2 | [ 3 | [ "ode::NewtonGeng5", "classode_1_1_newton_geng5.html", "classode_1_1_newton_geng5" ], 4 | [ "ode::OdeGeng5", "classode_1_1_ode_geng5.html", "classode_1_1_ode_geng5" ] 5 | ]; -------------------------------------------------------------------------------- /docs/ode__grk4a_8h.js: -------------------------------------------------------------------------------- 1 | var ode__grk4a_8h = 2 | [ 3 | [ "ode::OdeGRK4A", "classode_1_1_ode_g_r_k4_a.html", "classode_1_1_ode_g_r_k4_a" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__io_8cc.js: -------------------------------------------------------------------------------- 1 | var ode__io_8cc = 2 | [ 3 | [ "ode_check_write", "ode__io_8cc.html#a4516039407a0fac3dc99ae2d7f83e0c5", null ], 4 | [ "ode_int_to_string", "ode__io_8cc.html#ab9898159181220569a188b23f906ada1", null ], 5 | [ "ode_print_exit", "ode__io_8cc.html#a60bdc0aa2085eedfa37a498d18db1176", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/ode__io_8h.js: -------------------------------------------------------------------------------- 1 | var ode__io_8h = 2 | [ 3 | [ "ode_check_write", "ode__io_8h.html#a4516039407a0fac3dc99ae2d7f83e0c5", null ], 4 | [ "ode_int_to_string", "ode__io_8h.html#ab9898159181220569a188b23f906ada1", null ], 5 | [ "ode_print_exit", "ode__io_8h.html#a60bdc0aa2085eedfa37a498d18db1176", null ], 6 | [ "ode_write", "ode__io_8h.html#a763e44dbda43f5a5f783d25f08d4e2fb", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/ode__irk_8h.js: -------------------------------------------------------------------------------- 1 | var ode__irk_8h = 2 | [ 3 | [ "ode::OdeIRK", "classode_1_1_ode_i_r_k.html", "classode_1_1_ode_i_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__linalg_8cc.js: -------------------------------------------------------------------------------- 1 | var ode__linalg_8cc = 2 | [ 3 | [ "ode_back_sub", "ode__linalg_8cc.html#a4c167a529371f229839f2bc030f528ce", null ], 4 | [ "ode_crout_forw_sub", "ode__linalg_8cc.html#a911eebe4766c97161e527c1ed861e02f", null ], 5 | [ "ode_crout_LU", "ode__linalg_8cc.html#a5c11b0ab37e92463ec8c4e6f935dbf0c", null ], 6 | [ "ode_solve_A", "ode__linalg_8cc.html#a4c53410fdefbbe9794890da6ad337de3", null ], 7 | [ "ode_solve_LU", "ode__linalg_8cc.html#a26d50315a4463ac60e25094f61895931", null ], 8 | [ "ode_solve_tridiag", "ode__linalg_8cc.html#ac9bed6e840d42d50208cb551fffcec9c", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/ode__linalg_8h.js: -------------------------------------------------------------------------------- 1 | var ode__linalg_8h = 2 | [ 3 | [ "ode_back_sub", "ode__linalg_8h.html#a4c167a529371f229839f2bc030f528ce", null ], 4 | [ "ode_crout_forw_sub", "ode__linalg_8h.html#a911eebe4766c97161e527c1ed861e02f", null ], 5 | [ "ode_crout_LU", "ode__linalg_8h.html#a5c11b0ab37e92463ec8c4e6f935dbf0c", null ], 6 | [ "ode_solve_A", "ode__linalg_8h.html#a4c53410fdefbbe9794890da6ad337de3", null ], 7 | [ "ode_solve_LU", "ode__linalg_8h.html#a26d50315a4463ac60e25094f61895931", null ], 8 | [ "ode_solve_tridiag", "ode__linalg_8h.html#ac9bed6e840d42d50208cb551fffcec9c", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/ode__lobatto__iiic__6_8h.js: -------------------------------------------------------------------------------- 1 | var ode__lobatto__iiic__6_8h = 2 | [ 3 | [ "ode::NewtonLobattoIIIC6", "classode_1_1_newton_lobatto_i_i_i_c6.html", "classode_1_1_newton_lobatto_i_i_i_c6" ], 4 | [ "ode::OdeLobattoIIIC6", "classode_1_1_ode_lobatto_i_i_i_c6.html", "classode_1_1_ode_lobatto_i_i_i_c6" ] 5 | ]; -------------------------------------------------------------------------------- /docs/ode__newton_8h.js: -------------------------------------------------------------------------------- 1 | var ode__newton_8h = 2 | [ 3 | [ "ode::OdeNewton", "classode_1_1_ode_newton.html", "classode_1_1_ode_newton" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__newton__bridge_8h.js: -------------------------------------------------------------------------------- 1 | var ode__newton__bridge_8h = 2 | [ 3 | [ "ode::OdeNewtonBridge< Integrator >", "classode_1_1_ode_newton_bridge.html", "classode_1_1_ode_newton_bridge" ], 4 | [ "ode::OdeNewtonIRK< Integrator >", "classode_1_1_ode_newton_i_r_k.html", "classode_1_1_ode_newton_i_r_k" ], 5 | [ "ode::OdeNewtonSDIRK< Integrator >", "classode_1_1_ode_newton_s_d_i_r_k.html", "classode_1_1_ode_newton_s_d_i_r_k" ] 6 | ]; -------------------------------------------------------------------------------- /docs/ode__radau__iia__5_8h.js: -------------------------------------------------------------------------------- 1 | var ode__radau__iia__5_8h = 2 | [ 3 | [ "ode::NewtonRadauIIA5", "classode_1_1_newton_radau_i_i_a5.html", "classode_1_1_newton_radau_i_i_a5" ], 4 | [ "ode::OdeRadauIIA5", "classode_1_1_ode_radau_i_i_a5.html", "classode_1_1_ode_radau_i_i_a5" ] 5 | ]; -------------------------------------------------------------------------------- /docs/ode__rk_8h.js: -------------------------------------------------------------------------------- 1 | var ode__rk_8h = 2 | [ 3 | [ "ode::OdeRK", "classode_1_1_ode_r_k.html", "classode_1_1_ode_r_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__rk__43_8h.js: -------------------------------------------------------------------------------- 1 | var ode__rk__43_8h = 2 | [ 3 | [ "ode::OdeRK43", "classode_1_1_ode_r_k43.html", "classode_1_1_ode_r_k43" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__rk__4_8h.js: -------------------------------------------------------------------------------- 1 | var ode__rk__4_8h = 2 | [ 3 | [ "ode::OdeRK4", "classode_1_1_ode_r_k4.html", "classode_1_1_ode_r_k4" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__rkck_8h.js: -------------------------------------------------------------------------------- 1 | var ode__rkck_8h = 2 | [ 3 | [ "ode::OdeRKCK", "classode_1_1_ode_r_k_c_k.html", "classode_1_1_ode_r_k_c_k" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__rkf__32_8h.js: -------------------------------------------------------------------------------- 1 | var ode__rkf__32_8h = 2 | [ 3 | [ "ode::OdeRKF32", "classode_1_1_ode_r_k_f32.html", "classode_1_1_ode_r_k_f32" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__rosenbrock_8h.js: -------------------------------------------------------------------------------- 1 | var ode__rosenbrock_8h = 2 | [ 3 | [ "ode::OdeRosenbrock", "classode_1_1_ode_rosenbrock.html", "classode_1_1_ode_rosenbrock" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__row6a_8h.js: -------------------------------------------------------------------------------- 1 | var ode__row6a_8h = 2 | [ 3 | [ "ode::OdeROW6A", "classode_1_1_ode_r_o_w6_a.html", "classode_1_1_ode_r_o_w6_a" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__sdirk__43_8h.js: -------------------------------------------------------------------------------- 1 | var ode__sdirk__43_8h = 2 | [ 3 | [ "ode::NewtonSDIRK43", "classode_1_1_newton_s_d_i_r_k43.html", "classode_1_1_newton_s_d_i_r_k43" ], 4 | [ "ode::OdeSDIRK43", "classode_1_1_ode_s_d_i_r_k43.html", "classode_1_1_ode_s_d_i_r_k43" ] 5 | ]; -------------------------------------------------------------------------------- /docs/ode__ssp__3_8h.js: -------------------------------------------------------------------------------- 1 | var ode__ssp__3_8h = 2 | [ 3 | [ "ode::OdeSsp3", "classode_1_1_ode_ssp3.html", "classode_1_1_ode_ssp3" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__trapz_8h.js: -------------------------------------------------------------------------------- 1 | var ode__trapz_8h = 2 | [ 3 | [ "ode::OdeTrapz", "classode_1_1_ode_trapz.html", "classode_1_1_ode_trapz" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__util_8cc.js: -------------------------------------------------------------------------------- 1 | var ode__util_8cc = 2 | [ 3 | [ "ode_is_close", "ode__util_8cc.html#aecdad54fc07f01744e37dd5b7c319604", null ], 4 | [ "ode_max2", "ode__util_8cc.html#a3086508cf45ed53360fa0379feb727a4", null ], 5 | [ "ode_min2", "ode__util_8cc.html#a2573241f14c3f60d206a425f1fa8ca5f", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/ode__util_8h.js: -------------------------------------------------------------------------------- 1 | var ode__util_8h = 2 | [ 3 | [ "ode_is_close", "ode__util_8h.html#aecdad54fc07f01744e37dd5b7c319604", null ], 4 | [ "ode_max2", "ode__util_8h.html#a3086508cf45ed53360fa0379feb727a4", null ], 5 | [ "ode_min2", "ode__util_8h.html#a2573241f14c3f60d206a425f1fa8ca5f", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/ode__vern__65_8h.js: -------------------------------------------------------------------------------- 1 | var ode__vern__65_8h = 2 | [ 3 | [ "ode::OdeVern65", "classode_1_1_ode_vern65.html", "classode_1_1_ode_vern65" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__vern__76_8h.js: -------------------------------------------------------------------------------- 1 | var ode__vern__76_8h = 2 | [ 3 | [ "ode::OdeVern76", "classode_1_1_ode_vern76.html", "classode_1_1_ode_vern76" ] 4 | ]; -------------------------------------------------------------------------------- /docs/ode__vern__98_8h.js: -------------------------------------------------------------------------------- 1 | var ode__vern__98_8h = 2 | [ 3 | [ "ode::OdeVern98", "classode_1_1_ode_vern98.html", "classode_1_1_ode_vern98" ] 4 | ]; -------------------------------------------------------------------------------- /docs/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/open.png -------------------------------------------------------------------------------- /docs/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /docs/plusd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /docs/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['a_0',['a',['../classode_1_1_ode_newton_i_r_k.html#a8eb08f2524787484997fff4c6078e388',1,'ode::OdeNewtonIRK::a'],['../classode_1_1_ode_newton_s_d_i_r_k.html#a31e7a390f5961f1155f5f0bf6cac523f',1,'ode::OdeNewtonSDIRK::a']]], 4 | ['a_20class_1',['Define a Class',['../index.html#subsec_classes',1,'']]], 5 | ['absjacdel_5f_2',['absjacdel_',['../classode_1_1_ode_base.html#ac39de1178bd9e4fa52e94d0d2b3f2da4',1,'ode::OdeBase']]], 6 | ['abstol_5f_3',['abstol_',['../classode_1_1_ode_adaptive.html#aa5ef9a3a8bdc97462afebba16927a875',1,'ode::OdeAdaptive']]], 7 | ['adapt_4',['adapt',['../classode_1_1_ode_adaptive.html#ae5abe1304e51e9953c6304fafda824de',1,'ode::OdeAdaptive::adapt()'],['../classode_1_1_ode_embedded.html#ad1345dccf879c9353b04a7032eaac771',1,'ode::OdeEmbedded::adapt()']]], 8 | ['adapt_20the_20time_20step_5',['Flexibly Adapt the Time Step',['../index.html#subsec_padapt',1,'']]], 9 | ['after_5fcapture_6',['after_capture',['../classode_1_1_ode_base.html#a07a4ae52408db9f5148b79b9aaf2a027',1,'ode::OdeBase']]], 10 | ['after_5fsnap_7',['after_snap',['../classode_1_1_ode_base.html#a562899797e5ed0c449d3c99e622e7fd3',1,'ode::OdeBase']]], 11 | ['after_5fsolve_8',['after_solve',['../classode_1_1_ode_base.html#a5c891951f5859fcbd26255148b8b1043',1,'ode::OdeBase']]], 12 | ['after_5fstep_9',['after_step',['../classode_1_1_ode_base.html#ae10e8fedd71b700ffdc0c418b896b138',1,'ode::OdeBase']]], 13 | ['an_20integration_20function_10',['Call an Integration Function',['../index.html#subsec_integrate',1,'']]] 14 | ]; 15 | -------------------------------------------------------------------------------- /docs/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['b_0',['b',['../classode_1_1_ode_newton_i_r_k.html#ad123fa529198da9330212f1db29482dd',1,'ode::OdeNewtonIRK::b'],['../classode_1_1_ode_newton_s_d_i_r_k.html#a6df858d45761fad2120b6793c9a0c59d',1,'ode::OdeNewtonSDIRK::b']]], 4 | ['before_5fsolve_1',['before_solve',['../classode_1_1_ode_base.html#a5636ae6beaf60dd21e444c9480b57dc8',1,'ode::OdeBase']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['reljacdel_5f_0',['reljacdel_',['../classode_1_1_ode_base.html#a0b1c25f1a6152c53b9e3ea616f458a18',1,'ode::OdeBase']]], 4 | ['reltol_5f_1',['reltol_',['../classode_1_1_ode_adaptive.html#a257262dc12ff0c704da8f6c62322f758',1,'ode::OdeAdaptive']]], 5 | ['reset_2',['reset',['../classode_1_1_ode_base.html#ab36dcdc79673a540e2dbca8fcaa54e5c',1,'ode::OdeBase']]], 6 | ['rhs_5f_3',['rhs_',['../classode_1_1_ode_rosenbrock.html#a73cc73d28869a2ef961e57573b1dca6f',1,'ode::OdeRosenbrock']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/all_11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['t_5f_0',['t_',['../classode_1_1_ode_base.html#a47175e89a78eec5a2f07c17352ee7653',1,'ode::OdeBase']]], 4 | ['the_20solvers_1',['Using the Solvers',['../index.html#sec_usage',1,'']]], 5 | ['the_20time_20step_2',['Flexibly Adapt the Time Step',['../index.html#subsec_padapt',1,'']]], 6 | ['time_20step_3',['Flexibly Adapt the Time Step',['../index.html#subsec_padapt',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/all_13.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_13.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['using_20the_20solvers_0',['Using the Solvers',['../index.html#sec_usage',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/all_14.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['with_20cmake_0',['Compiling with CMake',['../index.html#sec_compiling_cmake',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['call_20an_20integration_20function_0',['Call an Integration Function',['../index.html#subsec_integrate',1,'']]], 4 | ['check_5fpre_5fsnaps_1',['check_pre_snaps',['../classode_1_1_ode_base.html#ac9bbe59a853d26a185e3e0377e8afb37',1,'ode::OdeBase']]], 5 | ['check_5fpre_5fsolve_2',['check_pre_solve',['../classode_1_1_ode_base.html#aebe43ca9789120b8ebc6ca493c55c604',1,'ode::OdeBase']]], 6 | ['check_5fsol_5fintegrity_3',['check_sol_integrity',['../classode_1_1_ode_base.html#a9a2162180513222241016f975de1199d',1,'ode::OdeBase']]], 7 | ['class_4',['Define a Class',['../index.html#subsec_classes',1,'']]], 8 | ['cmake_5',['Compiling with CMake',['../index.html#sec_compiling_cmake',1,'']]], 9 | ['compiling_6',['Compiling',['../index.html#sec_compiling',1,'']]], 10 | ['compiling_20with_20cmake_7',['Compiling with CMake',['../index.html#sec_compiling_cmake',1,'']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /docs/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['define_20a_20class_0',['Define a Class',['../index.html#subsec_classes',1,'']]], 4 | ['dirout_5f_1',['dirout_',['../classode_1_1_ode_base.html#aef21f73a7417cc807119a080dbc8a71b',1,'ode::OdeBase']]], 5 | ['dt_5f_2',['dt_',['../classode_1_1_ode_base.html#a5e9ab2468b6de6e4e7febc72856af671',1,'ode::OdeBase::dt_'],['../classode_1_1_ode_newton_bridge.html#a6c4b7a6d6c5ff293ace3d7c0d2501de3',1,'ode::OdeNewtonBridge::dt_']]], 6 | ['dt_5fadapt_3',['dt_adapt',['../classode_1_1_ode_adaptive.html#ad82930f0220ef151ea053a17ca8e5692',1,'ode::OdeAdaptive::dt_adapt()'],['../classode_1_1_ode_embedded.html#a1daf8843a1152ffe75300e9d32d9a353',1,'ode::OdeEmbedded::dt_adapt()']]], 7 | ['dt_5fadapt_5f_4',['dt_adapt_',['../classode_1_1_ode_adaptive.html#a4c2f48f7823903e308ad47bd8e560cdb',1,'ode::OdeAdaptive']]], 8 | ['dtmax_5f_5',['dtmax_',['../classode_1_1_ode_adaptive.html#a607cb93ffac3e7e2e32efca14298058c',1,'ode::OdeAdaptive']]], 9 | ['during_20solves_6',['"Extra" Functions During Solves',['../index.html#extra',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /docs/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_0',['error',['../classode_1_1_ode_embedded.html#a6213a54da032882f30d002a7b5ccc875',1,'ode::OdeEmbedded']]], 4 | ['extra_20functions_20during_20solves_1',['"Extra" Functions During Solves',['../index.html#extra',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['f_5fnewton_0',['f_Newton',['../classode_1_1_ode_newton.html#aa6ac707cd2d8785b3385efb88fedab17',1,'ode::OdeNewton']]], 4 | ['facmax_5f_1',['facmax_',['../classode_1_1_ode_embedded.html#a89fa84dcfd3f364944865806cd3aa8c7',1,'ode::OdeEmbedded']]], 5 | ['facmin_5f_2',['facmin_',['../classode_1_1_ode_embedded.html#a52c5e14b6779e734d1b2cfc1b031fd51',1,'ode::OdeEmbedded']]], 6 | ['facopt_3',['facopt',['../classode_1_1_ode_embedded.html#a94daead3c68bbca0ddffe60a19204624',1,'ode::OdeEmbedded']]], 7 | ['facsafe_5f_4',['facsafe_',['../classode_1_1_ode_embedded.html#ae76f2fad00ca251b60bec3951acc45ec',1,'ode::OdeEmbedded']]], 8 | ['flexibly_20adapt_20the_20time_20step_5',['Flexibly Adapt the Time Step',['../index.html#subsec_padapt',1,'']]], 9 | ['ftemp_5f_6',['ftemp_',['../classode_1_1_ode_newton_bridge.html#a8d6764b716692ca4c18bede82ecb89ac',1,'ode::OdeNewtonBridge']]], 10 | ['fun_7',['fun',['../classode_1_1_ode_newton_bridge.html#a434c42703fca37b82749f1a4e34e2dd5',1,'ode::OdeNewtonBridge']]], 11 | ['function_8',['Call an Integration Function',['../index.html#subsec_integrate',1,'']]], 12 | ['functions_20during_20solves_9',['"Extra" Functions During Solves',['../index.html#extra',1,'']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /docs/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['icheck_5f_0',['icheck_',['../classode_1_1_ode_base.html#a22bf9237e8e945f8274b3e68353c095a',1,'ode::OdeBase']]], 4 | ['ik_5f_1',['ik_',['../classode_1_1_ode_newton_s_d_i_r_k.html#abbf6fd05db199c76e4057a09933b5fc5',1,'ode::OdeNewtonSDIRK']]], 5 | ['instructions_2',['Instructions',['../index.html#sec_compiling_long',1,'Longer Instructions'],['../index.html#sec_compiling_short',1,'Short Instructions']]], 6 | ['integration_20function_3',['Call an Integration Function',['../index.html#subsec_integrate',1,'']]], 7 | ['integrator_5f_4',['integrator_',['../classode_1_1_ode_newton_bridge.html#a8c501e41896f8a597b8e8d1134276342',1,'ode::OdeNewtonBridge']]], 8 | ['is_5frejected_5',['is_rejected',['../classode_1_1_ode_adaptive.html#ac2ec3ca78305fb53a9bdbcc64709b023',1,'ode::OdeAdaptive::is_rejected()'],['../classode_1_1_ode_embedded.html#acd77766e200bb083b14e2688521feff1',1,'ode::OdeEmbedded::is_rejected()']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['j_5fnewton_0',['J_Newton',['../classode_1_1_ode_newton.html#a0858f23086f114011e9324bbb2545404',1,'ode::OdeNewton']]], 4 | ['jac_1',['jac',['../classode_1_1_ode_newton_bridge.html#a80a5a99aedfd009e3b0c60c42dd4ffcc',1,'ode::OdeNewtonBridge']]], 5 | ['jac_5f_2',['Jac_',['../classode_1_1_ode_base.html#aa7d031b97ef430c631ee8b48e4d1758b',1,'ode::OdeBase::Jac_'],['../classode_1_1_ode_newton_bridge.html#a07dc3b3eb105cffb82b9a0e3c2667fa8',1,'ode::OdeNewtonBridge::Jac_']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/all_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['k_5f_0',['k_',['../classode_1_1_ode_i_r_k.html#a15a8978f0b298b31a98a4c4815c246c2',1,'ode::OdeIRK::k_'],['../classode_1_1_ode_newton_i_r_k.html#ab16bb5c679153b06dd25681b4ec46b40',1,'ode::OdeNewtonIRK::k_'],['../classode_1_1_ode_newton_s_d_i_r_k.html#a224497571f3afebb18df2f1c2f86cc43',1,'ode::OdeNewtonSDIRK::k_'],['../classode_1_1_ode_r_k.html#a58286725b8008a7440c0b4843082b007',1,'ode::OdeRK::k_'],['../classode_1_1_ode_rosenbrock.html#a3e38b489fa6c4a1e792c9e27e19a75a5',1,'ode::OdeRosenbrock::k_']]], 4 | ['kall_5f_1',['kall_',['../classode_1_1_ode_i_r_k.html#aede819fd599b1aaa4c72e98b5e06d7c8',1,'ode::OdeIRK']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['libode_0',['libode',['../index.html',1,'']]], 4 | ['longer_20instructions_1',['Longer Instructions',['../index.html#sec_compiling_long',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['method_5f_0',['method_',['../classode_1_1_ode_base.html#ac4785d12f6976fb39ee872359f362edc',1,'ode::OdeBase']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/all_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['p_5f_0',['p_',['../classode_1_1_ode_rosenbrock.html#a06163ff6bbd202835979749032ef8d52',1,'ode::OdeRosenbrock']]], 4 | ['prep_5fjac_1',['prep_jac',['../classode_1_1_ode_rosenbrock.html#a02dcbfa565b318aa602fc345963e02d6',1,'ode::OdeRosenbrock']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quiet_5f_0',['quiet_',['../classode_1_1_ode_base.html#a877964cbd789a81bb125b1c6decade4c',1,'ode::OdeBase']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['newtonbackwardeuler_0',['NewtonBackwardEuler',['../classode_1_1_newton_backward_euler.html',1,'ode']]], 4 | ['newtongauss6_1',['NewtonGauss6',['../classode_1_1_newton_gauss6.html',1,'ode']]], 5 | ['newtongeng5_2',['NewtonGeng5',['../classode_1_1_newton_geng5.html',1,'ode']]], 6 | ['newtonlobattoiiic6_3',['NewtonLobattoIIIC6',['../classode_1_1_newton_lobatto_i_i_i_c6.html',1,'ode']]], 7 | ['newtonradauiia5_4',['NewtonRadauIIA5',['../classode_1_1_newton_radau_i_i_a5.html',1,'ode']]], 8 | ['newtonsdirk43_5',['NewtonSDIRK43',['../classode_1_1_newton_s_d_i_r_k43.html',1,'ode']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['lorentz_0',['Lorentz',['../classode_1_1_lorentz.html',1,'ode']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['newtonbackwardeuler_0',['NewtonBackwardEuler',['../classode_1_1_newton_backward_euler.html',1,'ode']]], 4 | ['newtongauss6_1',['NewtonGauss6',['../classode_1_1_newton_gauss6.html',1,'ode']]], 5 | ['newtongeng5_2',['NewtonGeng5',['../classode_1_1_newton_geng5.html',1,'ode']]], 6 | ['newtonlobattoiiic6_3',['NewtonLobattoIIIC6',['../classode_1_1_newton_lobatto_i_i_i_c6.html',1,'ode']]], 7 | ['newtonradauiia5_4',['NewtonRadauIIA5',['../classode_1_1_newton_radau_i_i_a5.html',1,'ode']]], 8 | ['newtonsdirk43_5',['NewtonSDIRK43',['../classode_1_1_newton_s_d_i_r_k43.html',1,'ode']]], 9 | ['nonlineardiffusion_6',['NonlinearDiffusion',['../classode_1_1_nonlinear_diffusion.html',1,'ode']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /docs/search/classes_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['star_0',['Star',['../classode_1_1_star.html',1,'ode']]], 4 | ['stiffcliff_1',['StiffCliff',['../classode_1_1_stiff_cliff.html',1,'ode']]], 5 | ['swarmalator_2',['Swarmalator',['../class_swarmalator.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/classes_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['testnewton_0',['TestNewton',['../class_test_newton.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vdp_0',['Vdp',['../classode_1_1_vdp.html',1,'ode']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/search/close.png -------------------------------------------------------------------------------- /docs/search/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 12 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /docs/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['adapt_0',['adapt',['../classode_1_1_ode_adaptive.html#ae5abe1304e51e9953c6304fafda824de',1,'ode::OdeAdaptive::adapt()'],['../classode_1_1_ode_embedded.html#ad1345dccf879c9353b04a7032eaac771',1,'ode::OdeEmbedded::adapt()']]], 4 | ['after_5fcapture_1',['after_capture',['../classode_1_1_ode_base.html#a07a4ae52408db9f5148b79b9aaf2a027',1,'ode::OdeBase']]], 5 | ['after_5fsnap_2',['after_snap',['../classode_1_1_ode_base.html#a562899797e5ed0c449d3c99e622e7fd3',1,'ode::OdeBase']]], 6 | ['after_5fsolve_3',['after_solve',['../classode_1_1_ode_base.html#a5c891951f5859fcbd26255148b8b1043',1,'ode::OdeBase']]], 7 | ['after_5fstep_4',['after_step',['../classode_1_1_ode_base.html#ae10e8fedd71b700ffdc0c418b896b138',1,'ode::OdeBase']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['before_5fsolve_0',['before_solve',['../classode_1_1_ode_base.html#a5636ae6beaf60dd21e444c9480b57dc8',1,'ode::OdeBase']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['check_5fpre_5fsnaps_0',['check_pre_snaps',['../classode_1_1_ode_base.html#ac9bbe59a853d26a185e3e0377e8afb37',1,'ode::OdeBase']]], 4 | ['check_5fpre_5fsolve_1',['check_pre_solve',['../classode_1_1_ode_base.html#aebe43ca9789120b8ebc6ca493c55c604',1,'ode::OdeBase']]], 5 | ['check_5fsol_5fintegrity_2',['check_sol_integrity',['../classode_1_1_ode_base.html#a9a2162180513222241016f975de1199d',1,'ode::OdeBase']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/functions_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['dt_5fadapt_0',['dt_adapt',['../classode_1_1_ode_adaptive.html#ad82930f0220ef151ea053a17ca8e5692',1,'ode::OdeAdaptive::dt_adapt()'],['../classode_1_1_ode_embedded.html#a1daf8843a1152ffe75300e9d32d9a353',1,'ode::OdeEmbedded::dt_adapt()']]], 4 | ['dt_5fadapt_5f_1',['dt_adapt_',['../classode_1_1_ode_adaptive.html#a4c2f48f7823903e308ad47bd8e560cdb',1,'ode::OdeAdaptive']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_0',['error',['../classode_1_1_ode_embedded.html#a6213a54da032882f30d002a7b5ccc875',1,'ode::OdeEmbedded']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['f_5fnewton_0',['f_Newton',['../classode_1_1_ode_newton.html#aa6ac707cd2d8785b3385efb88fedab17',1,'ode::OdeNewton']]], 4 | ['facopt_1',['facopt',['../classode_1_1_ode_embedded.html#a94daead3c68bbca0ddffe60a19204624',1,'ode::OdeEmbedded']]], 5 | ['fun_2',['fun',['../classode_1_1_ode_newton_bridge.html#a434c42703fca37b82749f1a4e34e2dd5',1,'ode::OdeNewtonBridge']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/functions_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['is_5frejected_0',['is_rejected',['../classode_1_1_ode_adaptive.html#ac2ec3ca78305fb53a9bdbcc64709b023',1,'ode::OdeAdaptive::is_rejected()'],['../classode_1_1_ode_embedded.html#acd77766e200bb083b14e2688521feff1',1,'ode::OdeEmbedded::is_rejected()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['j_5fnewton_0',['J_Newton',['../classode_1_1_ode_newton.html#a0858f23086f114011e9324bbb2545404',1,'ode::OdeNewton']]], 4 | ['jac_1',['jac',['../classode_1_1_ode_newton_bridge.html#a80a5a99aedfd009e3b0c60c42dd4ffcc',1,'ode::OdeNewtonBridge']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['newtonbackwardeuler_0',['NewtonBackwardEuler',['../classode_1_1_newton_backward_euler.html#af563c150690b1999bd8f56ff550cac03',1,'ode::NewtonBackwardEuler']]], 4 | ['newtongauss6_1',['NewtonGauss6',['../classode_1_1_newton_gauss6.html#a085a29d8bddb5b2867ed93331759f809',1,'ode::NewtonGauss6']]], 5 | ['newtongeng5_2',['NewtonGeng5',['../classode_1_1_newton_geng5.html#a4436de9024612a5161a2e9db333db930',1,'ode::NewtonGeng5']]], 6 | ['newtonlobattoiiic6_3',['NewtonLobattoIIIC6',['../classode_1_1_newton_lobatto_i_i_i_c6.html#af98bb0f083ea917561c2bf75f0a2f51a',1,'ode::NewtonLobattoIIIC6']]], 7 | ['newtonradauiia5_4',['NewtonRadauIIA5',['../classode_1_1_newton_radau_i_i_a5.html#aadf2a7007f467660b7b02576f3127acf',1,'ode::NewtonRadauIIA5']]], 8 | ['newtonsdirk43_5',['NewtonSDIRK43',['../classode_1_1_newton_s_d_i_r_k43.html#addb51a5188e8dea249cb9c907c4b97e8',1,'ode::NewtonSDIRK43']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/search/functions_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['prep_5fjac_0',['prep_jac',['../classode_1_1_ode_rosenbrock.html#a02dcbfa565b318aa602fc345963e02d6',1,'ode::OdeRosenbrock']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['reset_0',['reset',['../classode_1_1_ode_base.html#ab36dcdc79673a540e2dbca8fcaa54e5c',1,'ode::OdeBase']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/mag.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 12 | 14 | 20 | 24 | 25 | -------------------------------------------------------------------------------- /docs/search/mag_d.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 12 | 14 | 20 | 24 | 25 | -------------------------------------------------------------------------------- /docs/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/search/mag_sel.png -------------------------------------------------------------------------------- /docs/search/mag_sel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 13 | 15 | 21 | 26 | 31 | 32 | -------------------------------------------------------------------------------- /docs/search/mag_seld.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 13 | 15 | 21 | 26 | 31 | 32 | -------------------------------------------------------------------------------- /docs/search/namespaces_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ode_0',['ode',['../namespaceode.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/namespaces_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ode_0',['ode',['../namespaceode.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['libode_0',['libode',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/pages_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['todo_0',['TODO',['../md_todo.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/search/search_l.png -------------------------------------------------------------------------------- /docs/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/search/search_m.png -------------------------------------------------------------------------------- /docs/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/search/search_r.png -------------------------------------------------------------------------------- /docs/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "abcdefgijklmnopqrstuw~", 4 | 1: "no", 5 | 2: "o", 6 | 3: "o", 7 | 4: "abcdefgijnoprs~", 8 | 5: "abdfgijkmnpqrst", 9 | 6: "l" 10 | }; 11 | 12 | var indexSectionNames = 13 | { 14 | 0: "all", 15 | 1: "classes", 16 | 2: "namespaces", 17 | 3: "files", 18 | 4: "functions", 19 | 5: "variables", 20 | 6: "pages" 21 | }; 22 | 23 | var indexSectionLabels = 24 | { 25 | 0: "All", 26 | 1: "Classes", 27 | 2: "Namespaces", 28 | 3: "Files", 29 | 4: "Functions", 30 | 5: "Variables", 31 | 6: "Pages" 32 | }; 33 | 34 | -------------------------------------------------------------------------------- /docs/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['a_0',['a',['../classode_1_1_ode_newton_i_r_k.html#a8eb08f2524787484997fff4c6078e388',1,'ode::OdeNewtonIRK::a'],['../classode_1_1_ode_newton_s_d_i_r_k.html#a31e7a390f5961f1155f5f0bf6cac523f',1,'ode::OdeNewtonSDIRK::a']]], 4 | ['absjacdel_5f_1',['absjacdel_',['../classode_1_1_ode_base.html#ac39de1178bd9e4fa52e94d0d2b3f2da4',1,'ode::OdeBase']]], 5 | ['abstol_5f_2',['abstol_',['../classode_1_1_ode_adaptive.html#aa5ef9a3a8bdc97462afebba16927a875',1,'ode::OdeAdaptive']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['b_0',['b',['../classode_1_1_ode_newton_i_r_k.html#ad123fa529198da9330212f1db29482dd',1,'ode::OdeNewtonIRK::b'],['../classode_1_1_ode_newton_s_d_i_r_k.html#a6df858d45761fad2120b6793c9a0c59d',1,'ode::OdeNewtonSDIRK::b']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['dirout_5f_0',['dirout_',['../classode_1_1_ode_base.html#aef21f73a7417cc807119a080dbc8a71b',1,'ode::OdeBase']]], 4 | ['dt_5f_1',['dt_',['../classode_1_1_ode_base.html#a5e9ab2468b6de6e4e7febc72856af671',1,'ode::OdeBase::dt_'],['../classode_1_1_ode_newton_bridge.html#a6c4b7a6d6c5ff293ace3d7c0d2501de3',1,'ode::OdeNewtonBridge::dt_']]], 5 | ['dtmax_5f_2',['dtmax_',['../classode_1_1_ode_adaptive.html#a607cb93ffac3e7e2e32efca14298058c',1,'ode::OdeAdaptive']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['facmax_5f_0',['facmax_',['../classode_1_1_ode_embedded.html#a89fa84dcfd3f364944865806cd3aa8c7',1,'ode::OdeEmbedded']]], 4 | ['facmin_5f_1',['facmin_',['../classode_1_1_ode_embedded.html#a52c5e14b6779e734d1b2cfc1b031fd51',1,'ode::OdeEmbedded']]], 5 | ['facsafe_5f_2',['facsafe_',['../classode_1_1_ode_embedded.html#ae76f2fad00ca251b60bec3951acc45ec',1,'ode::OdeEmbedded']]], 6 | ['ftemp_5f_3',['ftemp_',['../classode_1_1_ode_newton_bridge.html#a8d6764b716692ca4c18bede82ecb89ac',1,'ode::OdeNewtonBridge']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['gam_0',['gam',['../classode_1_1_ode_newton_s_d_i_r_k.html#a4c466cbe906348bd8c6120b1da0ed8ff',1,'ode::OdeNewtonSDIRK::gam'],['../classode_1_1_ode_rosenbrock.html#a75531532d4110b762b82e970a9831c6a',1,'ode::OdeRosenbrock::gam']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['icheck_5f_0',['icheck_',['../classode_1_1_ode_base.html#a22bf9237e8e945f8274b3e68353c095a',1,'ode::OdeBase']]], 4 | ['ik_5f_1',['ik_',['../classode_1_1_ode_newton_s_d_i_r_k.html#abbf6fd05db199c76e4057a09933b5fc5',1,'ode::OdeNewtonSDIRK']]], 5 | ['integrator_5f_2',['integrator_',['../classode_1_1_ode_newton_bridge.html#a8c501e41896f8a597b8e8d1134276342',1,'ode::OdeNewtonBridge']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/variables_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['jac_5f_0',['Jac_',['../classode_1_1_ode_base.html#aa7d031b97ef430c631ee8b48e4d1758b',1,'ode::OdeBase::Jac_'],['../classode_1_1_ode_newton_bridge.html#a07dc3b3eb105cffb82b9a0e3c2667fa8',1,'ode::OdeNewtonBridge::Jac_']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['k_5f_0',['k_',['../classode_1_1_ode_i_r_k.html#a15a8978f0b298b31a98a4c4815c246c2',1,'ode::OdeIRK::k_'],['../classode_1_1_ode_newton_i_r_k.html#ab16bb5c679153b06dd25681b4ec46b40',1,'ode::OdeNewtonIRK::k_'],['../classode_1_1_ode_newton_s_d_i_r_k.html#a224497571f3afebb18df2f1c2f86cc43',1,'ode::OdeNewtonSDIRK::k_'],['../classode_1_1_ode_r_k.html#a58286725b8008a7440c0b4843082b007',1,'ode::OdeRK::k_'],['../classode_1_1_ode_rosenbrock.html#a3e38b489fa6c4a1e792c9e27e19a75a5',1,'ode::OdeRosenbrock::k_']]], 4 | ['kall_5f_1',['kall_',['../classode_1_1_ode_i_r_k.html#aede819fd599b1aaa4c72e98b5e06d7c8',1,'ode::OdeIRK']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/variables_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['method_5f_0',['method_',['../classode_1_1_ode_base.html#ac4785d12f6976fb39ee872359f362edc',1,'ode::OdeBase']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['name_5f_0',['name_',['../classode_1_1_ode_base.html#a52f6ccd7654ce98b62675ff0abfd85c9',1,'ode::OdeBase']]], 4 | ['neq_5f_1',['neq_',['../classode_1_1_ode_base.html#a326fae9484c185d3f096c885a3f28c5a',1,'ode::OdeBase::neq_'],['../classode_1_1_ode_newton_bridge.html#a51bf2b07c39b6aca04d1d3b0444c08b3',1,'ode::OdeNewtonBridge::neq_']]], 5 | ['neval_5f_2',['neval_',['../classode_1_1_ode_base.html#ae3b838564d24fe46394eb4076b8b3ad3',1,'ode::OdeBase']]], 6 | ['njac_5f_3',['nJac_',['../classode_1_1_ode_base.html#a5124dfc56053e8662f4d7108b08da766',1,'ode::OdeBase']]], 7 | ['nk_5f_4',['nk_',['../classode_1_1_ode_i_r_k.html#a992a4fe787370a3488de73b4d5b154e0',1,'ode::OdeIRK::nk_'],['../classode_1_1_ode_newton_i_r_k.html#a56f12e393612016d4c6d07b8b3a52b0c',1,'ode::OdeNewtonIRK::nk_'],['../classode_1_1_ode_r_k.html#a284049baa9bfde894193ebb72c3489e8',1,'ode::OdeRK::nk_']]], 8 | ['nnew_5f_5',['nnew_',['../classode_1_1_ode_newton_bridge.html#ae500cb92e976ffcb74f26e3cc70e1273',1,'ode::OdeNewtonBridge']]], 9 | ['nrej_5f_6',['nrej_',['../classode_1_1_ode_adaptive.html#a582e3c395102193222da3155a156e561',1,'ode::OdeAdaptive']]], 10 | ['nstep_5f_7',['nstep_',['../classode_1_1_ode_base.html#a73a459788e8182a8541e640cf62378ac',1,'ode::OdeBase']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /docs/search/variables_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['p_5f_0',['p_',['../classode_1_1_ode_rosenbrock.html#a06163ff6bbd202835979749032ef8d52',1,'ode::OdeRosenbrock']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quiet_5f_0',['quiet_',['../classode_1_1_ode_base.html#a877964cbd789a81bb125b1c6decade4c',1,'ode::OdeBase']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['reljacdel_5f_0',['reljacdel_',['../classode_1_1_ode_base.html#a0b1c25f1a6152c53b9e3ea616f458a18',1,'ode::OdeBase']]], 4 | ['reltol_5f_1',['reltol_',['../classode_1_1_ode_adaptive.html#a257262dc12ff0c704da8f6c62322f758',1,'ode::OdeAdaptive']]], 5 | ['rhs_5f_2',['rhs_',['../classode_1_1_ode_rosenbrock.html#a73cc73d28869a2ef961e57573b1dca6f',1,'ode::OdeRosenbrock']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/variables_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['silent_5fsnap_5f_0',['silent_snap_',['../classode_1_1_ode_base.html#ac1e06ff1b4778e521192a36dd4106076',1,'ode::OdeBase']]], 4 | ['sol_5f_1',['sol_',['../classode_1_1_ode_base.html#ad354f369c1f280b8970309ff74161d02',1,'ode::OdeBase::sol_'],['../classode_1_1_ode_newton_bridge.html#ace081cdbf0190a89c94495be5b338aa8',1,'ode::OdeNewtonBridge::sol_']]], 5 | ['solemb_5f_2',['solemb_',['../classode_1_1_ode_embedded.html#a2be317be2e4d69977bcc9c7cc2104bcd',1,'ode::OdeEmbedded']]], 6 | ['soltemp_5f_3',['soltemp_',['../classode_1_1_ode_e_r_k.html#ad4811515194759c88dd1b72259870af7',1,'ode::OdeERK::soltemp_'],['../classode_1_1_ode_newton_bridge.html#ad09d462e9f8312e06a058a5d1ba50ecc',1,'ode::OdeNewtonBridge::soltemp_'],['../classode_1_1_ode_rosenbrock.html#a4d80a9f6aac4eb191c9d0044c1b638ed',1,'ode::OdeRosenbrock::soltemp_']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/variables_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['t_5f_0',['t_',['../classode_1_1_ode_base.html#a47175e89a78eec5a2f07c17352ee7653',1,'ode::OdeBase']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/splitbar.png -------------------------------------------------------------------------------- /docs/splitbard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/splitbard.png -------------------------------------------------------------------------------- /docs/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/sync_off.png -------------------------------------------------------------------------------- /docs/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/sync_on.png -------------------------------------------------------------------------------- /docs/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/tab_a.png -------------------------------------------------------------------------------- /docs/tab_ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/tab_ad.png -------------------------------------------------------------------------------- /docs/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/tab_b.png -------------------------------------------------------------------------------- /docs/tab_bd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/tab_bd.png -------------------------------------------------------------------------------- /docs/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/tab_h.png -------------------------------------------------------------------------------- /docs/tab_hd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/tab_hd.png -------------------------------------------------------------------------------- /docs/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/tab_s.png -------------------------------------------------------------------------------- /docs/tab_sd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/docs/tab_sd.png -------------------------------------------------------------------------------- /examples/burgers/Makefile: -------------------------------------------------------------------------------- 1 | #name of example 2 | name=burgers 3 | #main libode directory 4 | dtop=../.. 5 | #get configuration from the top directory config file 6 | include $(dtop)/config.mk 7 | 8 | #directory with header files 9 | I=-I$(dtop)/include/ode 10 | 11 | #directory with libode library 12 | L=-L$(dtop)/bin 13 | 14 | all: libodemake $(name).exe 15 | 16 | #rule for jumping to the libode makefile 17 | libodemake: 18 | $(MAKE) -C $(dtop) 19 | 20 | #rule for compiling the integrator 21 | $(name).exe: $(name).cc $(name).h libodemake 22 | $(CXX) $(CFLAGS) -o $@ $< $(I) $(L) -lode 23 | -------------------------------------------------------------------------------- /examples/burgers/burgers.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "ode_trapz.h" 5 | #include "burgers.h" 6 | 7 | using namespace ode; 8 | 9 | int main () { 10 | 11 | //number of spatial cells 12 | int nx = 2500; 13 | //domain length 14 | double L = 1.75; 15 | //integration time 16 | double tint = 3.0; 17 | //time step 18 | double dt = tint/1e5; 19 | 20 | //create system 21 | Burgers sys(nx, L); 22 | sys.set_name("burgers"); 23 | //initial conditions 24 | for (int i=0; i 6 | 7 | namespace ode { 8 | 9 | template 10 | class Burgers : public Integrator { 11 | public: 12 | Burgers (int nx_, double L_) : Integrator (nx_), nx(nx_), L(L_) { 13 | h = L/double(nx); 14 | xc = new double[nx]; 15 | for (int i=0; i 2 | 3 | #include "ode_gauss_6.h" 4 | #include "double_pendulum.h" 5 | 6 | using namespace ode; 7 | 8 | int main () { 9 | 10 | //create integrator 11 | DoublePendulum sys; 12 | sys.set_name("double_pendulum"); 13 | 14 | //physical parameters 15 | sys.g = 9.8, //gravity (m/s^2) 16 | sys.m1 = 1.0, //mass 1 (kg) 17 | sys.m2 = 1.0, //mass 2 (kg) 18 | sys.L1 = 1.0, //length 1 (m) 19 | sys.L2 = 1.5; //length 2 (m) 20 | 21 | //initial conditions 22 | sys.set_sol(0, 2); //initial angle of first mass 23 | sys.set_sol(1, 0); //initial angular momentum of first mass 24 | sys.set_sol(2, -2); //initial angle of second mass 25 | sys.set_sol(3, 0); //initial angular momentum of second mass 26 | 27 | //integration parameters 28 | double tend = 25; 29 | double dt = 1e-4; 30 | 31 | //integrate 32 | printf("integrating system '%s' with method '%s'...\n", sys.get_name(), sys.get_method()); 33 | sys.solve_fixed(tend, dt, "out", 125); 34 | printf("finished.\n%lu steps, %lu function evaluations\n", 35 | sys.get_nstep(), sys.get_neval()); 36 | 37 | return(0); 38 | } 39 | -------------------------------------------------------------------------------- /examples/double-pendulum/run.sh: -------------------------------------------------------------------------------- 1 | #name of example 2 | ex=double_pendulum 3 | 4 | #compile 5 | make 6 | #remove any old output 7 | if [ -d out ]; then 8 | rm -r out 9 | fi 10 | #create an output directory 11 | mkdir out 12 | #run the integration 13 | ./${ex}.exe 14 | #plot results 15 | python plot_${ex}.py 16 | #remove stuff 17 | rm -r ./${ex}.exe out 18 | -------------------------------------------------------------------------------- /examples/lorentz/Makefile: -------------------------------------------------------------------------------- 1 | #name of example 2 | name=lorentz 3 | #main libode directory 4 | dtop=../.. 5 | #get configuration from the top directory config file 6 | include $(dtop)/config.mk 7 | 8 | #directory with header files 9 | I=-I$(dtop)/include/ode 10 | 11 | #directory with libode library 12 | L=-L$(dtop)/bin 13 | 14 | all: libodemake $(name).exe 15 | 16 | #rule for jumping to the libode makefile 17 | libodemake: 18 | $(MAKE) -C $(dtop) 19 | 20 | #rule for compiling the integrator 21 | $(name).exe: $(name).cc $(name).h libodemake 22 | $(CXX) $(CFLAGS) -o $@ $< $(I) $(L) -lode 23 | -------------------------------------------------------------------------------- /examples/lorentz/lorentz.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "ode_row6a.h" 4 | #include "lorentz.h" 5 | 6 | using namespace ode; 7 | 8 | int main () { 9 | 10 | //desired solution parameters 11 | double tend = 20; 12 | double dt = tend/10000; 13 | 14 | //construct the system and integrator 15 | Lorentz sys; 16 | sys.set_name("lorentz"); 17 | sys.sigma = 10.0; 18 | sys.beta = 8.0/3; 19 | sys.rho = 28.0; 20 | //initial conditions 21 | sys.set_sol(0, 1.0); 22 | sys.set_sol(1, 1.0); 23 | sys.set_sol(2, 1.0); 24 | 25 | //integrate and write results into the "out" directory 26 | printf("solving with '%s' method...\n", sys.get_method()); 27 | sys.solve_fixed(tend, dt, "out", 1); 28 | 29 | printf("%lu function evaluations, %lu steps\n", sys.get_neval(), sys.get_nstep()); 30 | 31 | return(0); 32 | } 33 | -------------------------------------------------------------------------------- /examples/lorentz/lorentz.h: -------------------------------------------------------------------------------- 1 | 2 | namespace ode { 3 | 4 | template 5 | class Lorentz : public Integrator { 6 | 7 | public: 8 | 9 | //parameters 10 | double sigma, beta, rho; 11 | 12 | //constructor 13 | Lorentz () : Integrator (3) {} 14 | 15 | //system of equations 16 | void ode_fun (double *solin, double *fout) { 17 | //alias 18 | double x = solin[0], 19 | y = solin[1], 20 | z = solin[2]; 21 | //evaluate derivatives 22 | fout[0] = sigma*(y - x); // dx/dt 23 | fout[1] = x*(rho - z) - y; // dy/dt 24 | fout[2] = x*y - beta*z ; // dz/dt 25 | } 26 | //jacobian 27 | void ode_jac (double *solin, double **Jout) { 28 | //alias 29 | double x = solin[0], 30 | y = solin[1], 31 | z = solin[2]; 32 | Jout[0][0] = -sigma; Jout[0][1] = sigma; Jout[0][2] = 0.0; 33 | Jout[1][0] = rho - z; Jout[1][1] = -1.0; Jout[1][2] = -x; 34 | Jout[2][0] = y; Jout[2][1] = x; Jout[2][2] = -beta; 35 | } 36 | }; 37 | 38 | } // namespace ode 39 | -------------------------------------------------------------------------------- /examples/lorentz/plot_lorentz.py: -------------------------------------------------------------------------------- 1 | from os.path import join 2 | from numpy import fromfile 3 | import matplotlib.pyplot as plt 4 | from mpl_toolkits.mplot3d import Axes3D 5 | 6 | #read the output files 7 | x = fromfile(join('out', 'lorentz_0')) 8 | y = fromfile(join('out', 'lorentz_1')) 9 | z = fromfile(join('out', 'lorentz_2')) 10 | t = fromfile(join('out', 'lorentz_t')) 11 | 12 | #plot in 3D 13 | fig = plt.figure() 14 | ax = fig.add_subplot(111, projection='3d') 15 | ax.plot(x, y, z) 16 | ax.plot([x[0]], [y[0]], [z[0]], 'g.') 17 | ax.plot([x[-1]], [y[-1]], [z[-1]], 'r.') 18 | ax.set_xlabel('x') 19 | ax.set_ylabel('y') 20 | ax.set_zlabel('z') 21 | ax.set_title('lorentz attractor') 22 | 23 | #plot cross sections 24 | fig, ax = plt.subplots(1,1) 25 | ax.plot(x,y) 26 | ax.set_xlabel('x') 27 | ax.set_ylabel('y') 28 | ax.set_title('x-y projection') 29 | 30 | fig, ax = plt.subplots(1,1) 31 | ax.plot(y,z) 32 | ax.set_xlabel('y') 33 | ax.set_ylabel('z') 34 | ax.set_title('y-z projection') 35 | 36 | fig, ax = plt.subplots(1,1) 37 | ax.plot(x,z) 38 | ax.set_xlabel('x') 39 | ax.set_ylabel('z') 40 | ax.set_title('x-z projection') 41 | 42 | plt.show() 43 | -------------------------------------------------------------------------------- /examples/lorentz/run.sh: -------------------------------------------------------------------------------- 1 | #name of example 2 | ex=lorentz 3 | 4 | #compile 5 | make 6 | #remove any old output 7 | if [ -d out ]; then 8 | rm -r out 9 | fi 10 | #create an output directory 11 | mkdir out 12 | #run the integration 13 | ./${ex}.exe 14 | #plot results 15 | python plot_${ex}.py 16 | #remove stuff 17 | rm -r ./${ex}.exe out 18 | -------------------------------------------------------------------------------- /examples/nonlinear-diffusion/Makefile: -------------------------------------------------------------------------------- 1 | #name of example 2 | name=nonlinear_diffusion 3 | #main libode directory 4 | dtop=../.. 5 | #get configuration from the top directory config file 6 | include $(dtop)/config.mk 7 | 8 | #directory with header files 9 | I=-I$(dtop)/include/ode 10 | 11 | #directory with libode library 12 | L=-L$(dtop)/bin 13 | 14 | all: libodemake $(name).exe 15 | 16 | #rule for jumping to the libode makefile 17 | libodemake: 18 | $(MAKE) -C $(dtop) 19 | 20 | #rule for compiling the integrator 21 | $(name).exe: $(name).cc $(name).h libodemake 22 | $(CXX) $(CFLAGS) -o $@ $< $(I) $(L) -lode 23 | -------------------------------------------------------------------------------- /examples/nonlinear-diffusion/nonlinear_diffusion.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "ode_trapz.h" 5 | #include "nonlinear_diffusion.h" 6 | 7 | using namespace ode; 8 | 9 | int main () { 10 | 11 | //number of spatial cells 12 | int nx = 1000; 13 | //domain length 14 | double L = 0.5; 15 | //integration time 16 | double tint = 2e-1; 17 | 18 | //create system 19 | NonlinearDiffusion sys(nx, L); 20 | sys.set_name("nonlinear_diffusion"); 21 | sys.gam = 3.1; 22 | //initial conditions 23 | for (int i=0; i 2 | 3 | #include "ode_geng_5.h" 4 | #include "star.h" 5 | 6 | using namespace ode; 7 | 8 | int main () { 9 | 10 | //create integrator 11 | Star sys; 12 | //Star sys; 13 | sys.set_name("star"); 14 | 15 | //set parameters 16 | sys.a = 1.25; 17 | sys.b = 1.0; 18 | sys.c = 0.75; 19 | sys.A = 1.0; 20 | sys.C = 1.0; 21 | sys.Omega = 0.25; 22 | 23 | //set initial conditions 24 | sys.q[0] = 2.5; 25 | sys.q[1] = 0.0; 26 | sys.q[2] = 0.0; 27 | sys.p[0] = 0.0; 28 | sys.p[1] = 1.6888370059044742; 29 | sys.p[2] = 0.2; 30 | 31 | //integration parameters 32 | double tend = 1000; 33 | double dt = 1.0/50; 34 | 35 | //integrate 36 | printf("integrating...\n"); 37 | sys.solve_fixed(tend, dt, "out", 1); 38 | ode_write("out/star_H", sys.H.data(), sys.H.size()); 39 | printf("finished.\n%lu steps, %lu function evaluations\n", 40 | sys.get_nstep(), sys.get_neval()); 41 | 42 | return(0); 43 | } 44 | -------------------------------------------------------------------------------- /examples/swarmalator/Makefile: -------------------------------------------------------------------------------- 1 | #name of example 2 | name=swarmalator 3 | #main libode directory 4 | dtop=../.. 5 | #get configuration from the top directory config file 6 | include $(dtop)/config.mk 7 | 8 | #directory with header files 9 | I=-I$(dtop)/include/ode 10 | 11 | #directory with libode library 12 | L=-L$(dtop)/bin 13 | 14 | all: libodemake $(name).exe 15 | 16 | #rule for jumping to the libode makefile 17 | libodemake: 18 | $(MAKE) -C $(dtop) 19 | 20 | #rule for compiling the integrator 21 | $(name).exe: $(name).cc $(name).h libodemake 22 | $(CXX) $(CFLAGS) -o $@ $< $(I) $(L) -lode 23 | -------------------------------------------------------------------------------- /examples/swarmalator/run.sh: -------------------------------------------------------------------------------- 1 | #name of example 2 | ex=swarmalator 3 | 4 | #compile 5 | make 6 | #remove any old output 7 | if [ -d out ]; then 8 | rm -r out 9 | fi 10 | #create an output directory 11 | mkdir out 12 | #run the integration 13 | ./${ex}.exe 14 | #plot results 15 | python plot_${ex}.py 16 | #remove stuff 17 | rm -r ./${ex}.exe out 18 | -------------------------------------------------------------------------------- /examples/swarmalator/swarmalator.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "ode_ssp_3.h" 4 | #include "swarmalator.h" 5 | 6 | using namespace ode; 7 | 8 | int main () { 9 | 10 | //number of agents 11 | int nagent = 128; 12 | //choose an integration time 13 | double tend = 100; 14 | //choose time step 15 | double dt = tend/5000; 16 | 17 | //create integrator 18 | Swarmalator sys(nagent); 19 | sys.set_name("swarmalator"); 20 | 21 | //coupling parameters 22 | //uniform blob 23 | //sys.A = 1.0; sys.B = 1.0; sys.J = 0.5; sys.K = 0.5; 24 | //static 25 | //sys.A = 1.0; sys.B = 1.0; sys.J = 0.3; sys.K = -0.2; 26 | //circle 27 | sys.A = 1.0; sys.B = 1.0; sys.J = 1.0; sys.K = -0.2; 28 | 29 | printf("integrating...\n"); 30 | sys.solve_fixed(tend, dt, "out", 15); 31 | printf("%lu function evaluations, %lu steps\n", sys.get_neval(), sys.get_nstep()); 32 | 33 | return(0); 34 | } 35 | -------------------------------------------------------------------------------- /examples/swarmalator/swarmalator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/examples/swarmalator/swarmalator.gif -------------------------------------------------------------------------------- /img/adapt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/img/adapt.png -------------------------------------------------------------------------------- /img/conv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/img/conv.png -------------------------------------------------------------------------------- /img/work.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/img/work.png -------------------------------------------------------------------------------- /include/ode/ode_dopri_54.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_DOPRI54_H_ 2 | #define ODE_DOPRI54_H_ 3 | 4 | //! \file ode_dopri_54.h 5 | 6 | #include "ode_embedded.h" 7 | #include "ode_rk.h" 8 | #include "ode_erk.h" 9 | 10 | namespace ode { 11 | 12 | //!Popular explicit 5/4 pair from Dormand & Prince 13 | /*! 14 | Famous 5/4 pair from Dormand & Prince, also supposedly implemented as [ode45](https://www.mathworks.com/help/matlab/ref/ode45.html) in MATLAB 15 | + Dormand, John R., and Peter J. Prince. "A family of embedded Runge-Kutta formulae." Journal of computational and applied mathematics 6.1 (1980): 19-26. 16 | + https://en.wikipedia.org/wiki/Dormand%E2%80%93Prince_method 17 | */ 18 | class OdeDoPri54 : public OdeEmbedded, private OdeRK, private OdeERK { 19 | 20 | public: 21 | //!constructs 22 | /*! 23 | \param[in] neq size of ODE system 24 | */ 25 | OdeDoPri54 (unsigned long neq); 26 | 27 | private: 28 | //function for taking a single time step 29 | void step_ (double dt); 30 | //coefficents of tableau 31 | double c2, a21, 32 | c3, a31, a32, 33 | c4, a41, a42, a43, 34 | c5, a51, a52, a53, a54, 35 | c6, a61, a62, a63, a64, a65, 36 | c7, a71, a72, a73, a74, a75, a76, 37 | b1, b2, b3, b4, b5, b6, 38 | d1, d2, d3, d4, d5, d6, d7; 39 | }; 40 | 41 | } // namespace ode 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /include/ode/ode_erk.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_ERK_H_ 2 | #define ODE_ERK_H_ 3 | 4 | //! \file ode_erk.h 5 | 6 | namespace ode { 7 | 8 | //!Base class providing space for temporary solutions moving through RK stages 9 | class OdeERK { 10 | 11 | public: 12 | //!constructs 13 | /*! 14 | \param[in] neq number of equations in ODE system 15 | */ 16 | OdeERK (unsigned long neq); 17 | //destructs 18 | ~OdeERK (); 19 | 20 | protected: 21 | //!temporary solution vector 22 | double *soltemp_; 23 | }; 24 | 25 | } // namespace ode 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /include/ode/ode_euler.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_EULER_H_ 2 | #define ODE_EULER_H_ 3 | 4 | //! \file ode_euler.h 5 | 6 | #include "ode_adaptive.h" 7 | #include "ode_rk.h" 8 | 9 | namespace ode { 10 | 11 | //!The simplest runge kutta method, forward Euler's 12 | /*! 13 | + https://en.wikipedia.org/wiki/Euler_method 14 | */ 15 | class OdeEuler : public OdeAdaptive, private OdeRK { 16 | public: 17 | //!constructs 18 | /*! 19 | \param[in] neq size of ODE system 20 | */ 21 | OdeEuler (unsigned long neq); 22 | private: 23 | //take a time step 24 | void step_ (double dt); 25 | }; 26 | 27 | } // namespace ode 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /include/ode/ode_grk4a.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_GRK4A_H_ 2 | #define ODE_GRK4A_H_ 3 | 4 | //! \file ode_grk4a.h 5 | 6 | #include "ode_linalg.h" 7 | #include "ode_embedded.h" 8 | #include "ode_rosenbrock.h" 9 | 10 | namespace ode { 11 | 12 | //!Fourth-order, A-stable, adaptive Rosenbrock method from Kaps and Rentrop 13 | /*! 14 | + Kaps, Peter, and Peter Rentrop. "Generalized Runge-Kutta methods of order four with stepsize control for stiff ordinary differential equations." Numerische Mathematik 33.1 (1979): 55-68. 15 | */ 16 | class OdeGRK4A : public OdeEmbedded, private OdeRosenbrock { 17 | 18 | public: 19 | //!constructs 20 | /*! 21 | \param[in] neq size of ODE system 22 | */ 23 | OdeGRK4A (unsigned long neq); 24 | 25 | private: 26 | //function for taking a single step 27 | void step_ (double dt); 28 | //coefficients 29 | double gam21, 30 | gam31, gam32, 31 | gam41, gam42, gam43; 32 | double g21, 33 | g31, g32, 34 | g41, g42, g43; 35 | double alp21, 36 | alp31, alp32; 37 | double b1, b2, b3, b4, 38 | d1, d2, d3; 39 | 40 | }; 41 | 42 | } // namespace ode 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /include/ode/ode_io.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_IO_H_ 2 | #define ODE_IO_H_ 3 | 4 | //! \file ode_io.h 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | namespace ode { 13 | 14 | //!check if a file can be written (opened in write mode) 15 | /*! 16 | \param[in] fn desired file name 17 | */ 18 | void ode_check_write (const char *fn); 19 | 20 | //!write an array to a binary file 21 | /*! 22 | \param[in] fn file name or path 23 | \param[in] a array of values to write 24 | \param[in] n size of array or number of elements to write 25 | */ 26 | template 27 | void ode_write (char const *fn, T *a, unsigned long n) { 28 | //check that the file can be written 29 | ode_check_write(fn); 30 | //open the file 31 | FILE *ofile = fopen(fn, "wb"); 32 | //write values 33 | fwrite(a, sizeof(T), n, ofile); 34 | //close the file 35 | fclose(ofile); 36 | } 37 | 38 | //!print a message and exit with failure 39 | /*! 40 | \param[in] msg the message to print before exiting the program 41 | */ 42 | void ode_print_exit (const char *msg); 43 | 44 | //!converts an integer into a string 45 | std::string ode_int_to_string (long i); 46 | 47 | } // namespace ode 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /include/ode/ode_irk.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_IRK_H_ 2 | #define ODE_IRK_H_ 3 | 4 | namespace ode { 5 | 6 | //! \file ode_irk.h 7 | 8 | //!Provides a large vector containing the slope values of all stages with pointers to each of the individual stages 9 | class OdeIRK { 10 | public: 11 | //!constructs 12 | /*! 13 | \param[in] neq size of ODE system 14 | \param[in] nk number of RK stages 15 | */ 16 | OdeIRK (unsigned long neq, int nk); 17 | //!destructs 18 | ~OdeIRK (); 19 | protected: 20 | //!number of RK stages 21 | int nk_; 22 | //!pointer to single array storing all stage k values 23 | double *kall_; 24 | //!individual k arrays for each stage 25 | double **k_; 26 | }; 27 | 28 | } // namespace ode 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /include/ode/ode_rk.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_RK_H_ 2 | #define ODE_RK_H_ 3 | 4 | namespace ode { 5 | 6 | //! \file ode_rk.h 7 | 8 | //!Provides space for stage slope values, an array of arrays for k values 9 | class OdeRK { 10 | 11 | public: 12 | //!constructs 13 | /*! 14 | \param[in] neq size of ODE sytem 15 | \param[out] nk number of stages 16 | */ 17 | OdeRK (unsigned long neq, int nk); 18 | //!destructs 19 | ~OdeRK (); 20 | 21 | protected: 22 | //!stage evaluations 23 | double **k_; 24 | //!number of stages, or k vectors 25 | int nk_; 26 | 27 | }; 28 | 29 | } // namespace ode 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /include/ode/ode_rk_4.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_RK4_H_ 2 | #define ODE_RK4_H_ 3 | 4 | //! \file ode_rk_4.h 5 | 6 | #include "ode_adaptive.h" 7 | #include "ode_rk.h" 8 | #include "ode_erk.h" 9 | 10 | namespace ode { 11 | 12 | //!The classic Runge-Kutta 4th order method 13 | /*! 14 | + http://mathworld.wolfram.com/Runge-KuttaMethod.html 15 | */ 16 | class OdeRK4 : public OdeAdaptive, private OdeRK, private OdeERK { 17 | 18 | public: 19 | //!constructs 20 | /*! 21 | \param[in] neq size of ODE sytem 22 | */ 23 | OdeRK4 (unsigned long neq); 24 | 25 | private: 26 | //take a time step 27 | void step_ (double dt); 28 | //coefficents of tableau 29 | double c2, a21, 30 | c3, a32, 31 | c4, a43, 32 | b1, b2, b3, b4; 33 | }; 34 | 35 | } // namespace ode 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /include/ode/ode_rk_43.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_RK43_H_ 2 | #define ODE_RK43_H_ 3 | 4 | //! \file ode_rk_43.h 5 | 6 | #include "ode_embedded.h" 7 | #include "ode_rk.h" 8 | #include "ode_erk.h" 9 | 10 | namespace ode { 11 | 12 | //!This class implements a 3rd and 4th order method with the FSAL (first same as last) property 13 | class OdeRK43 : public OdeEmbedded, private OdeRK, private OdeERK { 14 | 15 | public: 16 | //!constructs 17 | /*! 18 | \param[in] neq size of ODE sytem 19 | */ 20 | OdeRK43 (unsigned long neq); 21 | 22 | private: 23 | //function for taking a single time step 24 | void step_ (double dt); 25 | //coefficents of tableau 26 | double c2, a21, 27 | c3, a31, a32, 28 | c4, a41, a42, a43, 29 | c5, a51, a52, a53, a54, 30 | b1, b2, b3, b4, 31 | d1, d2, d3, d5; 32 | }; 33 | 34 | } // namespace ode 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /include/ode/ode_rkf_32.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_RKF32_H_ 2 | #define ODE_RKF32_H_ 3 | 4 | //! \file ode_rkf_32.h 5 | 6 | #include "ode_embedded.h" 7 | #include "ode_rk.h" 8 | #include "ode_erk.h" 9 | 10 | namespace ode { 11 | 12 | //!2nd and 3rd order solver developed by Fehlberg 13 | class OdeRKF32 : public OdeEmbedded, private OdeRK, private OdeERK { 14 | 15 | public: 16 | //!constructs 17 | /*! 18 | \param[in] neq size of ODE sytem 19 | */ 20 | OdeRKF32 (unsigned long neq); 21 | 22 | private: 23 | //function for taking a single time step 24 | void step_ (double dt); 25 | //coefficents of tableau 26 | double c2, a21, 27 | c3, a31, a32, 28 | b1, b2, 29 | d1, d2, d3; 30 | }; 31 | 32 | } // namespace ode 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /include/ode/ode_rosenbrock.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_ROSENBROCK_H_ 2 | #define ODE_ROSENBROCK_H_ 3 | 4 | //! \file ode_rosenbrock.h 5 | 6 | #include "ode_linalg.h" 7 | 8 | namespace ode { 9 | 10 | //!Base class for Rosenbrock methods 11 | class OdeRosenbrock { 12 | 13 | public: 14 | //!constructs 15 | /*! 16 | \param[in] neq size of ODE sytem 17 | \param[in] nk number of stages 18 | */ 19 | OdeRosenbrock (unsigned long neq, int nk); 20 | //!destructs 21 | ~OdeRosenbrock (); 22 | 23 | protected: 24 | //!parameter multipying Jacobian or single diagonal gamma 25 | double gam; 26 | //!permutation array for LU factorization 27 | int *p_; 28 | //!right hand side of matrix equations 29 | double *rhs_; 30 | //!temporary sol vector 31 | double *soltemp_; 32 | //!stage derivatives 33 | double **k_; 34 | //!do necessary arithmetic with the Jacobian then lu factor it 35 | /*! 36 | \param[in] n size of Jacobian 37 | \param[in] Jac Jacobian matrix then LU decomposed Jacobian with modifications for Rosembrock stages 38 | \param[in] dt time step size 39 | \param[out] p permutation array for LU decomposition 40 | */ 41 | void prep_jac (double **Jac, unsigned long n, double dt, int *p); 42 | 43 | private: 44 | //number of stages 45 | int nk_; 46 | }; 47 | 48 | } // namespace ode 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /include/ode/ode_row6a.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_ROW6A_H_ 2 | #define ODE_ROW6A_H_ 3 | 4 | //! \file ode_row6a.h 5 | 6 | #include "ode_linalg.h" 7 | #include "ode_adaptive.h" 8 | #include "ode_rosenbrock.h" 9 | 10 | namespace ode { 11 | 12 | //!6th order, A-stable Rosenbrock method 13 | /*! 14 | + Kaps, Peter, and Gerhard Wanner. "A study of Rosenbrock-type methods of high order." Numerische Mathematik 38.2 (1981): 279-298. 15 | */ 16 | class OdeROW6A : public OdeAdaptive, private OdeRosenbrock { 17 | 18 | public: 19 | //!constructs 20 | /*! 21 | \param[in] neq size of ODE sytem 22 | */ 23 | OdeROW6A (unsigned long neq); 24 | 25 | private: 26 | //function for taking a single step 27 | void step_ (double dt); 28 | //coefficients 29 | double a21, 30 | a31, a32, 31 | a41, a42, a43, 32 | a51, a52, a53, a54, 33 | a61, a62, a63, a64, a65; 34 | double c21, 35 | c31, c32, 36 | c41, c42, c43, 37 | c51, c52, c53, c54, 38 | c61, c62, c63, c64, c65; 39 | double m1, m2, m3, m4, m5, m6; 40 | 41 | }; 42 | 43 | } // namespace ode 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /include/ode/ode_ssp_3.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_SSP3_H_ 2 | #define ODE_SSP3_H_ 3 | 4 | //! \file ode_ssp_3.h 5 | 6 | #include "ode_adaptive.h" 7 | #include "ode_rk.h" 8 | #include "ode_erk.h" 9 | 10 | namespace ode { 11 | 12 | //!Strong stability preserving method of order 3 13 | /*! 14 | + C. W. Shu and S. Osher, Effcient implementation of essentially nonoscillatory shock-capturing schemes, J. Comput. Phys., 77, 1988, pp. 439-471. 15 | */ 16 | class OdeSsp3 : public OdeAdaptive, private OdeRK, private OdeERK { 17 | 18 | public: 19 | //!constructs 20 | /*! 21 | \param[in] neq size of ODE sytem 22 | */ 23 | OdeSsp3 (unsigned long neq); 24 | 25 | private: 26 | //take a time step 27 | void step_ (double dt); 28 | //coefficents of tableau 29 | double c2, a21, 30 | c3, a31, a32, 31 | b1, b2, b3; 32 | }; 33 | 34 | } // namespace ode 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /include/ode/ode_trapz.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_TRAPZ_H_ 2 | #define ODE_TRAPZ_H_ 3 | 4 | //! \file ode_trapz.h 5 | 6 | #include "ode_adaptive.h" 7 | #include "ode_rk.h" 8 | #include "ode_erk.h" 9 | 10 | namespace ode { 11 | 12 | //!Second order, explicit trapezoidal rule 13 | class OdeTrapz : public OdeAdaptive, private OdeRK, private OdeERK { 14 | 15 | public: 16 | //!constructs 17 | /*! 18 | \param[in] neq size of ODE sytem 19 | */ 20 | OdeTrapz (unsigned long neq); 21 | 22 | private: 23 | //function for taking a single time step 24 | void step_ (double dt); 25 | //coefficents of tableau 26 | double c2, a21, 27 | b1, b2; 28 | }; 29 | 30 | } // namespace ode 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /include/ode/ode_util.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_UTIL_H_ 2 | #define ODE_UTIL_H_ 3 | 4 | //! \file ode_util.h 5 | 6 | #include 7 | 8 | namespace ode { 9 | 10 | //!Simple maximum of two doubles 11 | double ode_max2 (double a, double b); 12 | 13 | //!Simple minimum of two doubles 14 | double ode_min2 (double a, double b); 15 | 16 | //!Checks if two numbers are very close to each other 17 | bool ode_is_close (double a, double b, double thresh); 18 | 19 | } // namespace ode 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /include/ode/ode_vern_65.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_VERN65_H_ 2 | #define ODE_VERN65_H_ 3 | 4 | //! \file ode_vern_65.h 5 | 6 | #include "ode_embedded.h" 7 | #include "ode_rk.h" 8 | #include "ode_erk.h" 9 | 10 | namespace ode { 11 | 12 | //!Jim Verner's "most efficient" 6/5 pair 13 | /*! 14 | + http://people.math.sfu.ca/~jverner/ 15 | */ 16 | class OdeVern65 : public OdeEmbedded, private OdeRK, private OdeERK { 17 | 18 | public: 19 | //!constructs 20 | /*! 21 | \param[in] neq size of ODE sytem 22 | */ 23 | OdeVern65 (unsigned long neq); 24 | 25 | private: 26 | //function for taking a single time step 27 | void step_ (double dt); 28 | //coefficents of tableau 29 | double c2, a21, 30 | c3, a31, a32, 31 | c4, a41, a43, 32 | c5, a51, a53, a54, 33 | c6, a61, a63, a64, a65, 34 | c7, a71, a73, a74, a75, a76, 35 | c8, a81, a83, a84, a85, a86, a87, 36 | c9, a91, a94, a95, a96, a97, a98, 37 | b1, b4, b5, b6, b7, b8, 38 | d1, d4, d5, d6, d8, d9; 39 | }; 40 | 41 | } // namespace ode 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /include/ode/ode_vern_76.h: -------------------------------------------------------------------------------- 1 | #ifndef ODE_VERN76_H_ 2 | #define ODE_VERN76_H_ 3 | 4 | //! \file ode_vern_76.h 5 | 6 | #include "ode_embedded.h" 7 | #include "ode_rk.h" 8 | #include "ode_erk.h" 9 | 10 | namespace ode { 11 | 12 | //!Jim Verner's "most efficient" 7/6 pair 13 | /*! 14 | + http://people.math.sfu.ca/~jverner/ 15 | */ 16 | class OdeVern76 : public OdeEmbedded, private OdeRK, private OdeERK { 17 | 18 | public: 19 | //!constructs 20 | /*! 21 | \param[in] neq size of ODE sytem 22 | */ 23 | OdeVern76 (unsigned long neq); 24 | 25 | private: 26 | //function for taking a single time step 27 | void step_ (double dt); 28 | //coefficents of tableau 29 | double c2, a21, 30 | c3, a31, a32, 31 | c4, a41, a43, 32 | c5, a51, a53, a54, 33 | c6, a61, a63, a64, a65, 34 | c7, a71, a73, a74, a75, a76, 35 | c8, a81, a83, a84, a85, a86, a87, 36 | c9, a91, a93, a94, a95, a96, a97, a98, 37 | c10, a101, a103, a104, a105, a106, a107, 38 | b1, b4, b5, b6, b7, b8, b9, 39 | d1, d4, d5, d6, d7, d10; 40 | }; 41 | 42 | } // namespace ode 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /obj/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/obj/.keep -------------------------------------------------------------------------------- /out/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/markmbaum/libode/2d8ac5b687f5eac789670eba171b23c88ecbb4e5/out/.keep -------------------------------------------------------------------------------- /run_cmake.sh: -------------------------------------------------------------------------------- 1 | cd build 2> /dev/null || cd ../build || mkdir -p build && cd build 2> /dev/null 2 | cd ../build 3 | rm -rf ../build/* 4 | cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME/install .. 5 | cmake --build . 6 | make install 7 | cpack -G TGZ 8 | # cpack -G RPM 9 | # cpack -G DEB 10 | # dpkg -c *.deb 11 | 12 | 13 | -------------------------------------------------------------------------------- /run_examples.sh: -------------------------------------------------------------------------------- 1 | : ' 2 | This short bash/shell script will compile and run all the ODE system examples 3 | ' 4 | 5 | function example { 6 | cwd=$(pwd) 7 | cd ${1} 8 | ./run.sh 9 | cd $cwd 10 | } 11 | 12 | example examples/burgers 13 | example examples/double-pendulum 14 | example examples/lorentz 15 | example examples/nonlinear-diffusion 16 | example examples/star-dynamics 17 | example examples/swarmalator 18 | -------------------------------------------------------------------------------- /run_tests.sh: -------------------------------------------------------------------------------- 1 | : ' 2 | This short bash/shell script runs all the tests! 3 | ' 4 | 5 | function test { 6 | 7 | printf "\n--------------------------------------------------------------------------------\n" 8 | echo "RUNNING TEST:" ${1} 9 | printf "\n" 10 | ./bin/test_${1}.exe 11 | } 12 | 13 | for test in adapt all conv fixed linalg newton snaps stiff work 14 | do 15 | test $test 16 | done 17 | -------------------------------------------------------------------------------- /scripts/plot_conv.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | 4 | #plt.rc('font', family='serif') 5 | #plt.rc('text', usetex=True) 6 | 7 | sol1err = np.fromfile('../out/sol1err') 8 | sol2err = np.fromfile('../out/sol2err') 9 | L2err = np.sqrt(sol2err**2 + sol1err**2) 10 | h = np.fromfile('../out/h') 11 | x = np.sort(h) 12 | 13 | fig, ax = plt.subplots(1,1) 14 | 15 | for i in range(1,10): 16 | hh = np.logspace(np.log10(min(h)), np.log10(max(h)), 2500) 17 | b = np.log10(L2err[0]/(10**(i*np.log10(h[0])))) 18 | y = 10**(i*np.log10(hh) + b) 19 | mask = (y > min(L2err)) 20 | hh = hh[mask] 21 | y = y[mask] 22 | ax.loglog(hh, y, ':', label='$\propto (\Delta t)^{%d}$' % i) 23 | ax.text(min(hh), min(y), str(i), ha='right', va='bottom') 24 | 25 | ax.loglog(h, L2err, 'k.', label='results') 26 | ax.set_xlabel('step size $(\Delta t)$') 27 | ax.set_ylabel('$l_2$ error') 28 | ax.legend() 29 | ax.set_title('Convergence Test') 30 | 31 | plt.tight_layout() 32 | plt.show() 33 | -------------------------------------------------------------------------------- /scripts/plot_fixed.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | 4 | #Dahlquist test 5 | #sol1ex = lambda t: np.exp(-t) 6 | #sol2ex = lambda t: np.exp(-2*t) 7 | #name = 'Dahl' 8 | 9 | #oscillator 1 10 | sol1ex = lambda t: np.cos(t**2/2) 11 | sol2ex = lambda t: np.sin(t**2/2) 12 | name = 'Osc1' 13 | 14 | #oscillator 2 15 | #sol1ex = lambda t: np.exp(np.sin(t**2)) 16 | #sol2ex = lambda t: np.exp(np.cos(t**2)) 17 | #name = 'Osc2' 18 | 19 | t = np.fromfile('../out/%s_t' % name) 20 | sol1 = np.fromfile('../out/%s_0' % name) 21 | sol2 = np.fromfile('../out/%s_1' % name) 22 | 23 | fig, axs = plt.subplots(2, 3, figsize=(10,5)) 24 | axs = [item for sublist in axs for item in sublist] 25 | 26 | tdense = np.linspace(min(t), max(t), 10000) 27 | axs[0].plot(tdense, sol1ex(tdense), label='$y_1$ exact') 28 | axs[0].plot(t, sol1, ':', label='$y_1$ numerical') 29 | axs[0].set_title('Solutions') 30 | axs[0].set_ylabel('$y_1$') 31 | axs[0].legend() 32 | 33 | axs[3].plot(tdense, sol2ex(tdense), label='$y_2$ exact') 34 | axs[3].plot(t, sol2, ':', label='$y_2$ numerical') 35 | axs[3].set_ylabel('$y_2$') 36 | axs[3].legend() 37 | 38 | axs[1].semilogy(t, np.abs(sol1 - sol1ex(t)), label='$y_1$ abs err') 39 | axs[4].semilogy(t, np.abs(sol2 - sol2ex(t)), label='$y_2$ abs err') 40 | axs[1].set_title('Absolute Error') 41 | 42 | axs[2].semilogy(t, np.abs((sol1 - sol1ex(t))/sol1ex(t)), label='$y_1$ rel err') 43 | axs[5].semilogy(t, np.abs((sol2 - sol2ex(t))/sol1ex(t)), label='$y_2$ rel err') 44 | axs[2].set_title('Relative Error') 45 | 46 | plt.tight_layout() 47 | plt.show() 48 | -------------------------------------------------------------------------------- /scripts/plot_stiff.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | 4 | #plt.rc('font', family='serif') 5 | #plt.rc('text', usetex=True) 6 | 7 | name = "Brus" 8 | 9 | t = np.fromfile('../out/%s_t' % name) 10 | sol1 = np.fromfile('../out/%s_0' % name) 11 | sol2 = np.fromfile('../out/%s_1' % name) 12 | 13 | fig, axs = plt.subplots(3, 1, figsize=(10,5)) 14 | 15 | axs[0].plot(t, sol1) 16 | axs[0].set_ylabel('$y_1$') 17 | 18 | axs[1].plot(t, sol2) 19 | axs[1].set_ylabel('$y_2$') 20 | 21 | axs[2].plot(t[:-2], np.diff(t)[:-1]) 22 | axs[2].set_ylabel('$\Delta t$') 23 | axs[2].set_xlabel('$t$') 24 | 25 | plt.tight_layout() 26 | plt.show() 27 | -------------------------------------------------------------------------------- /scripts/plot_work.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | 4 | #plt.rc('font', family='serif') 5 | #plt.rc('text', usetex=True) 6 | 7 | def plot_work(name): 8 | sol1e = np.fromfile('../out/sol1err_' + name) 9 | sol2e = np.fromfile('../out/sol2err_' + name) 10 | f = np.fromfile('../out/neval_' + name) 11 | ax1.loglog(sol1e, f, label=name) 12 | ax2.loglog(sol2e, f, label=name) 13 | ax3.loglog(np.sqrt(sol2e**2 + sol1e**2), f, label=name) 14 | 15 | 16 | fig1, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5)) 17 | fig2, ax3 = plt.subplots(1, 1, figsize=(8,5)) 18 | 19 | plot_work('Euler') 20 | plot_work('Trapz') 21 | plot_work('Ssp3') 22 | plot_work('RK4') 23 | plot_work('DoPri54') 24 | plot_work('Vern65') 25 | plot_work('Vern76') 26 | plot_work('DoPri87') 27 | plot_work('Vern98') 28 | 29 | ax1.set_title('$y_1$') 30 | ax1.set_xlabel('Error') 31 | ax1.set_ylabel('Function Evaluations') 32 | ax1.invert_xaxis() 33 | ax1.legend() 34 | 35 | ax2.set_title('$y_2$') 36 | ax2.set_xlabel('Error') 37 | ax2.invert_xaxis() 38 | ax2.legend() 39 | 40 | ax3.set_title('Accuracy vs Function Calls for Different Methods') 41 | ax3.set_xlabel('Precision ($l_2$ Error)') 42 | ax3.set_ylabel('Function Evaluations') 43 | ax3.invert_xaxis() 44 | #box = ax3.get_position() 45 | #ax3.set_position([box.x0, box.y0, box.width * 0.85, box.height]) 46 | ax3.legend()#loc='center left', bbox_to_anchor=(1, 0.5)) 47 | 48 | plt.show() 49 | -------------------------------------------------------------------------------- /src/ode_erk.cc: -------------------------------------------------------------------------------- 1 | //! \file ode_erk.cc 2 | 3 | #include "ode_erk.h" 4 | 5 | namespace ode { 6 | 7 | OdeERK::OdeERK (unsigned long neq) { 8 | 9 | //temporary solution vector 10 | soltemp_ = new double[neq]; 11 | } 12 | 13 | //destructor 14 | OdeERK::~OdeERK () { 15 | delete [] soltemp_; 16 | } 17 | 18 | } // namespace ode 19 | -------------------------------------------------------------------------------- /src/ode_euler.cc: -------------------------------------------------------------------------------- 1 | //! \file ode_euler.cc 2 | 3 | #include "ode_euler.h" 4 | 5 | namespace ode { 6 | 7 | OdeEuler::OdeEuler (unsigned long neq) : 8 | OdeAdaptive(neq, false), 9 | OdeRK (neq, 1) { 10 | 11 | method_ = "Euler"; 12 | } 13 | 14 | void OdeEuler::step_ (double dt) { 15 | 16 | //index 17 | unsigned long i; 18 | //compute slope 19 | ode_fun_(sol_, k_[0]); 20 | //compute solution 21 | for (i=0; i b) return(a); 9 | return(b); 10 | } 11 | 12 | double ode_min2 (double a, double b) { 13 | if (a < b) return(a); 14 | return(b); 15 | } 16 | 17 | bool ode_is_close (double a, double b, double thresh) { 18 | 19 | //get magnitudes 20 | double absa = fabs(a); 21 | double absb = fabs(b); 22 | double absd = fabs(a - b); 23 | //check relative differnence against a threshold 24 | if ((absd/absa < thresh) && (absd/absb < thresh)) 25 | return(true); 26 | //otherwise the numbers aren't close 27 | return(false); 28 | } 29 | 30 | } // namespace ode 31 | -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- 1 | : ' 2 | This short bash/shell script compiles (if necessary) and runs one of the test 3 | programs, then plots the results by running the appropriate python script. 4 | ' 5 | 6 | #take a command line arg 7 | test=$1 8 | #compile test programs 9 | make tests 10 | #clear the output directory 11 | python clean.py out 12 | #run the desired test program 13 | ./bin/test_${test}.exe 14 | #switch to scripts dir and plot the result 15 | cd scripts 16 | python plot_${test}.py 17 | #back to home dir 18 | cd .. 19 | #clear the output directory 20 | python clean.py out 21 | -------------------------------------------------------------------------------- /tests/test_adapt.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "test_systems.h" 4 | 5 | using namespace ode; 6 | 7 | int main () { 8 | 9 | //choose an integration time 10 | double tint = 5; 11 | //choose which system and solver to use 12 | Osc2 sys; 13 | //choose error tolerance 14 | sys.set_tol(1e-6); 15 | 16 | printf("Solving system '%s' with method '%s'\n", 17 | sys.get_name(), sys.get_method()); 18 | sys.solve_adaptive(tint, tint/10.0, "out", 1); 19 | printf("%lu function evaluations, %lu steps, %lu rejected steps\n", 20 | sys.get_neval(), 21 | sys.get_nstep(), 22 | sys.get_nrej()); 23 | 24 | return(0); 25 | } 26 | -------------------------------------------------------------------------------- /tests/test_fixed.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "test_systems.h" 4 | 5 | using namespace ode; 6 | 7 | int main () { 8 | 9 | //choose an integration time 10 | double tint = 5; 11 | //time step 12 | double dt = 0.05; 13 | //choose which system and solver to use 14 | Osc1 sys; 15 | 16 | printf("Solving system '%s' with method '%s'\n", 17 | sys.get_name(), 18 | sys.get_method()); 19 | sys.solve_fixed(tint, dt, "out", 1); 20 | printf("%lu function evaluations, %lu steps\n", 21 | sys.get_neval(), 22 | sys.get_nstep()); 23 | 24 | return(0); 25 | } 26 | -------------------------------------------------------------------------------- /tests/test_snaps.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "test_systems.h" 4 | 5 | using namespace ode; 6 | 7 | int main () { 8 | 9 | //choose an integration time 10 | double tint = 5; 11 | //time step 12 | double dt = tint/1000.0; 13 | //choose the number of snaps 14 | int nsnap = 5; 15 | //choose which system and solver to use 16 | Osc1 sys; 17 | 18 | double *tsnap = new double[5]; 19 | tsnap[0] = 1.1; 20 | tsnap[1] = 2.22; 21 | tsnap[2] = 3; 22 | tsnap[3] = 3.14; 23 | tsnap[4] = 4.9; 24 | 25 | printf("Solving system '%s' with method '%s'\n", 26 | sys.get_name(), 27 | sys.get_method()); 28 | 29 | /* solve with evenly spaced snaps */ 30 | //sys.solve_adaptive(tint, dt, nsnap, "out"); 31 | 32 | /* solve with snap times from tsnap */ 33 | sys.solve_adaptive(dt, tsnap, nsnap, "out"); 34 | 35 | printf("%lu function evaluations, %lu steps\n", 36 | sys.get_neval(), 37 | sys.get_nstep()); 38 | 39 | delete [] tsnap; 40 | return(0); 41 | } 42 | -------------------------------------------------------------------------------- /tests/test_stiff.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "test_systems.h" 4 | 5 | using namespace ode; 6 | 7 | int main () { 8 | 9 | //choose an integration time 10 | double tint = 50; 11 | //time step 12 | double dt = 0.01; 13 | //choose which system and solver to use 14 | Brus sys; 15 | //sys.set_tol(1e-3); 16 | 17 | printf("Solving system '%s' with method '%s'\n", 18 | sys.get_name(), sys.get_method()); 19 | sys.solve_adaptive(tint, dt, "out", 1); 20 | printf("%lu function evaluations\n", sys.get_neval()); 21 | printf("%lu steps\n", sys.get_nstep()); 22 | printf("%lu rejected steps\n", sys.get_nrej()); 23 | printf("%lu ODE Jacobian evaluations\n", sys.get_nJac()); 24 | printf("%lu Newton JLU updates (LU decompositions)\n", sys.get_newton()->get_nJLU()); 25 | printf("%lu Newton LU solves (matrix equation solves)\n", sys.get_newton()->get_n_solve_LU()); 26 | 27 | return(0); 28 | } 29 | -------------------------------------------------------------------------------- /todo.txt: -------------------------------------------------------------------------------- 1 | TODO 2 | 3 | Improvements to make if it's ever worth the time 4 | 5 | 1. Good and robust adaptive step sizing for implicit methods 6 | 2. Handling non-convergence of Newton's method(s) with implicit methods. The Newton solver can return a code indicating success/failure. Code was modified to do that in other repositories. If failure, do what though? Take a smaller step? 7 | 3. Initial guess of k values for nonlinear solves in implicit methods. 8 | 4. L-stable Rosenbrock method. 9 | 5. Look into extra steps taken when snapping in an adaptive solves. 10 | 5. Tridiagonal Jacobian support? The matrix routine is already in `linalg.cc` but there isn't a way to access it with implicit methods. 11 | --------------------------------------------------------------------------------