Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
o2scl::ode_bv_shoot< func_t, vec_t, vec_int_t > Class Template Reference

Solve boundary-value ODE problems by shooting from one boundary to the other. More...

#include <ode_bv_solve.h>

Inheritance diagram for o2scl::ode_bv_shoot< func_t, vec_t, vec_int_t >:
o2scl::ode_bv_solve o2scl::ode_bv_shoot_grid< mat_t, mat_row_t, func_t, vec_t, vec_int_t >

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 &yend, 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 &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)
 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.
 
- Public Attributes inherited from o2scl::ode_bv_solve
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 Public Attributes inherited from o2scl::ode_bv_solve
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.
 

Detailed Description

template<class func_t = ode_funct11, 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.

Member Function Documentation

◆ solve_final_value()

template<class func_t = ode_funct11, 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.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).