Ticket #7835: fix_typo_in_odeint.patch
File fix_typo_in_odeint.patch, 93.4 KB (added by , 10 years ago) |
---|
-
boost/numeric/odeint/external/mtl4/mtl4_resize.hpp
127 127 128 128 129 129 } // namespace odeint 130 } // names apce numeric130 } // namespace numeric 131 131 } // namespace boost 132 132 133 133 #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_MTL4_RESIZE_HPP_INCLUDED -
boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp
116 116 117 117 118 118 /* 119 Applying approximate itera ctive linear solvers119 Applying approximate iterative linear solvers 120 120 default solver is Biconjugate gradient stabilized method 121 121 itl::bicgstab(A, x, b, L, iter); 122 122 */ -
boost/numeric/odeint/external/mkl/mkl_operations.hpp
28 28 /* exemplary example for writing bindings to the Intel MKL library 29 29 * see test/mkl for how to use mkl with odeint 30 30 * this is a quick and dirty implementation showing the general possibility. 31 * It works only with containers based on double and sequenti el memory allocation.31 * It works only with containers based on double and sequential memory allocation. 32 32 */ 33 33 34 34 namespace boost { -
boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp
69 69 70 70 71 71 /* 72 * classical integrate ad pative72 * classical integrate adaptive 73 73 */ 74 74 template< class Stepper , class System , class State , class Time , class Observer > 75 75 size_t integrate_adaptive( -
boost/numeric/odeint/integrate/integrate_n_steps.hpp
106 106 * \param system Function/Functor defining the rhs of the ODE. 107 107 * \param start_state The initial condition x0. 108 108 * \param start_time The initial time t0. 109 * \param dt The time step between observer calls, _not_ nec cessarily the109 * \param dt The time step between observer calls, _not_ necessarily the 110 110 * time step of the integration. 111 111 * \param num_of_steps Number of steps to be performed 112 112 * \param observer Function/Functor called at equidistant time intervals. -
boost/numeric/odeint/integrate/integrate_adaptive.hpp
102 102 * 103 103 * This function integrates the ODE given by system with the given stepper. 104 104 * The observer is called after each step. If the stepper has no error 105 * control, the step size remains constant and the observer is called aat105 * control, the step size remains constant and the observer is called at 106 106 * equidistant time points t0+n*dt. If the stepper is a ControlledStepper, 107 107 * the step size is adjusted and the observer is called in non-equidistant 108 108 * intervals. … … 112 112 * \param start_state The initial condition x0. 113 113 * \param start_time The initial time t0. 114 114 * \param end_time The final integration time tend. 115 * \param dt The time step between observer calls, _not_ nec cessarily the115 * \param dt The time step between observer calls, _not_ necessarily the 116 116 * time step of the integration. 117 117 * \param observer Function/Functor called at equidistant time intervals. 118 118 * \return The number of steps performed. -
boost/numeric/odeint/integrate/integrate.hpp
59 59 * \brief Integrates the ODE. 60 60 * 61 61 * Integrates the ODE given by system from start_time to end_time starting 62 * with start_state as initial cond tition and dt as initial time step.62 * with start_state as initial condition and dt as initial time step. 63 63 * This function uses a dense output dopri5 stepper and performs an adaptive 64 64 * integration with step size control, thus dt changes during the integration. 65 65 * This method uses standard error bounds of 1E-6. … … 70 70 * \param start_state The initial state. 71 71 * \param start_time Start time of the integration. 72 72 * \param end_time End time of the integration. 73 * \param dt Initial step size, will be adjusted durin fthe integration.73 * \param dt Initial step size, will be adjusted during the integration. 74 74 * \param observer Observer that will be called after each time step. 75 75 * \return The number of steps performed. 76 76 */ … … 81 81 * \brief Integrates the ODE without observer calls. 82 82 * 83 83 * Integrates the ODE given by system from start_time to end_time starting 84 * with start_state as initial cond tition and dt as initial time step.84 * with start_state as initial condition and dt as initial time step. 85 85 * This function uses a dense output dopri5 stepper and performs an adaptive 86 86 * integration with step size control, thus dt changes during the integration. 87 87 * This method uses standard error bounds of 1E-6. … … 92 92 * \param start_state The initial state. 93 93 * \param start_time Start time of the integration. 94 94 * \param end_time End time of the integration. 95 * \param dt Initial step size, will be adjusted durin fthe integration.95 * \param dt Initial step size, will be adjusted during the integration. 96 96 * \return The number of steps performed. 97 97 */ 98 98 -
boost/numeric/odeint/integrate/integrate_times.hpp
114 114 * \param start_state The initial condition x0. 115 115 * \param times_start Iterator to the start time 116 116 * \param times_end Iterator to the end time 117 * \param dt The time step between observer calls, _not_ nec cessarily the117 * \param dt The time step between observer calls, _not_ necessarily the 118 118 * time step of the integration. 119 119 * \param observer Function/Functor called at equidistant time intervals. 120 120 * \return The number of steps performed. -
boost/numeric/odeint/integrate/integrate_const.hpp
141 141 * \param start_state The initial condition x0. 142 142 * \param start_time The initial time t0. 143 143 * \param end_time The final integration time tend. 144 * \param dt The time step between observer calls, _not_ nec cessarily the144 * \param dt The time step between observer calls, _not_ necessarily the 145 145 * time step of the integration. 146 146 * \param observer Function/Functor called at equidistant time intervals. 147 147 * \return The number of steps performed. -
boost/numeric/odeint/stepper/rosenbrock4.hpp
167 167 template< class System > 168 168 void do_step( System system , const state_type &x , time_type t , state_type &xout , time_type dt , state_type &xerr ) 169 169 { 170 // get the syste nand jacobi function170 // get the system and jacobi function 171 171 typedef typename odeint::unwrap_reference< System >::type system_type; 172 172 typedef typename odeint::unwrap_reference< typename system_type::first_type >::type deriv_func_type; 173 173 typedef typename odeint::unwrap_reference< typename system_type::second_type >::type jacobi_func_type; -
boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp
114 114 115 115 for( unsigned short i = 0; i < m_k_max+1; i++ ) 116 116 { 117 /* only this specific sequence allows for dense ou put */117 /* only this specific sequence allows for dense output */ 118 118 m_interval_sequence[i] = 2 + 4*i; // 2 6 10 14 ... 119 119 m_derivs[i].resize( m_interval_sequence[i] ); 120 120 if( i == 0 ) … … 696 696 * The Bulirsch-Stoer is a controlled stepper that adjusts both step size 697 697 * and order of the method. The algorithm uses the modified midpoint and 698 698 * a polynomial extrapolation compute the solution. This class also provides 699 * dense out out facility.699 * dense output facility. 700 700 * 701 701 * \tparam State The state type. 702 702 * \tparam Value The value type. … … 729 729 * step size dt is reduced. If the error estimate is acceptably small, the 730 730 * step is performed, success is returned and dt might be increased to make 731 731 * the steps as large as possible. This method also updates t if a step is 732 * performed. Also, the internal order of the stepper is adjusted if requ ried.732 * performed. Also, the internal order of the stepper is adjusted if required. 733 733 * 734 734 * \param system The system function to solve, hence the r.h.s. of the ODE. 735 * It must ful lfil the Simple System concept.735 * It must fulfill the Simple System concept. 736 736 * \param in The state of the ODE which should be solved. 737 737 * \param dxdt The derivative of state. 738 * \param t The value of the time. Updated if the step is successful l.738 * \param t The value of the time. Updated if the step is successful. 739 739 * \param out Used to store the result of the step. 740 740 * \param dt The step size. Updated. 741 741 * \return success if the step was accepted, fail otherwise. … … 755 755 * \brief Does one time step. This is the main method that should be used to 756 756 * integrate an ODE with this stepper. 757 757 * \note initialize has to be called before using this method to set the 758 * init al conditions x,t and the stepsize.758 * initial conditions x,t and the stepsize. 759 759 * \param system The system function to solve, hence the r.h.s. of the 760 * ordinary differential equation. It must ful lfil the Simple System concept.760 * ordinary differential equation. It must fulfill the Simple System concept. 761 761 * \return Pair with start and end time of the integration step. 762 762 */ 763 763 764 764 /** 765 765 * \fn bulirsch_stoer_dense_out::calc_state( time_type t , StateOut &x ) const 766 * \brief Calculates the solution at an intermediate point within the las step766 * \brief Calculates the solution at an intermediate point within the last step 767 767 * \param t The time at which the solution should be calculated, has to be 768 768 * in the current time interval. 769 769 * \param x The output variable where the result is written into. -
boost/numeric/odeint/stepper/controlled_step_result.hpp
31 31 typedef enum 32 32 { 33 33 success , /**< The trial step was successful, hence the state and the time have been advanced. */ 34 fail /**< The step was not succes ful and might possibly be repeated with a small step size. */34 fail /**< The step was not successful and might possibly be repeated with a small step size. */ 35 35 } controlled_step_result; 36 36 37 37 } // namespace odeint -
boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp
125 125 126 126 /** 127 127 * \class symplectic_rkn_sb3a_mclachlan 128 * \brief Implement of the sym etric B3A method of Runge-Kutta-Nystroem method of sixth order.128 * \brief Implement of the symmetric B3A method of Runge-Kutta-Nystroem method of sixth order. 129 129 * 130 130 * The method is of fourth order and has six stages. It is described HERE. This method cannot be used 131 131 * with multiprecision types since the coefficients are not defined analytically. … … 135 135 * \tparam Order The order of the stepper. 136 136 * \tparam Coor The type representing the coordinates q. 137 137 * \tparam Momentum The type representing the coordinates p. 138 * \tparam Value The basic value type. Should be somethin klike float, double or a high-precision type.138 * \tparam Value The basic value type. Should be something like float, double or a high-precision type. 139 139 * \tparam CoorDeriv The type representing the time derivative of the coordinate dq/dt. 140 140 * \tparam MomemtnumDeriv The type representing the time derivative of the momentum dp/dt. 141 141 * \tparam Time The type representing the time t. -
boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp
130 130 * \tparam Order The order of the stepper. 131 131 * \tparam Coor The type representing the coordinates q. 132 132 * \tparam Momentum The type representing the coordinates p. 133 * \tparam Value The basic value type. Should be somethin klike float, double or a high-precision type.133 * \tparam Value The basic value type. Should be something like float, double or a high-precision type. 134 134 * \tparam CoorDeriv The type representing the time derivative of the coordinate dq/dt. 135 135 * \tparam MomemtnumDeriv The type representing the time derivative of the momentum dp/dt. 136 136 * \tparam Time The type representing the time t. -
boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp
164 164 * See also 165 165 * <a href="http://en.wikipedia.org/wiki/Linear_multistep_method">en.wikipedia.org/wiki/Linear_multistep_method</a>. 166 166 * Currently, a maximum of Steps=8 is supported. 167 * The method is explicit and ful lfils the Stepper concept. Step size control168 * or contin ous output are not provided.167 * The method is explicit and fulfills the Stepper concept. Step size control 168 * or continuous output are not provided. 169 169 * 170 170 * This class derives from algebra_base and inherits its interface via 171 171 * CRTP (current recurring template pattern). For more details see … … 199 199 * \fn adams_bashforth_moulton::do_step( System system , StateInOut &x , time_type t , time_type dt ) 200 200 * \brief This method performs one step. It transforms the result in-place. 201 201 * 202 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the202 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 203 203 * Simple System concept. 204 204 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 205 205 * \param t The value of the time, at which the step should be performed. … … 211 211 * \fn adams_bashforth_moulton::do_step( System system , const StateIn &in , time_type t , const StateOut &out , time_type dt ) 212 212 * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. 213 213 * 214 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the214 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 215 215 * Simple System concept. 216 216 * \param in The state of the ODE which should be solved. in is not modified in this method 217 217 * \param t The value of the time, at which the step should be performed. … … 230 230 * \brief Initialized the stepper. Does Steps-1 steps with the explicit_stepper to fill the buffer. 231 231 * \note The state x and time t are updated to the values after Steps-1 initial steps. 232 232 * \param explicit_stepper the stepper used to fill the buffer of previous step results 233 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the233 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 234 234 * Simple System concept. 235 235 * \param x The initial state of the ODE which should be solved, updated after in this method. 236 236 * \param t The initial time, updated in this method. … … 241 241 * \fn adams_bashforth_moulton::initialize( System system , StateIn &x , time_type &t , time_type dt ) 242 242 * \brief Initialized the stepper. Does Steps-1 steps using the standard initializing stepper 243 243 * of the underlying adams_bashforth stepper. 244 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the244 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 245 245 * Simple System concept. 246 246 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 247 247 * \param t The value of the time, at which the step should be performed. -
boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp
341 341 * \brief The Runge-Kutta Fehlberg 78 method. 342 342 * 343 343 * The Runge-Kutta Fehlberg 78 method is a standard method for high-precision applications. 344 * The method is explicit and ful lfils the Error Stepper concept. Step size control345 * is provided but contin ous output is not available for this method.344 * The method is explicit and fulfills the Error Stepper concept. Step size control 345 * is provided but continuous output is not available for this method. 346 346 * 347 347 * This class derives from explicit_error_stepper_base and inherits its interface via CRTP (current recurring template pattern). 348 348 * Furthermore, it derivs from explicit_error_generic_rk which is a generic Runge-Kutta algorithm with error estimation. -
boost/numeric/odeint/stepper/symplectic_euler.hpp
110 110 * \tparam Order The order of the stepper. 111 111 * \tparam Coor The type representing the coordinates q. 112 112 * \tparam Momentum The type representing the coordinates p. 113 * \tparam Value The basic value type. Should be somethin klike float, double or a high-precision type.113 * \tparam Value The basic value type. Should be something like float, double or a high-precision type. 114 114 * \tparam CoorDeriv The type representing the time derivative of the coordinate dq/dt. 115 115 * \tparam MomemtnumDeriv The type representing the time derivative of the momentum dp/dt. 116 116 * \tparam Time The type representing the time t. -
boost/numeric/odeint/stepper/explicit_generic_rk.hpp
221 221 * Access to this step functionality is provided by explicit_stepper_base and 222 222 * `do_step_impl` should not be called directly. 223 223 * 224 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the224 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 225 225 * Simple System concept. 226 226 * \param in The state of the ODE which should be solved. in is not modified in this method 227 227 * \param dxdt The derivative of x at t. -
boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp
255 255 const value_type b7_theta = B + C * X7; 256 256 257 257 // const state_type &k1 = *m_old_deriv; 258 // onst state_type &k3 = dopri5().m_k3;258 // const state_type &k3 = dopri5().m_k3; 259 259 // const state_type &k4 = dopri5().m_k4; 260 260 // const state_type &k5 = dopri5().m_k5; 261 261 // const state_type &k6 = dopri5().m_k6; … … 314 314 * 315 315 * The Runge-Kutta Dormand-Prince 5 method is a very popular method for solving ODEs, see 316 316 * <a href=""></a>. 317 * The method is explicit and ful lfils the Error Stepper concept. Step size control318 * is provided but contin ous output is available which make this method favourable for many applications.317 * The method is explicit and fulfills the Error Stepper concept. Step size control 318 * is provided but continuous output is available which make this method favourable for many applications. 319 319 * 320 320 * This class derives from explicit_error_stepper_fsal_base and inherits its interface via CRTP (current recurring 321 321 * template pattern). The method possesses the FSAL (first-same-as-last) property. See … … 347 347 * Access to this step functionality is provided by explicit_error_stepper_fsal_base and 348 348 * `do_step_impl` should not be called directly. 349 349 * 350 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the350 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 351 351 * Simple System concept. 352 352 * \param in The state of the ODE which should be solved. in is not modified in this method 353 353 * \param dxdt_in The derivative of x at t. dxdt_in is not modified by this method … … 367 367 * `do_step_impl` should not be called directly. 368 368 * An estimation of the error is calculated. 369 369 * 370 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the370 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 371 371 * Simple System concept. 372 372 * \param in The state of the ODE which should be solved. in is not modified in this method 373 373 * \param dxdt_in The derivative of x at t. dxdt_in is not modified by this method … … 380 380 381 381 /** 382 382 * \fn runge_kutta_dopri5::calc_state( time_type t , StateOut &x , const StateIn1 &x_old , const DerivIn1 &deriv_old , time_type t_old , const StateIn2 & , const DerivIn2 &deriv_new , time_type t_new ) const 383 * \brief This method is used for contin ous output and it calculates the state `x` at a time `t` from the383 * \brief This method is used for continuous output and it calculates the state `x` at a time `t` from the 384 384 * knowledge of two states `old_state` and `current_state` at time points `t_old` and `t_new`. It also uses 385 385 * internal variables to calculate the result. Hence this method must be called after two successful `do_step` 386 386 * calls. -
boost/numeric/odeint/stepper/euler.hpp
106 106 * 107 107 * The Euler method is a very simply solver for ordinary differential equations. This method should not be used 108 108 * for real applications. It is only useful for demonstration purposes. Step size control is not provided but 109 * trivial contin ous output is available.109 * trivial continuous output is available. 110 110 * 111 111 * This class derives from explicit_stepper_base and inherits its interface via CRTP (current recurring template pattern), 112 112 * see explicit_stepper_base … … 134 134 * Access to this step functionality is provided by explicit_stepper_base and 135 135 * `do_step_impl` should not be called directly. 136 136 * 137 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the137 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 138 138 * Simple System concept. 139 139 * \param in The state of the ODE which should be solved. in is not modified in this method 140 140 * \param dxdt The derivative of x at t. … … 146 146 147 147 /** 148 148 * \fn euler::calc_state( StateOut &x , time_type t , const StateIn1 &old_state , time_type t_old , const StateIn2 ¤t_state , time_type t_new ) const 149 * \brief This method is used for contin ous output and it calculates the state `x` at a time `t` from the149 * \brief This method is used for continuous output and it calculates the state `x` at a time `t` from the 150 150 * knowledge of two states `old_state` and `current_state` at time points `t_old` and `t_new`. 151 151 */ 152 152 -
boost/numeric/odeint/stepper/runge_kutta4.hpp
148 148 * The Runge-Kutta method of fourth order is one standard method for 149 149 * solving ordinary differential equations and is widely used, see also 150 150 * <a href="http://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods">en.wikipedia.org/wiki/Runge-Kutta_methods</a> 151 * The method is explicit and ful lfils the Stepper concept. Step size control152 * or contin ous output are not provided.151 * The method is explicit and fulfills the Stepper concept. Step size control 152 * or continuous output are not provided. 153 153 * 154 154 * This class derives from explicit_stepper_base and inherits its interface via CRTP (current recurring template pattern). 155 155 * Furthermore, it derivs from explicit_generic_rk which is a generic Runge-Kutta algorithm. For more details see -
boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp
199 199 * The Runge-Kutta Cash-Karp method is one of the standard methods for 200 200 * solving ordinary differential equations, see 201 201 * <a href="http://en.wikipedia.org/wiki/Cash%E2%80%93Karp_methods">en.wikipedia.org/wiki/Cash-Karp_methods</a>. 202 * The method is explicit and ful lfils the Error Stepper concept. Step size control203 * is provided but contin ous output is not available for this method.202 * The method is explicit and fulfills the Error Stepper concept. Step size control 203 * is provided but continuous output is not available for this method. 204 204 * 205 205 * This class derives from explicit_error_stepper_base and inherits its interface via CRTP (current recurring template pattern). 206 206 * Furthermore, it derivs from explicit_error_generic_rk which is a generic Runge-Kutta algorithm with error estimation. -
boost/numeric/odeint/stepper/controlled_runge_kutta.hpp
132 132 * This class implements the step size control for standard Runge-Kutta 133 133 * steppers with error estimation. 134 134 * 135 * \tparam ErrorStepper The stepper type with error estimation, has to ful lfill the ErrorStepper concept.135 * \tparam ErrorStepper The stepper type with error estimation, has to fulfill the ErrorStepper concept. 136 136 * \tparam ErrorChecker The error checker 137 137 * \tparam Resizer The resizer policy type. 138 138 */ … … 194 194 * the steps as large as possible. This method also updates t if a step is 195 195 * performed. 196 196 * 197 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the197 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 198 198 * Simple System concept. 199 199 * \param x The state of the ODE which should be solved. Overwritten if 200 * the step is successful l.201 * \param t The value of the time. Updated if the step is successful l.200 * the step is successful. 201 * \param t The value of the time. Updated if the step is successful. 202 202 * \param dt The step size. Updated. 203 203 * \return success if the step was accepted, fail otherwise. 204 204 */ … … 219 219 * the steps as large as possible. This method also updates t if a step is 220 220 * performed. 221 221 * 222 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the222 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 223 223 * Simple System concept. 224 224 * \param x The state of the ODE which should be solved. Overwritten if 225 * the step is successful l. Can be a boost range.226 * \param t The value of the time. Updated if the step is successful l.225 * the step is successful. Can be a boost range. 226 * \param t The value of the time. Updated if the step is successful. 227 227 * \param dt The step size. Updated. 228 228 * \return success if the step was accepted, fail otherwise. 229 229 */ … … 250 250 * the steps as large as possible. This method also updates t if a step is 251 251 * performed. 252 252 * 253 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the253 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 254 254 * Simple System concept. 255 255 * \param x The state of the ODE which should be solved. Overwritten if 256 * the step is successful l.256 * the step is successful. 257 257 * \param dxdt The derivative of state. 258 * \param t The value of the time. Updated if the step is successful l.258 * \param t The value of the time. Updated if the step is successful. 259 259 * \param dt The step size. Updated. 260 260 * \return success if the step was accepted, fail otherwise. 261 261 */ … … 290 290 * the steps as large as possible. This method also updates t if a step is 291 291 * performed. 292 292 * 293 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the293 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 294 294 * Simple System concept. 295 295 * \param in The state of the ODE which should be solved. 296 * \param t The value of the time. Updated if the step is successful l.296 * \param t The value of the time. Updated if the step is successful. 297 297 * \param out Used to store the result of the step. 298 298 * \param dt The step size. Updated. 299 299 * \return success if the step was accepted, fail otherwise. … … 324 324 * the steps as large as possible. This method also updates t if a step is 325 325 * performed. 326 326 * 327 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the327 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 328 328 * Simple System concept. 329 329 * \param in The state of the ODE which should be solved. 330 330 * \param dxdt The derivative of state. 331 * \param t The value of the time. Updated if the step is successful l.331 * \param t The value of the time. Updated if the step is successful. 332 332 * \param out Used to store the result of the step. 333 333 * \param dt The step size. Updated. 334 334 * \return success if the step was accepted, fail otherwise. … … 487 487 * This class implements the step size control for FSAL Runge-Kutta 488 488 * steppers with error estimation. 489 489 * 490 * \tparam ErrorStepper The stepper type with error estimation, has to ful lfill the ErrorStepper concept.490 * \tparam ErrorStepper The stepper type with error estimation, has to fulfill the ErrorStepper concept. 491 491 * \tparam ErrorChecker The error checker 492 492 * \tparam Resizer The resizer policy type. 493 493 */ … … 547 547 * the steps as large as possible. This method also updates t if a step is 548 548 * performed. 549 549 * 550 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the550 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 551 551 * Simple System concept. 552 552 * \param x The state of the ODE which should be solved. Overwritten if 553 * the step is successful l.554 * \param t The value of the time. Updated if the step is successful l.553 * the step is successful. 554 * \param t The value of the time. Updated if the step is successful. 555 555 * \param dt The step size. Updated. 556 556 * \return success if the step was accepted, fail otherwise. 557 557 */ … … 573 573 * the steps as large as possible. This method also updates t if a step is 574 574 * performed. 575 575 * 576 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the576 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 577 577 * Simple System concept. 578 578 * \param x The state of the ODE which should be solved. Overwritten if 579 * the step is successful l. Can be a boost range.580 * \param t The value of the time. Updated if the step is successful l.579 * the step is successful. Can be a boost range. 580 * \param t The value of the time. Updated if the step is successful. 581 581 * \param dt The step size. Updated. 582 582 * \return success if the step was accepted, fail otherwise. 583 583 */ … … 594 594 * 595 595 * This version does not solve the forwarding problem, boost::range can not be used. 596 596 * 597 * The disabler is needed to solve ambig ous overloads597 * The disabler is needed to solve ambiguous overloads 598 598 */ 599 599 /** 600 600 * \brief Tries to perform one step. … … 608 608 * the steps as large as possible. This method also updates t if a step is 609 609 * performed. 610 610 * 611 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the611 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 612 612 * Simple System concept. 613 613 * \param in The state of the ODE which should be solved. 614 * \param t The value of the time. Updated if the step is successful l.614 * \param t The value of the time. Updated if the step is successful. 615 615 * \param out Used to store the result of the step. 616 616 * \param dt The step size. Updated. 617 617 * \return success if the step was accepted, fail otherwise. … … 643 643 * the steps as large as possible. This method also updates t if a step is 644 644 * performed. 645 645 * 646 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the646 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 647 647 * Simple System concept. 648 648 * \param x The state of the ODE which should be solved. Overwritten if 649 * the step is successful l.649 * the step is successful. 650 650 * \param dxdt The derivative of state. 651 * \param t The value of the time. Updated if the step is successful l.651 * \param t The value of the time. Updated if the step is successful. 652 652 * \param dt The step size. Updated. 653 653 * \return success if the step was accepted, fail otherwise. 654 654 */ … … 682 682 * the steps as large as possible. This method also updates t if a step is 683 683 * performed. 684 684 * 685 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the685 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 686 686 * Simple System concept. 687 687 * \param in The state of the ODE which should be solved. 688 688 * \param dxdt The derivative of state. 689 * \param t The value of the time. Updated if the step is successful l.689 * \param t The value of the time. Updated if the step is successful. 690 690 * \param out Used to store the result of the step. 691 691 * \param dt The step size. Updated. 692 692 * \return success if the step was accepted, fail otherwise. … … 757 757 /** 758 758 * \brief Initializes the internal state storing an internal copy of the derivative. 759 759 * 760 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the760 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 761 761 * Simple System concept. 762 762 * \param x The initial state of the ODE which should be solved. 763 763 * \param t The initial time. -
boost/numeric/odeint/stepper/runge_kutta4_classic.hpp
165 165 * The Runge-Kutta method of fourth order is one standard method for 166 166 * solving ordinary differential equations and is widely used, see also 167 167 * <a href="http://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods">en.wikipedia.org/wiki/Runge-Kutta_methods</a> 168 * The method is explicit and ful lfils the Stepper concept. Step size control169 * or contin ous output are not provided. This class implements the method directly, hence the168 * The method is explicit and fulfills the Stepper concept. Step size control 169 * or continuous output are not provided. This class implements the method directly, hence the 170 170 * generic Runge-Kutta algorithm is not used. 171 171 * 172 172 * This class derives from explicit_stepper_base and inherits its interface via … … 197 197 * Access to this step functionality is provided by explicit_stepper_base and 198 198 * `do_step_impl` should not be called directly. 199 199 * 200 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the200 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 201 201 * Simple System concept. 202 202 * \param in The state of the ODE which should be solved. in is not modified in this method 203 203 * \param dxdt The derivative of x at t. -
boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp
216 216 * The Runge-Kutta Cash-Karp method is one of the standard methods for 217 217 * solving ordinary differential equations, see 218 218 * <a href="http://en.wikipedia.org/wiki/Cash%E2%80%93Karp_method">en.wikipedia.org/wiki/Cash-Karp_method</a>. 219 * The method is explicit and ful lfils the Error Stepper concept. Step size control220 * is provided but contin ous output is not available for this method.219 * The method is explicit and fulfills the Error Stepper concept. Step size control 220 * is provided but continuous output is not available for this method. 221 221 * 222 222 * This class derives from explicit_error_stepper_base and inherits its interface via CRTP (current recurring 223 223 * template pattern). This class implements the method directly, hence the generic Runge-Kutta algorithm is not used. … … 250 250 * `do_step_impl` should not be called directly. 251 251 252 252 * 253 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the253 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 254 254 * Simple System concept. 255 255 * \param in The state of the ODE which should be solved. in is not modified in this method 256 256 * \param dxdt The derivative of x at t. … … 267 267 * Access to this step functionality is provided by explicit_error_stepper_base and 268 268 * `do_step_impl` should not be called directly. 269 269 * 270 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the270 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 271 271 * Simple System concept. 272 272 * \param in The state of the ODE which should be solved. in is not modified in this method 273 273 * \param dxdt The derivative of x at t. -
boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp
172 172 /** 173 173 * \class explicit_error_generic_rk 174 174 * \brief A generic implementation of explicit Runge-Kutta algorithms with error estimation. This class is as a 175 * base class for all explicit Runge-Kutta steppers with error estimat eion.175 * base class for all explicit Runge-Kutta steppers with error estimation. 176 176 * 177 177 * This class implements the explicit Runge-Kutta algorithms with error estimation in a generic way. 178 178 * The Butcher tableau is passed to the stepper which constructs the stepper scheme with the help of a … … 212 212 * The result is updated out-of-place, hence the input is in `in` and the output in `out`. Futhermore, an 213 213 * estimation of the error is stored in `xerr`. `do_step_impl` is used by explicit_error_stepper_base. 214 214 * 215 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the215 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 216 216 * Simple System concept. 217 217 * \param in The state of the ODE which should be solved. in is not modified in this method 218 218 * \param dxdt The derivative of x at t. … … 229 229 * Access to this step functionality is provided by explicit_stepper_base and 230 230 * `do_step_impl` should not be called directly. 231 231 * 232 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the232 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 233 233 * Simple System concept. 234 234 * \param in The state of the ODE which should be solved. in is not modified in this method 235 235 * \param dxdt The derivative of x at t. -
boost/numeric/odeint/stepper/modified_midpoint.hpp
298 298 * \class modified_midpoint_dense_out 299 299 * 300 300 * Implementation of the modified midpoint method with a configurable 301 * number of intermediate steps. This class is used by the dense ou put301 * number of intermediate steps. This class is used by the dense output 302 302 * Bulirsch-Stoer algorithm and is not meant for direct usage. 303 303 * \note This stepper is for internal use only and does not meet 304 304 * any stepper concept. -
boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp
60 60 * algebra and provides access to the algebra. The operations are not instantiated, since they are 61 61 * static classes inside the operations class. 62 62 * 63 * \tparam Algebra The type of the algebra. Must ful lfil the Algebra Concept, at least partially to work63 * \tparam Algebra The type of the algebra. Must fulfill the Algebra Concept, at least partially to work 64 64 * with the stepper. 65 * \tparam Operations The type of the operations. Must ful lfil the Operations Concept, at least partially65 * \tparam Operations The type of the operations. Must fulfill the Operations Concept, at least partially 66 66 * to work with the stepper. 67 67 */ 68 68 -
boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp
340 340 341 341 /** 342 342 * \class explicit_error_stepper_fsal_base 343 * \brief Base class for explicit steppers with error estimation and stepper ful lfiling the FSAL (first-same-as-last)343 * \brief Base class for explicit steppers with error estimation and stepper fulfilling the FSAL (first-same-as-last) 344 344 * property. This class can be used with controlled steppers for step size control. 345 345 * 346 * This class serves as the base class for all explicit steppers with algebra and operations and which ful lfil the FSAL346 * This class serves as the base class for all explicit steppers with algebra and operations and which fulfill the FSAL 347 347 * property. In contrast to explicit_stepper_base it also estimates the error and can be used in a controlled stepper 348 348 * to provide step size control. 349 349 * 350 350 * The FSAL property means that the derivative of the system at t+dt is already used in the current step going from 351 * t to t +dt. Therefore, some more do_steps method can be introduced and the controlled steppers can explicit ely make use351 * t to t +dt. Therefore, some more do_steps method can be introduced and the controlled steppers can explicitly make use 352 352 * of this property. 353 353 * 354 354 * \note This stepper provides `do_step` methods with and without error estimation. It has therefore three orders, … … 363 363 * This class can have an intrinsic state depending on the explicit usage of the `do_step` method. This means that some 364 364 * `do_step` methods are expected to be called in order. For example the `do_step( sys , x , t , dt , xerr )` will keep track 365 365 * of the derivative of `x` which is the internal state. The first call of this method is recognized such that one 366 * does not explicit ely initialize the internal state, so it is safe to use this method like366 * does not explicitly initialize the internal state, so it is safe to use this method like 367 367 * 368 368 * \code 369 369 * stepper_type stepper; … … 376 376 * internal state with the `initialize` method or reset the internal state with the `reset` method. 377 377 * 378 378 * explicit_error_stepper_fsal_base provides several overloaded `do_step` methods, see the list below. Only two of them are needed 379 * to ful lfil the Error Stepper concept. The other ones are for convenience and for better performance. Some of them379 * to fulfill the Error Stepper concept. The other ones are for convenience and for better performance. Some of them 380 380 * simply update the state out-of-place, while other expect that the first derivative at `t` is passed to the stepper. 381 381 * 382 * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to ful lfil the Error Stepper concept. The382 * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to fulfill the Error Stepper concept. The 383 383 * state is updated in-place. A type modelling a Boost.Range can be used for x. 384 384 * - `do_step( sys , x , dxdt , t , dt )` - This method updates the state x and the derivative dxdt in-place. It is expected 385 385 * that dxdt has the value of the derivative of x at time t. 386 386 * - `do_step( sys , in , t , out , dt )` - This method updates the state out-of-place, hence the result of the step 387 387 * is stored in `out`. 388 388 * - `do_step( sys , in , dxdt_in , t , out , dxdt_out , dt )` - This method updates the state and the derivative 389 * out-of-place. It expects that the derivative at the point `t` is explicit ely passed in `dxdt_in`.390 * - `do_step( sys , x , t , dt , xerr )` - This `do_step` method is needed to ful lfil the Error Stepper concept. The389 * out-of-place. It expects that the derivative at the point `t` is explicitly passed in `dxdt_in`. 390 * - `do_step( sys , x , t , dt , xerr )` - This `do_step` method is needed to fulfill the Error Stepper concept. The 391 391 * state is updated in-place and an error estimate is calculated. A type modelling a Boost.Range can be used for x. 392 392 * - `do_step( sys , x , dxdt , t , dt , xerr )` - This method updates the state and the derivative in-place. It is assumed 393 393 * that the dxdt has the value of the derivative of x at time t. An error estimate is calculated. … … 410 410 * \tparam ErrorOrder The order of the error step if the stepper is used with error estimation. 411 411 * \tparam State The state type for the stepper. 412 412 * \tparam Value The value type for the stepper. This should be a floating point type, like float, 413 * double, or a multiprecision type. It must not nec cessary be the value_type of the State. For example413 * double, or a multiprecision type. It must not necessary be the value_type of the State. For example 414 414 * the State can be a `vector< complex< double > >` in this case the Value must be double. 415 415 * The default value is double. 416 416 * \tparam Deriv The type representing time derivatives of the state type. It is usually the same type as the 417 417 * state type, only if used with Boost.Units both types differ. 418 418 * \tparam Time The type representing the time. Usually the same type as the value type. When Boost.Units is 419 419 * used, this type has usually a unit. 420 * \tparam Algebra The algebra type which must ful lfil the Algebra Concept.421 * \tparam Operations The type for the operations w ich must fullfil the Operations Concept.420 * \tparam Algebra The algebra type which must fulfill the Algebra Concept. 421 * \tparam Operations The type for the operations which must fulfill the Operations Concept. 422 422 * \tparam Resizer The resizer policy class. 423 423 */ 424 424 … … 454 454 * 455 455 * \note This method uses the internal state of the stepper. 456 456 * 457 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the457 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 458 458 * Simple System concept. 459 459 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 460 460 * \param t The value of the time, at which the step should be performed. … … 476 476 * } 477 477 * \endcode 478 478 * 479 * \note This method does NOT use the initial state, since the first derivative is explicit ely passed to this method.479 * \note This method does NOT use the initial state, since the first derivative is explicitly passed to this method. 480 480 * 481 481 * The result is updated in place in x as well as the derivative dxdt. This method is disabled if 482 482 * Time and StateInOut are of the same type. In this case the method could not be distinguished from other `do_step` … … 484 484 * 485 485 * \note This method does not solve the forwarding problem. 486 486 * 487 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the487 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 488 488 * Simple System concept. 489 489 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 490 490 * \param dxdt The derivative of x at t. After calling `do_step` dxdt is updated to the new value. … … 502 502 * 503 503 * \note This method does not solve the forwarding problem. 504 504 * 505 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the505 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 506 506 * Simple System concept. 507 507 * \param in The state of the ODE which should be solved. in is not modified in this method 508 508 * \param t The value of the time, at which the step should be performed. … … 520 520 * 521 521 * \note This method does NOT use the internal state of the stepper. 522 522 * 523 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the523 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 524 524 * Simple System concept. 525 525 * \param in The state of the ODE which should be solved. in is not modified in this method 526 526 * \param dxdt_in The derivative of x at t. … … 538 538 * 539 539 * \note This method uses the internal state of the stepper. 540 540 * 541 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the541 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 542 542 * Simple System concept. 543 543 * \param x The state of the ODE which should be solved. x is updated by this method. 544 544 * \param t The value of the time, at which the step should be performed. … … 561 561 * 562 562 * \note This method does not solve the forwarding problem. 563 563 * 564 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the564 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 565 565 * Simple System concept. 566 566 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 567 567 * \param dxdt The derivative of x at t. After calling `do_step` this value is updated to the new value at `t+dt`. … … 580 580 * 581 581 * \note This method does not solve the forwarding problem. 582 582 * 583 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the583 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 584 584 * Simple System concept. 585 585 * \param in The state of the ODE which should be solved. in is not modified in this method 586 586 * \param t The value of the time, at which the step should be performed. … … 598 598 * 599 599 * \note This method does not solve the forwarding problem. 600 600 * 601 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the601 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 602 602 * Simple System concept. 603 603 * \param in The state of the ODE which should be solved. in is not modified in this method 604 604 * \param dxdt_in The derivative of x at t. … … 623 623 624 624 /** 625 625 * \fn explicit_error_stepper_fsal_base::initialize( const DerivIn &deriv ) 626 * \brief Initializes the inter al state of the stepper.626 * \brief Initializes the internal state of the stepper. 627 627 * \param deriv The derivative of x. The next call of `do_step` expects that the derivative of `x` passed to `do_step` 628 628 * has the value of `deriv`. 629 629 */ 630 630 631 631 /** 632 632 * \fn explicit_error_stepper_fsal_base::initialize( System system , const StateIn &x , time_type t ) 633 * \brief Initializes the inter al state of the stepper.633 * \brief Initializes the internal state of the stepper. 634 634 * 635 635 * This method is equivalent to 636 636 * \code -
boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp
256 256 * \endcode 257 257 * 258 258 * In detail explicit_stepper_base provides the following `do_step` variants 259 * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to ful lfil the Stepper concept. The state is updated in-place.259 * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to fulfill the Stepper concept. The state is updated in-place. 260 260 * A type modelling a Boost.Range can be used for x. 261 261 * - `do_step( sys , in , t , out , dt )` - This method updates the state out-of-place, hence the result of the step is stored in `out`. 262 262 * - `do_step( sys , x , dxdt , t , dt )` - This method updates the state in-place, but the derivative at the point `t` must be 263 * explicit ely passed in `dxdt`. For an example see the code snippet above.263 * explicitly passed in `dxdt`. For an example see the code snippet above. 264 264 * - `do_step( sys , in , dxdt , t , out , dt )` - This method update the state out-of-place and expects that the derivative at the point 265 * `t` is explicit ely passed in `dxdt`. It is a combination of the two `do_step` methods above.265 * `t` is explicitly passed in `dxdt`. It is a combination of the two `do_step` methods above. 266 266 * 267 267 * \note The system is always passed as value, which might result in poor performance if it contains data. In this case it can be used with `boost::ref` 268 268 * or `std::ref`, for example `stepper.do_step( boost::ref( sys ) , x , t , dt );` … … 274 274 * \tparam Order The order of the stepper. 275 275 * \tparam State The state type for the stepper. 276 276 * \tparam Value The value type for the stepper. This should be a floating point type, like float, 277 * double, or a multiprecision type. It must not nec cessary be the value_type of the State. For example277 * double, or a multiprecision type. It must not necessary be the value_type of the State. For example 278 278 * the State can be a `vector< complex< double > >` in this case the Value must be double. 279 279 * The default value is double. 280 280 * \tparam Deriv The type representing time derivatives of the state type. It is usually the same type as the 281 281 * state type, only if used with Boost.Units both types differ. 282 282 * \tparam Time The type representing the time. Usually the same type as the value type. When Boost.Units is 283 283 * used, this type has usually a unit. 284 * \tparam Algebra The algebra type which must ful lfil the Algebra Concept.285 * \tparam Operations The type for the operations w ich must fullfil the Operations Concept.284 * \tparam Algebra The algebra type which must fulfill the Algebra Concept. 285 * \tparam Operations The type for the operations which must fulfill the Operations Concept. 286 286 * \tparam Resizer The resizer policy class. 287 287 */ 288 288 … … 303 303 * \fn explicit_stepper_base::do_step( System system , StateInOut &x , time_type t , time_type dt ) 304 304 * \brief This method performs one step. It transforms the result in-place. 305 305 * 306 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the306 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 307 307 * Simple System concept. 308 308 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 309 309 * \param t The value of the time, at which the step should be performed. … … 327 327 * 328 328 * \note This method does not solve the forwarding problem. 329 329 * 330 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the330 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 331 331 * Simple System concept. 332 332 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 333 333 * \param dxdt The derivative of x at t. … … 340 340 * \brief The method performs one step. The state of the ODE is updated out-of-place. 341 341 * \note This method does not solve the forwarding problem. 342 342 * 343 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the343 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 344 344 * Simple System concept. 345 345 * \param in The state of the ODE which should be solved. in is not modified in this method 346 346 * \param t The value of the time, at which the step should be performed. … … 361 361 * 362 362 * \note This method does not solve the forwarding problem. 363 363 * 364 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the364 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 365 365 * Simple System concept. 366 366 * \param in The state of the ODE which should be solved. in is not modified in this method 367 367 * \param dxdt The derivative of x at t. -
boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp
328 328 * for the coordinate or the momentum part or one function object for the momentum part. `x` is a pair of coordinate 329 329 * and momentum. The state is updated in-place. 330 330 * - `do_step( sys , q , p , t , dt )` - This method is similar to the method above with the difference that the coordinate 331 * and the momentum are passed explicit ely and not packed into a pair.331 * and the momentum are passed explicitly and not packed into a pair. 332 332 * - `do_step( sys , x_in , t , x_out , dt )` - This method transforms the state out-of-place. `x_in` and `x_out` are here pairs 333 333 * of coordinate and momentum. 334 334 * … … 336 336 * \tparam Order The order of the stepper. 337 337 * \tparam Coor The type representing the coordinates q. 338 338 * \tparam Momentum The type representing the coordinates p. 339 * \tparam Value The basic value type. Should be somethin klike float, double or a high-precision type.339 * \tparam Value The basic value type. Should be something like float, double or a high-precision type. 340 340 * \tparam CoorDeriv The type representing the time derivative of the coordinate dq/dt. 341 341 * \tparam MomemtnumDeriv The type representing the time derivative of the momentum dp/dt. 342 342 * \tparam Time The type representing the time t. … … 362 362 /** 363 363 * \fn symplectic_nystroem_stepper_base::do_step( System system , const StateInOut &state , time_type t , time_type dt ) 364 364 * \brief This method performs one step. The system can be either a pair of two function object 365 * de cribing the momentum part and the coordinate part or one function object describing only365 * describing the momentum part and the coordinate part or one function object describing only 366 366 * the momentum part. In this case the coordinate is assumed to be trivial dq/dt = p. The state 367 367 * is updated in-place. 368 368 * … … 381 381 /** 382 382 * \fn symplectic_nystroem_stepper_base::do_step( System system , CoorInOut &q , MomentumInOut &p , time_type t , time_type dt ) 383 383 * \brief This method performs one step. The system can be either a pair of two function object 384 * de cribing the momentum part and the coordinate part or one function object describing only384 * describing the momentum part and the coordinate part or one function object describing only 385 385 * the momentum part. In this case the coordinate is assumed to be trivial dq/dt = p. The state 386 386 * is updated in-place. 387 387 * … … 391 391 * \note This method solves the forwarding problem. 392 392 * 393 393 * \param system The system, can be represented as a pair of two function object or one function object. See above. 394 * \param q The coordinate of the ODE. It is updated in-place. Therefore, the new value of the coor indate will be written394 * \param q The coordinate of the ODE. It is updated in-place. Therefore, the new value of the coordinate will be written 395 395 * into this variable. 396 396 * \param p The momentum of the ODE. It is updated in-place. Therefore, the new value of the momentum will be written info 397 397 * this variable. … … 402 402 /** 403 403 * \fn symplectic_nystroem_stepper_base::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) 404 404 * \brief This method performs one step. The system can be either a pair of two function object 405 * de cribing the momentum part and the coordinate part or one function object describing only405 * describing the momentum part and the coordinate part or one function object describing only 406 406 * the momentum part. In this case the coordinate is assumed to be trivial dq/dt = p. The state 407 407 * is updated out-of-place. 408 408 * -
boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp
323 323 * explicit_error_stepper_base derives from algebra_stepper_base. 324 324 * 325 325 * explicit_error_stepper_base provides several overloaded `do_step` methods, see the list below. Only two of them 326 * are needed to ful lfil the Error Stepper concept. The other ones are for convenience and for performance. Some326 * are needed to fulfill the Error Stepper concept. The other ones are for convenience and for performance. Some 327 327 * of them simply update the state out-of-place, while other expect that the first derivative at `t` is passed to the 328 328 * stepper. 329 329 * 330 * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to ful lfil the Error Stepper concept. The330 * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to fulfill the Error Stepper concept. The 331 331 * state is updated in-place. A type modelling a Boost.Range can be used for x. 332 332 * - `do_step( sys , x , dxdt , t , dt )` - This method updates the state in-place, but the derivative at the point `t` 333 * must be explicit ely passed in `dxdt`.333 * must be explicitly passed in `dxdt`. 334 334 * - `do_step( sys , in , t , out , dt )` - This method updates the state out-of-place, hence the result of the step 335 335 * is stored in `out`. 336 336 * - `do_step( sys , in , dxdt , t , out , dt )` - This method update the state out-of-place and expects that the 337 * derivative at the point `t` is explicit ely passed in `dxdt`. It is a combination of the two `do_step` methods337 * derivative at the point `t` is explicitly passed in `dxdt`. It is a combination of the two `do_step` methods 338 338 * above. 339 * - `do_step( sys , x , t , dt , xerr )` - This `do_step` method is needed to ful lfil the Error Stepper concept. The339 * - `do_step( sys , x , t , dt , xerr )` - This `do_step` method is needed to fulfill the Error Stepper concept. The 340 340 * state is updated in-place and an error estimate is calculated. A type modelling a Boost.Range can be used for x. 341 341 * - `do_step( sys , x , dxdt , t , dt , xerr )` - This method updates the state in-place, but the derivative at the 342 342 * point `t` must be passed in `dxdt`. An error estimate is calculated. … … 359 359 * \tparam ErrorOrder The order of the error step if the stepper is used with error estimation. 360 360 * \tparam State The state type for the stepper. 361 361 * \tparam Value The value type for the stepper. This should be a floating point type, like float, 362 * double, or a multiprecision type. It must not nec cessary be the value_type of the State. For example362 * double, or a multiprecision type. It must not necessary be the value_type of the State. For example 363 363 * the State can be a `vector< complex< double > >` in this case the Value must be double. 364 364 * The default value is double. 365 365 * \tparam Deriv The type representing time derivatives of the state type. It is usually the same type as the 366 366 * state type, only if used with Boost.Units both types differ. 367 367 * \tparam Time The type representing the time. Usually the same type as the value type. When Boost.Units is 368 368 * used, this type has usually a unit. 369 * \tparam Algebra The algebra type which must ful lfil the Algebra Concept.370 * \tparam Operations The type for the operations w ich must fullfil the Operations Concept.369 * \tparam Algebra The algebra type which must fulfill the Algebra Concept. 370 * \tparam Operations The type for the operations which must fulfill the Operations Concept. 371 371 * \tparam Resizer The resizer policy class. 372 372 */ 373 373 … … 399 399 * \fn explicit_error_stepper_base::do_step( System system , StateInOut &x , time_type t , time_type dt ) 400 400 * \brief This method performs one step. It transforms the result in-place. 401 401 * 402 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the402 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 403 403 * Simple System concept. 404 404 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 405 405 * \param t The value of the time, at which the step should be performed. … … 421 421 * 422 422 * \note This method does not solve the forwarding problem. 423 423 * 424 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the424 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 425 425 * Simple System concept. 426 426 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 427 427 * \param dxdt The derivative of x at t. … … 436 436 * other `do_step` variants. 437 437 * \note This method does not solve the forwarding problem. 438 438 * 439 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the439 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 440 440 * Simple System concept. 441 441 * \param in The state of the ODE which should be solved. in is not modified in this method 442 442 * \param t The value of the time, at which the step should be performed. … … 459 459 * 460 460 * \note This method does not solve the forwarding problem. 461 461 * 462 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the462 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 463 463 * Simple System concept. 464 464 * \param in The state of the ODE which should be solved. in is not modified in this method 465 465 * \param dxdt The derivative of x at t. … … 473 473 * \brief The method performs one step with the stepper passed by Stepper and estimates the error. The state of the ODE 474 474 * is updated in-place. 475 475 * 476 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the476 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 477 477 * Simple System concept. 478 478 * \param x The state of the ODE which should be solved. x is updated by this method. 479 479 * \param t The value of the time, at which the step should be performed. … … 496 496 * 497 497 * \note This method does not solve the forwarding problem. 498 498 * 499 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the499 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 500 500 * Simple System concept. 501 501 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 502 502 * \param dxdt The derivative of x at t. … … 512 512 * 513 513 * \note This method does not solve the forwarding problem. 514 514 * 515 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the515 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 516 516 * Simple System concept. 517 517 * \param in The state of the ODE which should be solved. in is not modified in this method 518 518 * \param t The value of the time, at which the step should be performed. … … 536 536 * 537 537 * \note This method does not solve the forwarding problem. 538 538 * 539 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the539 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 540 540 * Simple System concept. 541 541 * \param in The state of the ODE which should be solved. in is not modified in this method 542 542 * \param dxdt The derivative of x at t. -
boost/numeric/odeint/stepper/adams_bashforth.hpp
283 283 * then uses the result from the previous Steps steps. See also 284 284 * <a href="http://en.wikipedia.org/wiki/Linear_multistep_method">en.wikipedia.org/wiki/Linear_multistep_method</a>. 285 285 * Currently, a maximum of Steps=8 is supported. 286 * The method is explicit and ful lfils the Stepper concept. Step size control287 * or contin ous output are not provided.286 * The method is explicit and fulfills the Stepper concept. Step size control 287 * or continuous output are not provided. 288 288 * 289 289 * This class derives from algebra_base and inherits its interface via 290 290 * CRTP (current recurring template pattern). For more details see … … 318 318 * \fn void adams_bashforth::do_step( System system , StateInOut &x , time_type t , time_type dt ) 319 319 * \brief This method performs one step. It transforms the result in-place. 320 320 * 321 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the321 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 322 322 * Simple System concept. 323 323 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 324 324 * \param t The value of the time, at which the step should be performed. … … 329 329 * \fn void adams_bashforth::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) 330 330 * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. 331 331 * 332 * \param system The system function to solve, hence the r.h.s. of the ODE. It must ful lfil the332 * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the 333 333 * Simple System concept. 334 334 * \param in The state of the ODE which should be solved. in is not modified in this method 335 335 * \param t The value of the time, at which the step should be performed. … … 360 360 * \fn void adams_bashforth::initialize( ExplicitStepper explicit_stepper , System system , StateIn &x , time_type &t , time_type dt ) 361 361 * \brief Initialized the stepper. Does Steps-1 steps with the explicit_stepper to fill the buffer. 362 362 * \param explicit_stepper the stepper used to fill the buffer of previous step results 363 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the363 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 364 364 * Simple System concept. 365 365 * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. 366 366 * \param t The value of the time, at which the step should be performed. … … 371 371 * \fn void adams_bashforth::initialize( System system , StateIn &x , time_type &t , time_type dt ) 372 372 * \brief Initialized the stepper. Does Steps-1 steps with an internal instance of InitializingStepper to fill the buffer. 373 373 * \note The state x and time t are updated to the values after Steps-1 initial steps. 374 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the374 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 375 375 * Simple System concept. 376 376 * \param x The initial state of the ODE which should be solved, updated in this method. 377 377 * \param t The initial value of the time, updated in this method. -
boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp
93 93 /** 94 94 * \brief Initializes the stepper. Has to be called before do_step can be 95 95 * used to set the initial conditions and the step size. 96 * \param x0 The init al state of the ODE which should be solved.96 * \param x0 The initial state of the ODE which should be solved. 97 97 * \param t0 The initial time, at which the step should be performed. 98 98 * \param dt0 The step size. 99 99 */ … … 109 109 /** 110 110 * \brief Does one time step. 111 111 * \note initialize has to be called before using this method to set the 112 * init al conditions x,t and the stepsize.113 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must ful lfil the112 * initial conditions x,t and the stepsize. 113 * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the 114 114 * Simple System concept. 115 115 * \return Pair with start and end time of the integration step. 116 116 */ -
boost/numeric/odeint/stepper/bulirsch_stoer.hpp
533 533 * step size dt is reduced. If the error estimate is acceptably small, the 534 534 * step is performed, success is returned and dt might be increased to make 535 535 * the steps as large as possible. This method also updates t if a step is 536 * performed. Also, the internal order of the stepper is adjusted if requ ried.536 * performed. Also, the internal order of the stepper is adjusted if required. 537 537 * 538 538 * \param system The system function to solve, hence the r.h.s. of the ODE. 539 * It must ful lfil the Simple System concept.539 * It must fulfill the Simple System concept. 540 540 * \param x The state of the ODE which should be solved. Overwritten if 541 * the step is successful l.542 * \param t The value of the time. Updated if the step is successful l.541 * the step is successful. 542 * \param t The value of the time. Updated if the step is successful. 543 543 * \param dt The step size. Updated. 544 544 * \return success if the step was accepted, fail otherwise. 545 545 */ … … 553 553 * step size dt is reduced. If the error estimate is acceptably small, the 554 554 * step is performed, success is returned and dt might be increased to make 555 555 * the steps as large as possible. This method also updates t if a step is 556 * performed. Also, the internal order of the stepper is adjusted if requ ried.556 * performed. Also, the internal order of the stepper is adjusted if required. 557 557 * 558 558 * \param system The system function to solve, hence the r.h.s. of the ODE. 559 * It must ful lfil the Simple System concept.559 * It must fulfill the Simple System concept. 560 560 * \param x The state of the ODE which should be solved. Overwritten if 561 * the step is successful l.561 * the step is successful. 562 562 * \param dxdt The derivative of state. 563 * \param t The value of the time. Updated if the step is successful l.563 * \param t The value of the time. Updated if the step is successful. 564 564 * \param dt The step size. Updated. 565 565 * \return success if the step was accepted, fail otherwise. 566 566 */ … … 576 576 * step size dt is reduced. If the error estimate is acceptably small, the 577 577 * step is performed, success is returned and dt might be increased to make 578 578 * the steps as large as possible. This method also updates t if a step is 579 * performed. Also, the internal order of the stepper is adjusted if requ ried.579 * performed. Also, the internal order of the stepper is adjusted if required. 580 580 * 581 581 * \param system The system function to solve, hence the r.h.s. of the ODE. 582 * It must ful lfil the Simple System concept.582 * It must fulfill the Simple System concept. 583 583 * \param in The state of the ODE which should be solved. 584 * \param t The value of the time. Updated if the step is successful l.584 * \param t The value of the time. Updated if the step is successful. 585 585 * \param out Used to store the result of the step. 586 586 * \param dt The step size. Updated. 587 587 * \return success if the step was accepted, fail otherwise. … … 597 597 * step size dt is reduced. If the error estimate is acceptably small, the 598 598 * step is performed, success is returned and dt might be increased to make 599 599 * the steps as large as possible. This method also updates t if a step is 600 * performed. Also, the internal order of the stepper is adjusted if requ ried.600 * performed. Also, the internal order of the stepper is adjusted if required. 601 601 * 602 602 * \param system The system function to solve, hence the r.h.s. of the ODE. 603 * It must ful lfil the Simple System concept.603 * It must fulfill the Simple System concept. 604 604 * \param in The state of the ODE which should be solved. 605 605 * \param dxdt The derivative of state. 606 * \param t The value of the time. Updated if the step is successful l.606 * \param t The value of the time. Updated if the step is successful. 607 607 * \param out Used to store the result of the step. 608 608 * \param dt The step size. Updated. 609 609 * \return success if the step was accepted, fail otherwise. -
boost/numeric/odeint/util/detail/is_range.hpp
124 124 125 125 } // namespace detail 126 126 127 } // namespa ecodeint127 } // namespace odeint 128 128 } // namespace numeric 129 129 } // namespace boost 130 130 -
boost/numeric/odeint/util/unit_helper.hpp
3 3 boost/numeric/odeint/util/unit_helper.hpp 4 4 5 5 [begin_description] 6 Get and set the thevalue of a unit.6 Get and set the value of a unit. 7 7 [end_description] 8 8 9 9 Copyright 2009-2011 Karsten Ahnert -
boost/numeric/odeint/util/same_size.hpp
3 3 boost/numeric/odeint/util/state_wrapper.hpp 4 4 5 5 [begin_description] 6 State wrapper for the state type in all stepper. The state wrappers are responsible for con truction,7 destruction, copying con truction, assignment and resizing.6 State wrapper for the state type in all stepper. The state wrappers are responsible for construction, 7 destruction, copying construction, assignment and resizing. 8 8 [end_description] 9 9 10 10 Copyright 2009-2011 Karsten Ahnert -
boost/numeric/odeint/util/state_wrapper.hpp
3 3 boost/numeric/odeint/util/state_wrapper.hpp 4 4 5 5 [begin_description] 6 State wrapper for the state type in all stepper. The state wrappers are responsible for con truction,7 destruction, copying con truction, assignment and resizing.6 State wrapper for the state type in all stepper. The state wrappers are responsible for construction, 7 destruction, copying construction, assignment and resizing. 8 8 [end_description] 9 9 10 10 Copyright 2009-2011 Karsten Ahnert -
boost/numeric/odeint/util/resize.hpp
3 3 boost/numeric/odeint/util/state_wrapper.hpp 4 4 5 5 [begin_description] 6 State wrapper for the state type in all stepper. The state wrappers are responsible for con truction,7 destruction, copying con truction, assignment and resizing.6 State wrapper for the state type in all stepper. The state wrappers are responsible for construction, 7 destruction, copying construction, assignment and resizing. 8 8 [end_description] 9 9 10 10 Copyright 2009-2011 Karsten Ahnert … … 78 78 } 79 79 80 80 }; 81 } // na nespace detail81 } // namespace detail 82 82 83 83 84 84 /* -
boost/numeric/odeint/util/ublas_wrapper.hpp
165 165 //namespace numeric { 166 166 //namespace odeint { 167 167 // 168 ///* specialization for permutation matri zes wrapper because we need to change the construction */168 ///* specialization for permutation matrices wrapper because we need to change the construction */ 169 169 //template< class T , class A > 170 170 //struct state_wrapper< boost::numeric::ublas::permutation_matrix< T , A > , true > // with resizing 171 171 //{ … … 254 254 return x.data().end(); 255 255 } 256 256 257 } } } // nam pespace boost::numeric::ublas257 } } } // namespace boost::numeric::ublas 258 258 259 259 260 260 #endif // BOOST_NUMERIC_ODEINT_UTIL_UBLAS_WRAPPER_HPP_INCLUDED -
libs/numeric/odeint/doc/examples_table.qbk
32 32 [The Fermi-Pasta-Ulam (FPU) example shows how odeint can be used to integrate lattice systems.]] 33 33 34 34 [[[github_link libs/numeric/odeint/examples/generation_functions.cpp generation_functions.cpp]] 35 [Shows skeletal code on how to implement eown factory functions.]]35 [Shows skeletal code on how to implement own factory functions.]] 36 36 37 37 [[[github_link libs/numeric/odeint/examples/harmonic_oscillator.cpp harmonic_oscillator.cpp]] 38 38 [The harmonic oscillator examples gives a brief introduction to odeint and shows the usage of the classical Runge-Kutta-solvers.]] -
libs/numeric/odeint/doc/concepts/error_stepper.qbk
13 13 14 14 [section Error Stepper] 15 15 16 This concepts specifies the interface an error stepper has to fulfill to be used within a ControlledErrorStepper. An error stepper must always ful lfil the stepper concept. This can trivially implemented by16 This concepts specifies the interface an error stepper has to fulfill to be used within a ControlledErrorStepper. An error stepper must always fulfill the stepper concept. This can trivially implemented by 17 17 18 18 `` 19 19 template< class System > -
libs/numeric/odeint/doc/tutorial_thrust_cuda.qbk
21 21 [important Thrust also supports parallelization using OpenMP and Intel Threading Building Blocks (TBB). You can switch 22 22 between CUDA, OpenMP and TBB parallelizations by a simple compiler 23 23 switch. Hence, this also provides an easy way to get basic OpenMP 24 parallelization into odeint. The examples discussed below are focu ed on GPU parallelization, though. ]24 parallelization into odeint. The examples discussed below are focused on GPU parallelization, though. ] 25 25 26 26 To use odeint with CUDA a few points have to be taken into account. First of all, the problem has to be well chosen. It makes absolutely no sense to try to parallelize the code for a three dimensional system, it is simply too small and not worth the effort. One single function call (kernel execution) on the GPU is slow but you can do the operation on a huge set of data with only one call. We have experienced that the vector size over which is parallelized should be of the order of ['10[super 6]] to make full use of the GPU. Secondly, you have to use __thrust's algorithms and functors when implementing the rhs the ODE. This might be tricky since it involves some kind of functional programming knowledge. 27 27 -
libs/numeric/odeint/doc/details_steppers.qbk
69 69 70 70 `do_step( sys , in , dxdtin , out , dxdtout , t , dt )` 71 71 72 This method takes the derivative at time `t` and also alsostores72 This method takes the derivative at time `t` and also stores 73 73 the derivative at time ['t+dt]. Calling these functions subsequently iterating 74 74 along the solution one saves one function call by passing the result for dxdt 75 75 into the next function call. -
libs/numeric/odeint/doc/tutorial_stiff_systems.qbk
35 35 36 36 The state type has to be a `ublas::vector` and the matrix type must by a 37 37 `ublas::matrix` since the stiff integrator only accepts these types. 38 However, you might want use non-stiff int grators on this system, too - we will38 However, you might want use non-stiff integrators on this system, too - we will 39 39 do so later for demonstration. Therefore we want to use the same function also 40 40 with other state_types, realized by templatizing the `operator()`: 41 41 -
libs/numeric/odeint/examples/gram_schmidt.hpp
70 70 for( size_t k=0 ; k<j ; ++k ) 71 71 substract_vector( beg1 , end1 , first + k*n , tmp[k] ); 72 72 73 // n romalize j-th vector73 // normalize j-th vector 74 74 norm[j] = sqrt( std::inner_product( beg1 , end1 , beg1 , 0.0 ) ); 75 75 // clog << j << " " << norm[j] << "\n"; 76 76 normalize( beg1 , end1 , norm[j] ); -
libs/numeric/odeint/examples/resizing_lattice.cpp
3 3 * 4 4 * Demonstrates the usage of resizing of the state type during integration. 5 5 * Examplary system is a strongly nonlinear, disordered Hamiltonian lattice 6 * where the spreading of energy is inv astigated6 * where the spreading of energy is investigated 7 7 * 8 8 * Copyright 2009-2012 Karsten Ahnert and Mario Mulansky. 9 9 * Distributed under the Boost Software License, Version 1.0. (See -
libs/numeric/odeint/examples/my_vector.cpp
68 68 }; 69 69 70 70 //[my_vector_resizeable 71 // define my_vector as re izeable71 // define my_vector as resizeable 72 72 73 73 namespace boost { namespace numeric { namespace odeint { 74 74 -
libs/numeric/odeint/examples/list_lattice.cpp
23 23 24 24 template< > 25 25 struct is_resizeable< state_type > 26 { // declare resizeab lility26 { // declare resizeability 27 27 typedef boost::true_type type; 28 28 const static bool value = type::value; 29 29 }; -
libs/numeric/odeint/examples/2d_lattice/lattice2d.hpp
8 8 */ 9 9 10 10 11 /* stron lgy nonlinear hamiltonian lattice in 2d */11 /* strongly nonlinear hamiltonian lattice in 2d */ 12 12 13 13 #ifndef LATTICE2D_HPP 14 14 #define LATTICE2D_HPP