Solve boundary-value ODE problems by shooting from one boundary to the other on a grid. More...
#include <ode_bv_solve.h>
Public Types | |
typedef boost::numeric::ublas::vector< double > | ubvector |
typedef boost::numeric::ublas::vector< int > | ubvector_int |
typedef boost::numeric::ublas::matrix< double > | ubmatrix |
![]() | |
typedef boost::numeric::ublas::vector< double > | ubvector |
typedef boost::numeric::ublas::matrix< double > | ubmatrix |
Public Member Functions | |
int | solve_grid (double x0, double x1, double h, size_t n, vec_t &ystart, vec_t ¥d, vec_int_t &index, size_t nsol, vec_t &xsol, mat_t &ysol, mat_t &err_sol, mat_t &dydx_sol, func_t &derivs) |
Desc. | |
![]() | |
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. | |
Protected Member Functions | |
int | solve_grid_fun (size_t nv, const vec_t &tx, vec_t &ty) |
The shooting function to be solved by the multidimensional solver. | |
![]() | |
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 | |
size_t | l_nsol |
Desc. | |
vec_t * | l_xsol |
Desc. | |
mat_t * | l_ysol |
Desc. | |
mat_t * | l_dydxsol |
Desc. | |
mat_t * | l_errsol |
Desc. | |
![]() | |
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. | |
vec_t | sy |
vec_t | sy2 |
vec_t | syerr |
vec_t | sdydx |
Additional Inherited Members | |
![]() | |
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. | |
![]() | |
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. | |
This class is experimental.
Default template arguments
func_t
- ode_funct11vec_t
- boost::numeric::ublas::vector < double >vec_int_t
- boost::numeric::ublas::vector < int > Definition at line 359 of file ode_bv_solve.h.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).