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

Solve boundary-value ODE problems by multishooting with a generic nonlinear solver. More...

#include <ode_bv_mshoot.h>

Inheritance diagram for o2scl::ode_bv_mshoot< func_t, mat_t, vec_t, vec_int_t >:
o2scl::ode_bv_solve

Public Member Functions

int solve_final_value (double h, size_t n, size_t n_bound, vec_t &x_bound, mat_t &y_bound, vec_int_t &index, func_t &derivs)
 Solve the boundary-value problem and store the solution.
 
template<class mat_row_t >
int solve_store (double h, size_t n, size_t n_bound, vec_t &x_bound, mat_t &y_bound, vec_int_t &index, size_t &n_sol, vec_t &x_sol, mat_t &y_sol, mat_t &dydx_sol, mat_t &yerr_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_xbound
 Storage for the starting vector.
 
mat_t * l_ybound
 Storage for the ending vector.
 
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 l_nbound
 The number of boundaries.
 
size_t l_lhs_unks
 The number of unknowns on the LHS.
 
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
 
vec_t sdydx2
 

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 mat_t = boost::numeric::ublas::matrix<double>, class vec_t = boost::numeric::ublas::vector<double>, class vec_int_t = boost::numeric::ublas::vector<int>>
class o2scl::ode_bv_mshoot< func_t, mat_t, vec_t, vec_int_t >

This class is experimental.

Default template arguments

Idea for Future:
Make a class which performs an iterative linear solver which uses sparse matrices like ode_it_solve?

Definition at line 55 of file ode_bv_mshoot.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).