LILAC
|
#include <math.h>
#include "../utils/defs.h"
#include <stdio.h>
#include <stdlib.h>
Go to the source code of this file.
Macros | |
#define | max(a, b) ( (a) > (b) ? (a) : (b) ) |
#define | min(a, b) ( (a) < (b) ? (a) : (b) ) |
#define | ETA 2.2204460492503131e-16 |
Typedefs | |
typedef void(* | _lsoda_f )(double, double *, double *, void *) |
Functions | |
static int | idamax (size_t n, double *dx, size_t incx) |
void | dscal (size_t n, double da, double *dx, size_t incx) |
static double | ddot (size_t n, double *dx, size_t incx, double *dy, size_t incy) |
static void | daxpy (size_t n, double da, double *restr dx, size_t incx, double *restr dy, size_t incy) |
static void | dgesl (double *restr *restr a, int n, int *ipvt, double *restr b, int job) |
void | dgefa (double **a, int n, int *ipvt, int *info) |
static void | stoda (int neq, double *y, _lsoda_f f, void *_data) |
static void | correction (int neq, double *y, _lsoda_f f, int *corflag, double pnorm, double *del, double *delp, double *told, int *ncf, double *rh, int *m, void *_data) |
static void | prja (int neq, double *y, _lsoda_f f, void *_data) |
static void | terminate (int *istate) |
static void | terminate2 (double *y, double *t) |
static void | successreturn (double *y, double *t, int itask, int ihit, double tcrit, int *istate) |
static void | freevectors (void) |
static void | _freevectors (void) |
static void | ewset (int itol, double *rtol, double *atol, double *ycur) |
static void | resetcoeff (void) |
static void | solsy (double *y) |
static void | endstoda (void) |
static void | orderswitch (double *rhup, double dsm, double *pdh, double *rh, int *orderflag) |
static void | intdy (double t, int k, double *dky, int *iflag) |
static void | corfailure (double *told, double *rh, int *ncf, int *corflag) |
static void | methodswitch (double dsm, double pnorm, double *pdh, double *rh) |
static void | cfode (int meth) |
static void | scaleh (double *rh, double *pdh) |
static double | fnorm (int n, double **a, double *w) |
static double | vmnorm (int n, double *v, double *w) |
void | lsoda (_lsoda_f f, int neq, double *y, double *t, double tout, int itol, double *rtol, double *atol, int itask, int *istate, int iopt, int jt, int iwork1, int iwork2, int iwork5, int iwork6, int iwork7, int iwork8, int iwork9, double rwork1, double rwork5, double rwork6, double rwork7, void *_data) |
int | n_lsoda (double y[], int n, double *x, double xout, double eps, const double yscal[], _lsoda_f devis, void *data) |
void | n_lsoda_terminate (void) |
Variables | |
static int | g_nyh = 0 |
static int | g_lenyh = 0 |
static int | ml |
static int | mu |
static int | imxer |
static int | mord [3] = {0, 12, 5} |
static double | sqrteta |
static double * | yp1 |
static double * | yp2 |
static double | sm1 [13] = {0., 0.5, 0.575, 0.55, 0.45, 0.35, 0.25, 0.2, 0.15, 0.1, 0.075, 0.05, 0.025} |
static double | ccmax |
static double | el0 |
static double | h |
static double | hmin |
static double | hmxi |
static double | hu |
static double | rc |
static double | tn |
static int | illin = 0 |
static int | init = 0 |
static int | mxstep |
static int | mxhnil |
static int | nhnil |
static int | ntrep = 0 |
static int | nslast |
static int | nyh |
static int | ierpj |
static int | iersl |
static int | jcur |
static int | jstart |
static int | kflag |
static int | l |
static int | meth |
static int | miter |
static int | maxord |
static int | maxcor |
static int | msbp |
static int | mxncf |
static int | n |
static int | nq |
static int | nst |
static int | nfe |
static int | nje |
static int | nqu |
static double | tsw |
static double | pdnorm |
static int | ixpr = 0 |
static int | jtyp |
static int | mused |
static int | mxordn |
static int | mxords |
static double | conit |
static double | crate |
static double | el [14] |
static double | elco [13][14] |
static double | hold |
static double | rmax |
static double | tesco [13][4] |
static int | ialth |
static int | ipup |
static int | lmax |
static int | nslp |
static double | pdest |
static double | pdlast |
static double | ratio |
static double | cm1 [13] |
static double | cm2 [6] |
static int | icount |
static int | irflag |
static double ** | yh |
static double ** | wm |
static double * | ewt |
static double * | savf |
static double * | acor |
static int * | ipvt |
typedef void(* _lsoda_f)(double, double *, double *, void *) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
void dgefa | ( | double ** | a, |
int | n, | ||
int * | ipvt, | ||
int * | info | ||
) |
|
static |
void dscal | ( | size_t | n, |
double | da, | ||
double * | dx, | ||
size_t | incx | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
void lsoda | ( | _lsoda_f | f, |
int | neq, | ||
double * | y, | ||
double * | t, | ||
double | tout, | ||
int | itol, | ||
double * | rtol, | ||
double * | atol, | ||
int | itask, | ||
int * | istate, | ||
int | iopt, | ||
int | jt, | ||
int | iwork1, | ||
int | iwork2, | ||
int | iwork5, | ||
int | iwork6, | ||
int | iwork7, | ||
int | iwork8, | ||
int | iwork9, | ||
double | rwork1, | ||
double | rwork5, | ||
double | rwork6, | ||
double | rwork7, | ||
void * | _data | ||
) |
|
static |
int n_lsoda | ( | double | y[], |
int | n, | ||
double * | x, | ||
double | xout, | ||
double | eps, | ||
const double | yscal[], | ||
_lsoda_f | devis, | ||
void * | data | ||
) |
void n_lsoda_terminate | ( | void | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |