Actual source code: sundials.h

  2: /*
  3:     Provides a PETSc interface to SUNDIALS. Alan Hindmarsh's parallel ODE
  4:    solver developed at LLNL.
  5: */


 10:  #include src/ts/tsimpl.h
 11:  #include private/pcimpl.h
 12:  #include src/mat/matimpl.h

 14: /*
 15:    Include files specific for SUNDIALS
 16: */
 17: #if defined(PETSC_HAVE_SUNDIALS)

 20: #include "sundialstypes.h"
 21: #include "cvode.h"
 22: #include "nvector_parallel.h"
 23: #include "iterative.h" 
 24: #include "cvspgmr.h"

 27: typedef struct {
 28:   Vec  update;    /* work vector where new solution is formed */
 29:   Vec  func;      /* work vector where F(t[i],u[i]) is stored */
 30:   Vec  rhs;       /* work vector for RHS; vec_sol/dt */
 31:   Vec  w1,w2;     /* work space vectors for function evaluation */
 32:   PetscTruth  exact_final_time; /* force Sundials to interpolate solution to exactly final time
 33:                                    requested by user (default) */
 34:   /* PETSc peconditioner objects used by SUNDIALS */
 35:   Mat  pmat;                         /* preconditioner Jacobian */
 36:   PC   pc;                           /* the PC context */
 37:   int  cvode_type;                   /* the SUNDIALS method, BDF or ADAMS   */
 38:   TSSundialsGramSchmidtType gtype;
 39:   int                    restart;
 40:   double                 linear_tol;

 42:   /* Variables used by Sundials */
 43:   MPI_Comm comm_sundials;
 44:   double   reltol;
 45:   double   abstol;          /* only for using SS flag in SUNDIALS */
 46:   N_Vector y;               /* current solution */
 47:   int      nonlinear_solves,linear_solves; /* since creation of object */
 48: } TS_Sundials;
 49: #endif

 51: #endif