Actual source code: petscpcdef.h
petsc-3.7.7 2017-09-25
Report Typos and Errors

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

      8:  #include petsc/finclude/petscmatdef.h
      9:  #include petsc/finclude/petscdmdef.h

     11: #if !defined(PETSC_USE_FORTRAN_DATATYPES)
     12: #define PC PetscFortranAddr
     13: #endif
     14: #define PCSide PetscEnum
     15: #define PCJacobiType PetscEnum
     16: #define PCASMType PetscEnum
     17: #define PCCompositeType PetscEnum
     18: #define PCRichardsonConvergedReason PetscEnum
     19: #define PCType character*(80)
     20: #define PCFieldSplitSchurPreType PetscEnum
     21: #define PCPARMSGlobalType PetscEnum
     22: #define PCPARMSLocalType PetscEnum
     23: #define PCFieldSplitSchurFactType PetscEnum
     24: #define CoarseProblemType PetscEnum
     25: #define PCGAMGType character*(80)
     26: !
     27: ! GAMG types
     28: !
     29: #define PCGAMGAGG 'agg'
     30: #define PCGAMGGEO  'geo'
     31: !
     32: !  Various preconditioners
     33: !
     34: #define PCNONE 'none'
     35: #define PCJACOBI 'jacobi'
     36: #define PCSOR 'sor'
     37: #define PCLU 'lu'
     38: #define PCSHELL 'shell'
     39: #define PCBJACOBI 'bjacobi'
     40: #define PCMG 'mg'
     41: #define PCEISENSTAT 'eisenstat'
     42: #define PCILU 'ilu'
     43: #define PCICC 'icc'
     44: #define PCASM 'asm'
     45: #define PCGASM 'gasm'
     46: #define PCKSP 'ksp'
     47: #define PCCOMPOSITE 'composite'
     48: #define PCREDUNDANT 'redundant'
     49: #define PCSPAI 'spai'
     50: #define PCNN 'nn'
     51: #define PCCHOLESKY 'cholesky'
     52: #define PCPBJACOBI 'pbjacobi'
     53: #define PCMAT 'mat'
     54: #define PCHYPRE 'hypre'
     55: #define PCPARMS 'parms'
     56: #define PCFIELDSPLIT 'fieldsplit'
     57: #define PCTFS 'tfs'
     58: #define PCML 'ml'
     59: #define PCGALERKIN 'galerkin'
     60: #define PCEXOTIC 'exotic'
     61: #define PCSUPPORTGRAPH 'supportgraph'
     62: #define PCCP 'cp'
     63: #define PCBFBT 'bfbt'
     64: #define PCLSC 'lsc'
     65: #define PCPYTHON 'python'
     66: #define PCPFMG 'pfmg'
     67: #define PCSYSPFMG 'syspfmg'
     68: #define PCREDISTRIBUTE 'redistribute'
     69: #define PCSVD 'svd'
     70: #define PCGAMG 'gamg'
     71: #define PCSACUSP 'sacusp'
     72: #define PCSACUSPPOLY 'sacusppoly'
     73: #define PCBICGSTABCUSP 'bicgstabcusp'
     74: #define PCAINVCUSP 'ainvcusp'
     75: #define PCBDDC 'bddc'

     77: #define PCMGType PetscEnum
     78: #define PCMGCycleType PetscEnum
     79: #define PCExoticType PetscEnum
     80: #define PCFailedReason PetscEnum
     81: #endif