home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / biology / gsrc208a.zip / LSODA.H < prev    next >
C/C++ Source or Header  |  1992-11-23  |  3KB  |  84 lines

  1. /**************************************************/
  2. /* lsoda.h - header file for blocks calling lsoda */
  3. /* lybrary with ANSI C style function prototypes  */
  4. /**************************************************/
  5.  
  6.  
  7. void lsoda( void (*f)(),
  8.                    int neq,
  9.                    double *y,
  10.                    double *t,
  11.                    double tout,
  12.                    int itol,
  13.                    double *rtol,
  14.                    double *atol,
  15.                    int itask,
  16.                    int *istate,
  17.                    int iopt,
  18.                    int jt,
  19.                    int iwork1,
  20.                    int iwork2,
  21.                    int iwork5,
  22.                    int iwork6,
  23.                    int iwork7,
  24.                    int iwork8,
  25.                    int iwork9,
  26.                    double rwork1,
  27.                    double rwork5,
  28.                    double rwork6,
  29.                    double rwork7
  30.                  );
  31.  
  32. void freevectors( void );
  33.  
  34. /******************************/
  35. /* functions callable by user */
  36. /******************************/
  37.  
  38. extern void xsetf( int mflag );
  39. extern void intdy( double t, int k, double *dky, int *iflag );
  40.  
  41.  
  42. /*****************************************/
  43. /* LINPACK functions for solving full    */
  44. /* systems of linear algebraic equations */
  45. /*****************************************/
  46.  
  47. extern void dgesl( double **a, int n, int *ipvt, double *b, int job );
  48. extern void dgefa( double **a, int n, int *ipvt, int *info );
  49.  
  50.  
  51. /***************************************/
  52. /* basic linear algebra modules (lbas) */
  53. /* used by the above LINPACK functions */
  54. /***************************************/
  55.  
  56. extern int idamax( int n, double *dx, int incx );
  57. extern void dscal( int n, double da, double *dx, int incx );
  58. extern double ddot( int n, double *dx, int incx, double *dy, int incy );
  59. extern void daxpy( int n, double da, double *dx,
  60.                    int incx, double *dy, int incy );
  61.  
  62.  
  63. /***************************/
  64. /* useful global variables */
  65. /***************************/
  66.  
  67. extern double hu;      /* the step size in t last used (successfully)       */
  68. extern double h;       /* ???? */
  69. extern double tn;      /* ???? */
  70. extern double tolsf;   /* tolerance scale factor, greater than 1.0          */
  71. extern double tsw;     /* the value of t at the time of the last method sw. */
  72. extern int nst;        /* the number of steps taken for the problem so far  */
  73. extern int nfe;        /* the number of f evaluations for the probl. so far */
  74. extern int nje;        /* the number of jacobian evaluations (and of matrix */
  75.                        /* LU decompositions) for the problem so far         */
  76. extern int nqu;        /* the method order last used                        */
  77. extern int nq;         /* ???? */
  78. extern int imxer;      /* the index of the component of largest magnitude   */
  79.                        /* in the weighted local error vector e(i)/ewt(i),   */
  80.                        /* on an error return with istate = -4 or -5         */
  81. extern int mused;      /* the method indicator for the last successful step */
  82.                        /* 1 means Adams (nonstiff), 2 means bdf (stiff)     */
  83. extern int meth;       /* ???? */
  84.