Solve boundary-value ODE problems by shooting from one boundary to the other.
More...
#include <ode_bv_solve.h>
template<class func_t = ode_funct, class vec_t = boost::numeric::ublas::vector<double>, class vec_int_t = boost::numeric::ublas::vector<int>>
class o2scl::ode_bv_shoot< func_t, vec_t, vec_int_t >
This class is experimental.
Documentation links for default template arguments
Definition at line 84 of file ode_bv_solve.h.
|
|
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. More...
|
| |
|
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.
|
| |
|
|
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.
|
| |
|
|
vec_t | sy |
| |
|
vec_t | sy2 |
| |
|
vec_t | syerr |
| |
|
vec_t | sdydx |
| |
|
size_t | mem_size |
| | Size of recent allocation.
|
| |
|
int | solve_fun (size_t nv, const vec_t &tx, vec_t &ty) |
| | The shooting function to be solved by the multidimensional solver.
|
| |
|
|
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.
|
| |
◆ solve_final_value()
template<class func_t = ode_funct, class vec_t = boost::numeric::ublas::vector<double>, class vec_int_t = boost::numeric::ublas::vector<int>>
| int o2scl::ode_bv_shoot< func_t, vec_t, vec_int_t >::solve_final_value |
( |
double |
x0, |
|
|
double |
x1, |
|
|
double |
h, |
|
|
size_t |
n, |
|
|
vec_t & |
ystart, |
|
|
vec_t & |
yend, |
|
|
vec_int_t & |
index, |
|
|
vec_t & |
yerr, |
|
|
vec_t & |
dydx_end, |
|
|
func_t & |
derivs |
|
) |
| |
|
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.
◆ solve_store()
template<class func_t = ode_funct, class vec_t = boost::numeric::ublas::vector<double>, class vec_int_t = boost::numeric::ublas::vector<int>>
template<class mat_t , class mat_row_t >
| int o2scl::ode_bv_shoot< func_t, vec_t, vec_int_t >::solve_store |
( |
double |
x0, |
|
|
double |
x1, |
|
|
double |
h, |
|
|
size_t |
n, |
|
|
vec_t & |
ystart, |
|
|
vec_t & |
yend, |
|
|
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 |
|
) |
| |
|
inline |
The documentation for this class was generated from the following file: