Solve boundary-value ODE problems by shooting from one boundary to the other. More...
#include <ode_bv_solve.h>
This class is experimental.
Documentation links for default template arguments
func_t
- ode_functvec_t
- boost::numeric::ublas::vector < double >vec_int_t
- boost::numeric::ublas::vector < int > Definition at line 84 of file ode_bv_solve.h.
Public Types | |
typedef boost::numeric::ublas::vector< double > | ubvector |
typedef boost::numeric::ublas::matrix< double > | ubmatrix |
Public Member Functions | |
void | allocate (size_t n) |
Allocate internal storage. | |
int | solve_final_value (double x0, double x1, double h, size_t n, vec_t &ystart, vec_t ¥d, vec_int_t &index, vec_t &yerr, vec_t &dydx_end, func_t &derivs) |
Solve the boundary-value problem and store the solution. More... | |
template<class mat_t , class mat_row_t > | |
int | solve_store (double x0, double x1, double h, size_t n, vec_t &ystart, vec_t ¥d, vec_int_t &index, size_t &n_sol, vec_t &x_sol, mat_t &y_sol, mat_t &yerr_sol, mat_t &dydx_sol, func_t &derivs) |
Solve the boundary-value problem and store the solution. | |
int | set_iv (ode_iv_solve< func_t, vec_t > &ois) |
Set initial value solver. | |
int | set_mroot (mroot< mm_funct<> > &root) |
Set the equation solver. | |
Public Attributes | |
ode_iv_solve< func_t, vec_t > | def_ois |
The default initial value solver. | |
gsl_mroot_hybrids< mm_funct<> > | def_mroot |
The default equation solver. | |
![]() | |
int | verbose |
Set output level. | |
Protected Member Functions | |
int | solve_fun (size_t nv, const vec_t &tx, vec_t &ty) |
The shooting function to be solved by the multidimensional solver. | |
Protected Attributes | |
ode_iv_solve< func_t, vec_t > * | oisp |
The solver for the initial value problem. | |
mroot< mm_funct<> > * | mrootp |
The equation solver. | |
vec_int_t * | l_index |
The index defining the boundary conditions. | |
vec_t * | l_ystart |
Storage for the starting vector. | |
vec_t * | l_yend |
Storage for the ending vector. | |
vec_t * | l_yerr |
Storage for the starting vector. | |
vec_t * | l_dydx_end |
Storage for the ending vector. | |
double | l_x0 |
Storage for the starting point. | |
double | l_x1 |
Storage for the ending abcissa. | |
double | l_h |
Storage for the stepsize. | |
func_t * | l_derivs |
The functions to integrate. | |
size_t | l_n |
The number of functions. | |
size_t | mem_size |
Size of recent allocation. | |
Temporary storage for \ref solve_fun() | |
vec_t | sy |
vec_t | sy2 |
vec_t | syerr |
vec_t | sdydx |
Additional Inherited Members | |
![]() | |
static const int | unk =0 |
Unknown on both the left and right boundaries. | |
static const int | right =1 |
Known on the right boundary. | |
static const int | left =2 |
Known on the left boundary. | |
static const int | both =3 |
Known on both the left and right boundaries. | |
|
inline |
Given the n
initial values of the functions in ystart
, this function integrates the ODEs specified in derivs
over the interval from x0
to x1
with an initial stepsize of h
. The final values of the function are given in yend
, the derivatives in dydx_end
, and the associated errors are given in yerr
. The initial values of yend
and yerr
are ignored.
Definition at line 124 of file ode_bv_solve.h.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).