Actual source code: petscpc.h

petsc-3.8.3 2017-12-09
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/petscmat.h"
  9: #include "petsc/finclude/petscdm.h"

 11: #define PC type(tPC)

 13: #define PCSide PetscEnum
 14: #define PCJacobiType PetscEnum
 15: #define PCASMType PetscEnum
 16: #define PCGASMType 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 PCMGGalerkinType PetscEnum
 80: #define PCExoticType PetscEnum
 81: #define PCFailedReason PetscEnum
 82: #endif