ECOGEN 6.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
LSODA Class Reference

#include <LSODA.h>

Public Member Functions

 LSODA ()
 ~LSODA ()
size_t idamax1 (const vector< double > &dx, const size_t n, const size_t offset)
void dscal1 (const double da, vector< double > &dx, const size_t n, const size_t offset)
double ddot1 (const vector< double > &a, const vector< double > &b, const size_t n, const size_t offsetA, const size_t offsetB)
void daxpy1 (const double da, const vector< double > &dx, vector< double > &dy, const size_t n, const size_t offsetX, const size_t offsetY)
void dgesl (const vector< vector< double > > &a, const size_t n, vector< int > &ipvt, vector< double > &b, const size_t job)
void dgefa (vector< vector< double > > &a, const size_t n, vector< int > &ipvt, size_t *const info)
void prja (const size_t neq, vector< double > &y, LSODA_ODE_SYSTEM_TYPE f, void *_data)
void lsoda (LSODA_ODE_SYSTEM_TYPE f, const size_t neq, vector< double > &y, double *t, double tout, int itask, int *istate, int iopt, int jt, array< int, 7 > &iworks, array< double, 4 > &rworks, void *_data)
void correction (const size_t neq, vector< double > &y, LSODA_ODE_SYSTEM_TYPE f, size_t *corflag, double pnorm, double *del, double *delp, double *told, size_t *ncf, double *rh, size_t *m, void *_data)
void stoda (const size_t neq, vector< double > &y, LSODA_ODE_SYSTEM_TYPE f, void *_data)
void lsoda_update (LSODA_ODE_SYSTEM_TYPE f, const size_t neq, vector< double > &y, double *t, const double tout, int *istate, void *const _data, double rtol=1.e-6, double atol=0.)
void terminate (int *istate)
void terminate2 (vector< double > &y, double *t)
void successreturn (vector< double > &y, double *t, int itask, int ihit, double tcrit, int *istate)
void _freevectors (void)
void ewset (const vector< double > &ycur)
void resetcoeff (void)
void solsy (vector< double > &y)
void endstoda (void)
void orderswitch (double *rhup, double dsm, double *pdh, double *rh, size_t *orderflag)
void intdy (double t, int k, vector< double > &dky, int *iflag)
void corfailure (double *told, double *rh, size_t *ncf, size_t *corflag)
void methodswitch (double dsm, double pnorm, double *pdh, double *rh)
void cfode (int meth_)
void scaleh (double *rh, double *pdh)
double fnorm (int n, const vector< vector< double > > &a, const vector< double > &w)
double vmnorm (const size_t n, const vector< double > &v, const vector< double > &w)

Static Public Member Functions

static bool abs_compare (double a, double b)

Public Attributes

void * param = nullptr

Private Attributes

size_t ml
size_t mu
size_t imxer
double sqrteta
array< size_t, 3 > mord
array< double, 13 > sm1
array< double, 14 > el
array< double, 13 > cm1
array< double, 6 > cm2
array< array< double, 14 >, 13 > elco
array< array< double, 4 >, 13 > tesco
size_t illin
size_t init
size_t ierpj
size_t iersl
size_t jcur
size_t l
size_t miter
size_t maxord
size_t maxcor
size_t msbp
size_t mxncf
int kflag
int jstart
size_t ixpr = 0
size_t jtyp
size_t mused
size_t mxordn
size_t mxords = 12
size_t meth_
size_t n
size_t nq
size_t nst
size_t nfe
size_t nje
size_t nqu
size_t mxstep
size_t mxhnil
size_t nslast
size_t nhnil
size_t ntrep
size_t nyh
double ccmax
double el0
double h_ = .0
double hmin
double hmxi
double hu
double rc
double tn_ = 0.0
double tsw
double pdnorm
double conit
double crate
double hold
double rmax
size_t ialth
size_t ipup
size_t lmax
size_t nslp
double pdest
double pdlast
double ratio
int icount
int irflag
vector< double > ewt
vector< double > savf
vector< double > acor
vector< vector< double > > yh_
vector< vector< double > > wm_
vector< int > ipvt
int itol_ = 2
std::vector< double > rtol_
std::vector< double > atol_

Constructor & Destructor Documentation

◆ LSODA()

LSODA::LSODA ( )

◆ ~LSODA()

LSODA::~LSODA ( )

Member Function Documentation

◆ _freevectors()

void LSODA::_freevectors ( void )

◆ abs_compare()

bool LSODA::abs_compare ( double a,
double b )
static

◆ cfode()

void LSODA::cfode ( int meth_)
Here is the caller graph for this function:

◆ corfailure()

void LSODA::corfailure ( double * told,
double * rh,
size_t * ncf,
size_t * corflag )
Here is the caller graph for this function:

◆ correction()

void LSODA::correction ( const size_t neq,
vector< double > & y,
LSODA_ODE_SYSTEM_TYPE f,
size_t * corflag,
double pnorm,
double * del,
double * delp,
double * told,
size_t * ncf,
double * rh,
size_t * m,
void * _data )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ daxpy1()

void LSODA::daxpy1 ( const double da,
const vector< double > & dx,
vector< double > & dy,
const size_t n,
const size_t offsetX = 0,
const size_t offsetY = 0 )
Here is the caller graph for this function:

◆ ddot1()

double LSODA::ddot1 ( const vector< double > & a,
const vector< double > & b,
const size_t n,
const size_t offsetA = 0,
const size_t offsetB = 0 )
Here is the caller graph for this function:

◆ dgefa()

void LSODA::dgefa ( vector< vector< double > > & a,
const size_t n,
vector< int > & ipvt,
size_t *const info )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dgesl()

void LSODA::dgesl ( const vector< vector< double > > & a,
const size_t n,
vector< int > & ipvt,
vector< double > & b,
const size_t job )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dscal1()

void LSODA::dscal1 ( const double da,
vector< double > & dx,
const size_t n,
const size_t offset = 0 )
Here is the caller graph for this function:

◆ endstoda()

void LSODA::endstoda ( void )
Here is the caller graph for this function:

◆ ewset()

void LSODA::ewset ( const vector< double > & ycur)
Here is the caller graph for this function:

◆ fnorm()

double LSODA::fnorm ( int n,
const vector< vector< double > > & a,
const vector< double > & w )
Here is the caller graph for this function:

◆ idamax1()

size_t LSODA::idamax1 ( const vector< double > & dx,
const size_t n,
const size_t offset = 0 )
Here is the caller graph for this function:

◆ intdy()

void LSODA::intdy ( double t,
int k,
vector< double > & dky,
int * iflag )
Here is the caller graph for this function:

◆ lsoda()

void LSODA::lsoda ( LSODA_ODE_SYSTEM_TYPE f,
const size_t neq,
vector< double > & y,
double * t,
double tout,
int itask,
int * istate,
int iopt,
int jt,
array< int, 7 > & iworks,
array< double, 4 > & rworks,
void * _data )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lsoda_update()

void LSODA::lsoda_update ( LSODA_ODE_SYSTEM_TYPE f,
const size_t neq,
vector< double > & y,
double * t,
const double tout,
int * istate,
void *const _data,
double rtol = 1.e-6,
double atol = 0. )

@Synopsis Simpler interface.

@Param f System @Param neq, size of system. @Param y, init values of size neq @Param yout, results vector for size neq+1, ignore yout[0] @Param t, start time. @Param tout, stop time. @Param _data @Param rtol, relative tolerance. @Param atol, absolute tolerance.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ methodswitch()

void LSODA::methodswitch ( double dsm,
double pnorm,
double * pdh,
double * rh )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ orderswitch()

void LSODA::orderswitch ( double * rhup,
double dsm,
double * pdh,
double * rh,
size_t * orderflag )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ prja()

void LSODA::prja ( const size_t neq,
vector< double > & y,
LSODA_ODE_SYSTEM_TYPE f,
void * _data )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetcoeff()

void LSODA::resetcoeff ( void )
Here is the caller graph for this function:

◆ scaleh()

void LSODA::scaleh ( double * rh,
double * pdh )
Here is the caller graph for this function:

◆ solsy()

void LSODA::solsy ( vector< double > & y)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ stoda()

void LSODA::stoda ( const size_t neq,
vector< double > & y,
LSODA_ODE_SYSTEM_TYPE f,
void * _data )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ successreturn()

void LSODA::successreturn ( vector< double > & y,
double * t,
int itask,
int ihit,
double tcrit,
int * istate )
Here is the caller graph for this function:

◆ terminate()

void LSODA::terminate ( int * istate)
Here is the caller graph for this function:

◆ terminate2()

void LSODA::terminate2 ( vector< double > & y,
double * t )
Here is the caller graph for this function:

◆ vmnorm()

double LSODA::vmnorm ( const size_t n,
const vector< double > & v,
const vector< double > & w )
Here is the caller graph for this function:

Member Data Documentation

◆ acor

vector<double> LSODA::acor
private

◆ atol_

std::vector<double> LSODA::atol_
private

◆ ccmax

double LSODA::ccmax
private

◆ cm1

array<double, 13> LSODA::cm1
private

◆ cm2

array<double, 6> LSODA::cm2
private

◆ conit

double LSODA::conit
private

◆ crate

double LSODA::crate
private

◆ el

array<double, 14> LSODA::el
private

◆ el0

double LSODA::el0
private

◆ elco

array<array<double, 14>, 13> LSODA::elco
private

◆ ewt

vector<double> LSODA::ewt
private

◆ h_

double LSODA::h_ = .0
private

◆ hmin

double LSODA::hmin
private

◆ hmxi

double LSODA::hmxi
private

◆ hold

double LSODA::hold
private

◆ hu

double LSODA::hu
private

◆ ialth

size_t LSODA::ialth
private

◆ icount

int LSODA::icount
private

◆ ierpj

size_t LSODA::ierpj
private

◆ iersl

size_t LSODA::iersl
private

◆ illin

size_t LSODA::illin
private

◆ imxer

size_t LSODA::imxer
private

◆ init

size_t LSODA::init
private

◆ ipup

size_t LSODA::ipup
private

◆ ipvt

vector<int> LSODA::ipvt
private

◆ irflag

int LSODA::irflag
private

◆ itol_

int LSODA::itol_ = 2
private

◆ ixpr

size_t LSODA::ixpr = 0
private

◆ jcur

size_t LSODA::jcur
private

◆ jstart

int LSODA::jstart
private

◆ jtyp

size_t LSODA::jtyp
private

◆ kflag

int LSODA::kflag
private

◆ l

size_t LSODA::l
private

◆ lmax

size_t LSODA::lmax
private

◆ maxcor

size_t LSODA::maxcor
private

◆ maxord

size_t LSODA::maxord
private

◆ meth_

size_t LSODA::meth_
private

◆ miter

size_t LSODA::miter
private

◆ ml

size_t LSODA::ml
private

◆ mord

array<size_t, 3> LSODA::mord
private

◆ msbp

size_t LSODA::msbp
private

◆ mu

size_t LSODA::mu
private

◆ mused

size_t LSODA::mused
private

◆ mxhnil

size_t LSODA::mxhnil
private

◆ mxncf

size_t LSODA::mxncf
private

◆ mxordn

size_t LSODA::mxordn
private

◆ mxords

size_t LSODA::mxords = 12
private

◆ mxstep

size_t LSODA::mxstep
private

◆ n

size_t LSODA::n
private

◆ nfe

size_t LSODA::nfe
private

◆ nhnil

size_t LSODA::nhnil
private

◆ nje

size_t LSODA::nje
private

◆ nq

size_t LSODA::nq
private

◆ nqu

size_t LSODA::nqu
private

◆ nslast

size_t LSODA::nslast
private

◆ nslp

size_t LSODA::nslp
private

◆ nst

size_t LSODA::nst
private

◆ ntrep

size_t LSODA::ntrep
private

◆ nyh

size_t LSODA::nyh
private

◆ param

void* LSODA::param = nullptr

◆ pdest

double LSODA::pdest
private

◆ pdlast

double LSODA::pdlast
private

◆ pdnorm

double LSODA::pdnorm
private

◆ ratio

double LSODA::ratio
private

◆ rc

double LSODA::rc
private

◆ rmax

double LSODA::rmax
private

◆ rtol_

std::vector<double> LSODA::rtol_
private

◆ savf

vector<double> LSODA::savf
private

◆ sm1

array<double, 13> LSODA::sm1
private

◆ sqrteta

double LSODA::sqrteta
private

◆ tesco

array<array<double, 4>, 13> LSODA::tesco
private

◆ tn_

double LSODA::tn_ = 0.0
private

◆ tsw

double LSODA::tsw
private

◆ wm_

vector<vector<double> > LSODA::wm_
private

◆ yh_

vector<vector<double> > LSODA::yh_
private

The documentation for this class was generated from the following files:
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/libTierces/LSODA.h
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/libTierces/LSODA.cpp