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'

     40: #endif

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

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

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

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

     70: #endif