COPASI API  4.16.103
CInternalSolver.h
Go to the documentation of this file.
1 // Copyright (C) 2010 - 2014 by Pedro Mendes, Virginia Tech Intellectual
2 // Properties, Inc., University of Heidelberg, and The University
3 // of Manchester.
4 // All rights reserved.
5 
6 // Copyright (C) 2008 - 2009 by Pedro Mendes, Virginia Tech Intellectual
7 // Properties, Inc., EML Research, gGmbH, University of Heidelberg,
8 // and The University of Manchester.
9 // All rights reserved.
10 
11 // Copyright (C) 2006 - 2007 by Pedro Mendes, Virginia Tech Intellectual
12 // Properties, Inc. and EML Research, gGmbH.
13 // All rights reserved.
14 
15 //
16 // This C++ code is based on an f2c conversion of the Fortran
17 // library ODEPACK available at: http://www.netlib.org/odepack/
18 
19 #ifndef ODEPACK_CInternalSolver
20 #define ODEPACK_CInternalSolver
21 
22 #include "odepack++/common.h"
23 #include "odepack++/Cxerrwd.h"
24 
26 {
27 private:
28  struct State
29  {
33  };
34 
35 protected:
37 
38 public:
40 
41  void setOstream(std::ostream & os);
42 
43  void enablePrint(const bool & print = true);
44 
45  void saveState();
46  void resetState();
47 
48 protected:
49  C_INT dintdy_(double *t, const C_INT *k, double *yh,
50  C_INT *nyh, double *dky, C_INT *iflag);
51 
52  C_INT dprja_(C_INT *neq, double *y, double *yh,
53  C_INT *nyh, double *ewt, double *ftem, double *savf,
54  double *wm, C_INT *iwm, evalF f, evalJ jac);
55 
56  C_INT drchek_(const C_INT * job, evalG g, C_INT *neq, double *
57  y, double *yh, C_INT *nyh, double *g0, double *g1,
58  double *gx, C_INT *jroot, C_INT *irt);
59 
60  C_INT droots_(C_INT *ng, double *hmin, C_INT *jflag,
61  double *x0, double *x1, double *g0, double *g1,
62  double *gx, double *x, C_INT *jroot);
63 
64  C_INT dsolsy_(double *wm, C_INT *iwm, double *x,
65  double *tem);
66 
67  C_INT dstoda_(C_INT *neq, double *y, double *yh,
68  C_INT *nyh, double *yh1, double *ewt, double *savf,
69  double *acor, double *wm, C_INT *iwm, evalF f, evalJ jac,
70  PJAC * pjac, SLVS * slvs);
71 
72 protected:
78 };
79 
80 #endif // ODEPACK_CInternalSolver
C_INT dstoda_(C_INT *neq, double *y, double *yh, C_INT *nyh, double *yh1, double *ewt, double *savf, double *acor, double *wm, C_INT *iwm, evalF f, evalJ jac, PJAC *pjac, SLVS *slvs)
Definition: dstoda.cpp:45
#define C_INT
Definition: copasi.h:115
void(* evalG)(const C_INT *, const double *, const double *, const C_INT *, double *)
Definition: common.h:32
Definition: common.h:190
C_INT droots_(C_INT *ng, double *hmin, C_INT *jflag, double *x0, double *x1, double *g0, double *g1, double *gx, double *x, C_INT *jroot)
Definition: drcheck.cpp:343
C_INT dintdy_(double *t, const C_INT *k, double *yh, C_INT *nyh, double *dky, C_INT *iflag)
Definition: dintdy.cpp:53
void setOstream(std::ostream &os)
void(* evalF)(const C_INT *, const double *, const double *, double *)
Definition: common.h:29
Definition: common.h:102
Definition: common.h:74
void(* evalJ)(const C_INT *, const double *, const double *, const C_INT *, const C_INT *, double *, const C_INT *)
Definition: common.h:30
Definition: common.h:35
void enablePrint(const bool &print=true)
C_INT dsolsy_(double *wm, C_INT *iwm, double *x, double *tem)
Definition: dsolsy.cpp:43
C_INT dprja_(C_INT *neq, double *y, double *yh, C_INT *nyh, double *ewt, double *ftem, double *savf, double *wm, C_INT *iwm, evalF f, evalJ jac)
Definition: dprja.cpp:47
C_INT drchek_(const C_INT *job, evalG g, C_INT *neq, double *y, double *yh, C_INT *nyh, double *g0, double *g1, double *gx, C_INT *jroot, C_INT *irt)
Definition: drcheck.cpp:46
Definition: common.h:130