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