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