MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Public Attributes
Numerical::ODESolver< Instance > Class Template Reference

#include <odesolver.h>

List of all members.

Public Types

typedef int(Instance::* pFun )(double t, double const Y[], double dYdt[])
 Callback function.
typedef void(Instance::* pUpFun )(double t, double Y[])
 update function (for successful steps)

Public Member Functions

 ODESolver (Instance *p2Inst, pFun p2Fun, size_t NEq, char const *Scheme="RKDP89", double stol=1.0e-6, double h=1.0, double EPSREL=DBL_EPSILON)
 ~ODESolver ()
void Evolve (double tf)
 Evolve from t to tf.
void Evolve (double tf, double dtOut, char const *Filename)
int _call_fun (double time, double const y[], double dydt[])

Public Attributes

double t
 Current time.
double * Y
 Current vector of state variables.
pUpFun UpFun
 Update function.
String Scheme
 Scheme name.
double STOL
size_t MaxSS
double mMin
double mMax
double T
double dTini
double dT
size_t SS
 number of sub-steps
size_t SSs
 number of successful sub-steps

template<typename Instance>
class Numerical::ODESolver< Instance >


Member Typedef Documentation

template<typename Instance>
typedef int(Instance::* Numerical::ODESolver< Instance >::pFun)(double t, double const Y[], double dYdt[])

Callback function.

template<typename Instance>
typedef void(Instance::* Numerical::ODESolver< Instance >::pUpFun)(double t, double Y[])

update function (for successful steps)


Constructor & Destructor Documentation

template<typename Instance >
Numerical::ODESolver< Instance >::ODESolver ( Instance *  p2Inst,
pFun  p2Fun,
size_t  NEq,
char const *  Scheme = "RKDP89",
double  stol = 1.0e-6,
double  h = 1.0,
double  EPSREL = DBL_EPSILON 
) [inline]
template<typename Instance >
Numerical::ODESolver< Instance >::~ODESolver ( ) [inline]

Member Function Documentation

template<typename Instance>
int Numerical::ODESolver< Instance >::_call_fun ( double  time,
double const  y[],
double  dydt[] 
) [inline]
template<typename Instance >
void Numerical::ODESolver< Instance >::Evolve ( double  tf) [inline]

Evolve from t to tf.

template<typename Instance >
void Numerical::ODESolver< Instance >::Evolve ( double  tf,
double  dtOut,
char const *  Filename 
) [inline]

Member Data Documentation

template<typename Instance>
double Numerical::ODESolver< Instance >::dT
template<typename Instance>
double Numerical::ODESolver< Instance >::dTini
template<typename Instance>
size_t Numerical::ODESolver< Instance >::MaxSS
template<typename Instance>
double Numerical::ODESolver< Instance >::mMax
template<typename Instance>
double Numerical::ODESolver< Instance >::mMin
template<typename Instance>
String Numerical::ODESolver< Instance >::Scheme

Scheme name.

template<typename Instance>
size_t Numerical::ODESolver< Instance >::SS

number of sub-steps

template<typename Instance>
size_t Numerical::ODESolver< Instance >::SSs

number of successful sub-steps

template<typename Instance>
double Numerical::ODESolver< Instance >::STOL
template<typename Instance>
double Numerical::ODESolver< Instance >::t

Current time.

template<typename Instance>
double Numerical::ODESolver< Instance >::T
template<typename Instance>
pUpFun Numerical::ODESolver< Instance >::UpFun

Update function.

template<typename Instance>
double* Numerical::ODESolver< Instance >::Y

Current vector of state variables.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines