Actual source code: petscpc.h

  1: !
  2: !  $Id: petscpc.h,v 1.37 2001/04/10 22:37:56 balay Exp $;
  3: !
  4: !  Include file for Fortran use of the PC (preconditioner) package in PETSc
  5: !
  6: #if !defined (__PETSCPC_H)

  9: #define PC PetscFortranAddr
 10: #define PCSide integer
 11: #define PCASMType integer
 12: #define PCCompositeType integer
 13: #define PCType character*(80)
 14: !
 15: !  Various preconditioners
 16: !
 17: #define PCNONE 'none'
 18: #define PCJACOBI 'jacobi'
 19: #define PCSOR 'sor'
 20: #define PCLU 'lu'
 21: #define PCSHELL 'shell'
 22: #define PCBJACOBI 'bjacobi'
 23: #define PCMG 'mg'
 24: #define PCEISENSTAT 'eisenstat'
 25: #define PCILU 'ilu'
 26: #define PCICC 'icc'
 27: #define PCASM 'asm'
 28: #define PCSLES 'sles'
 29: #define PCCOMPOSITE 'composite'
 30: #define PCREDUNDANT 'redundant'
 31: #define PCSPAI 'spai'
 32: #define PCMILU 'milu'
 33: #define PCNN 'nn'
 34: #define PCCHOLESKY 'cholesky'
 35: #define PCRAMG 'ramg'

 37: #endif

 39: #if !defined (PETSC_AVOID_DECLARATIONS)
 40: !
 41: !  PCSide
 42: !
 43:       integer PC_LEFT,PC_RIGHT,PC_SYMMETRIC
 44:       parameter (PC_LEFT=0,PC_RIGHT=1,PC_SYMMETRIC=2)

 46:       integer USE_PRECONDITIONER_MATRIX,USE_TRUE_MATRIX
 47:       parameter (USE_PRECONDITIONER_MATRIX=0,USE_TRUE_MATRIX=1)

 49: !
 50: ! PCASMType
 51: !
 52:       integer PC_ASM_BASIC,PC_ASM_RESTRICT,PC_ASM_INTERPOLATE
 53:       integer PC_ASM_NONE

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

 67: #endif