Actual source code: petscpc.h

      1: !
      2: !
      3: !  Include file for Fortran use of the PC (preconditioner) package in PETSc
      4: !
      5: #if !defined (__PETSCPC_H)

      8: #define PC PetscFortranAddr
      9: #define PCSide PetscEnum
     10: #define PCASMType PetscEnum
     11: #define PCCompositeType PetscEnum
     12: #define PCType character*(80)
     13: !
     14: !  Various preconditioners
     15: !
     16: #define PCNONE 'none'
     17: #define PCJACOBI 'jacobi'
     18: #define PCSOR 'sor'
     19: #define PCLU 'lu'
     20: #define PCSHELL 'shell'
     21: #define PCBJACOBI 'bjacobi'
     22: #define PCMG 'mg'
     23: #define PCEISENSTAT 'eisenstat'
     24: #define PCILU 'ilu'
     25: #define PCICC 'icc'
     26: #define PCASM 'asm'
     27: #define PCKSP 'ksp'
     28: #define PCCOMPOSITE 'composite'
     29: #define PCREDUNDANT 'redundant'
     30: #define PCSPAI 'spai'
     31: #define PCMILU 'milu'
     32: #define PCNN 'nn'
     33: #define PCCHOLESKY 'cholesky'
     34: #define PCSAMG 'samg'
     35: #define PCPBJACOBI 'pbjacobi'
     36: #define PCMAT 'mat'
     37: #define PCHYPRE 'hypre'
     38: #define PCFIELDSPLIT 'fieldsplit'
     39: #define PCML 'ml'

     41: #endif

     43: #if !defined (PETSC_AVOID_DECLARATIONS)
     44: !
     45: !  PCSide
     46: !
     47:       PetscEnum PC_LEFT,PC_RIGHT,PC_SYMMETRIC
     48:       parameter (PC_LEFT=0,PC_RIGHT=1,PC_SYMMETRIC=2)

     50:       PetscEnum USE_PRECONDITIONER_MATRIX,USE_TRUE_MATRIX
     51:       parameter (USE_PRECONDITIONER_MATRIX=0,USE_TRUE_MATRIX=1)

     53: !
     54: ! PCASMType
     55: !
     56:       PetscEnum PC_ASM_BASIC,PC_ASM_RESTRICT,PC_ASM_INTERPOLATE
     57:       PetscEnum PC_ASM_NONE

     59:       parameter (PC_ASM_BASIC = 3,PC_ASM_RESTRICT = 1)
     60:       parameter (PC_ASM_INTERPOLATE = 2,PC_ASM_NONE = 0)
     61: !
     62: ! PCCompositeType
     63: !
     64:       PetscEnum PC_COMPOSITE_ADDITIVE,PC_COMPOSITE_MULTIPLICATIVE
     65:       PetscEnum PC_COMPOSITE_SPECIAL
     66:       parameter (PC_COMPOSITE_ADDITIVE=0,PC_COMPOSITE_MULTIPLICATIVE=1)
     67:       parameter (PC_COMPOSITE_SPECIAL=2)
     68: !
     69: !  End of Fortran include file for the PC package in PETSc

     71: #endif