![]() |
ECOGEN 4.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
|
#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_ |
LSODA::LSODA | ( | ) |
LSODA::~LSODA | ( | ) |
void LSODA::_freevectors | ( | void | ) |
|
static |
void LSODA::cfode | ( | int | meth_ | ) |
void LSODA::corfailure | ( | double * | told, |
double * | rh, | ||
size_t * | ncf, | ||
size_t * | corflag | ||
) |
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 | ||
) |
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 |
||
) |
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 |
||
) |
void LSODA::dgefa | ( | vector< vector< double > > & | a, |
const size_t | n, | ||
vector< int > & | ipvt, | ||
size_t *const | info | ||
) |
void LSODA::dgesl | ( | const vector< vector< double > > & | a, |
const size_t | n, | ||
vector< int > & | ipvt, | ||
vector< double > & | b, | ||
const size_t | job | ||
) |
void LSODA::dscal1 | ( | const double | da, |
vector< double > & | dx, | ||
const size_t | n, | ||
const size_t | offset = 0 |
||
) |
void LSODA::endstoda | ( | void | ) |
void LSODA::ewset | ( | const vector< double > & | ycur | ) |
double LSODA::fnorm | ( | int | n, |
const vector< vector< double > > & | a, | ||
const vector< double > & | w | ||
) |
size_t LSODA::idamax1 | ( | const vector< double > & | dx, |
const size_t | n, | ||
const size_t | offset = 0 |
||
) |
void LSODA::intdy | ( | double | t, |
int | k, | ||
vector< double > & | dky, | ||
int * | iflag | ||
) |
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 | ||
) |
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.
void LSODA::methodswitch | ( | double | dsm, |
double | pnorm, | ||
double * | pdh, | ||
double * | rh | ||
) |
void LSODA::orderswitch | ( | double * | rhup, |
double | dsm, | ||
double * | pdh, | ||
double * | rh, | ||
size_t * | orderflag | ||
) |
void LSODA::prja | ( | const size_t | neq, |
vector< double > & | y, | ||
LSODA_ODE_SYSTEM_TYPE | f, | ||
void * | _data | ||
) |
void LSODA::resetcoeff | ( | void | ) |
void LSODA::scaleh | ( | double * | rh, |
double * | pdh | ||
) |
void LSODA::solsy | ( | vector< double > & | y | ) |
void LSODA::stoda | ( | const size_t | neq, |
vector< double > & | y, | ||
LSODA_ODE_SYSTEM_TYPE | f, | ||
void * | _data | ||
) |
void LSODA::successreturn | ( | vector< double > & | y, |
double * | t, | ||
int | itask, | ||
int | ihit, | ||
double | tcrit, | ||
int * | istate | ||
) |
void LSODA::terminate | ( | int * | istate | ) |
void LSODA::terminate2 | ( | vector< double > & | y, |
double * | t | ||
) |
double LSODA::vmnorm | ( | const size_t | n, |
const vector< double > & | v, | ||
const vector< double > & | w | ||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
void* LSODA::param = nullptr |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |