Actual source code: taopetsc.h

      1: #ifndef TAOPETSCHEADER_H
      2: #define TAOPETSCHEADER_H

      4: #include "petscksp.h"

      6: // #include "taoapp.h"
      7: typedef struct _p_TAOAPPLICATION* TAO_APPLICATION;
      8: typedef struct _p_TAO_SOLVER* TAO_SOLVER;

     11: /* Actually wrappers around the TAO_SOLVER object so users can get access to PETSC structures */

     24: /* Interface between TAO_SOLVER and TAO_APPLICATION */

     31: /* May not be supported in future releases */
     32: #define TaoPetscApplicationCreate(a,b)     TaoApplicationCreate(a,b)
     33: #define TaoSolvePetscApplication(a)        TaoSolve(a)
     34: #define TaoSetPetscInitialVector(a,b)      TaoAppSetInitialSolutionVec(a,b)
     35: #define TaoSetPetscVariableBounds(a,b,c)   TaoAppSetVariableBounds(a,b,c)
     36: #define TAO_COMPLEMENTARITY 0

     49: class TaoVecPetsc;
     50: class TaoMatPetsc;
     51: class TaoIndexSetPetsc;
     52: class TaoLinearSolverPetsc;
     53:  #include taovec.h
     54:  #include taomat.h
     55:  #include taois.h
     56:  #include taolinearsolver.h

     71: typedef enum { /* Method used to identify variables */
     72:   TaoRedistributeSubset=0,
     73:   TaoNoRedistributeSubset=2,
     74:   TaoSingleProcessor=5,
     75:   TaoMaskFullSpace=3} TaoPetscISType;

     94: // #include "petscdaapp.h"

     96: #endif