Actual source code: petscpc.h
petsc-3.8.4 2018-03-24
1: !
2: !
3: ! Include file for Fortran use of the PC (preconditioner) package in PETSc
4: !
5: #include "petsc/finclude/petscpc.h"
7: type tPC
8: sequence
9: PetscFortranAddr:: v
10: end type tPC
12: PC, parameter :: PETSC_NULL_PC = tPC(-1)
13: !
14: ! PCSide
15: !
16: PetscEnum PC_LEFT
17: PetscEnum PC_RIGHT
18: PetscEnum PC_SYMMETRIC
19: parameter (PC_LEFT=0,PC_RIGHT=1,PC_SYMMETRIC=2)
20: !
21: ! PCJacobiType
22: !
23: PetscEnum PC_JACOBI_DIAGONAL
24: PetscEnum PC_JACOBI_ROWMAX
25: PetscEnum PC_JACOBI_ROWSUM
26: parameter (PC_JACOBI_DIAGONAL=0)
27: parameter (PC_JACOBI_ROWMAX=1)
28: parameter (PC_JACOBI_ROWSUM=2)
29: !
30: ! PCASMType
31: !
32: PetscEnum PC_ASM_BASIC
33: PetscEnum PC_ASM_RESTRICT
34: PetscEnum PC_ASM_INTERPOLATE
35: PetscEnum PC_ASM_NONE
37: parameter (PC_ASM_BASIC = 3,PC_ASM_RESTRICT = 1)
38: parameter (PC_ASM_INTERPOLATE = 2,PC_ASM_NONE = 0)
39: !
40: ! PCCompositeType
41: !
42: PetscEnum PC_COMPOSITE_ADDITIVE
43: PetscEnum PC_COMPOSITE_MULTIPLICATIVE
44: PetscEnum PC_COMPOSITE_SYM_MULTIPLICATIVE
45: PetscEnum PC_COMPOSITE_SPECIAL
46: PetscEnum PC_COMPOSITE_SCHUR
47: parameter (PC_COMPOSITE_ADDITIVE=0,PC_COMPOSITE_MULTIPLICATIVE=1)
48: parameter (PC_COMPOSITE_SYM_MULTIPLICATIVE=2)
49: parameter (PC_COMPOSITE_SPECIAL=3,PC_COMPOSITE_SCHUR=4)
50: !
51: ! PCRichardsonConvergedReason
52: !
53: PetscEnum PCRICHARDSON_CONVERGED_RTOL
54: PetscEnum PCRICHARDSON_CONVERGED_ATOL
55: PetscEnum PCRICHARDSON_CONVERGED_ITS
56: PetscEnum PCRICHARDSON_DIVERGED_DTOL
57: parameter (PCRICHARDSON_CONVERGED_RTOL = 2)
58: parameter (PCRICHARDSON_CONVERGED_ATOL = 3)
59: parameter (PCRICHARDSON_CONVERGED_ITS = 4)
60: parameter (PCRICHARDSON_DIVERGED_DTOL = -4)
61: !
62: ! PCFieldSplitSchurPreType
63: !
64: PetscEnum PC_FIELDSPLIT_SCHUR_PRE_SELF
65: PetscEnum PC_FIELDSPLIT_SCHUR_PRE_SELFP
66: PetscEnum PC_FIELDSPLIT_SCHUR_PRE_A11
67: PetscEnum PC_FIELDSPLIT_SCHUR_PRE_USER
68: PetscEnum PC_FIELDSPLIT_SCHUR_PRE_FULL
69: parameter (PC_FIELDSPLIT_SCHUR_PRE_SELF=0)
70: parameter (PC_FIELDSPLIT_SCHUR_PRE_SELFP=1)
71: parameter (PC_FIELDSPLIT_SCHUR_PRE_A11=2)
72: parameter (PC_FIELDSPLIT_SCHUR_PRE_USER=3)
73: parameter (PC_FIELDSPLIT_SCHUR_PRE_FULL=4)
74: !
75: ! PCPARMSGlobalType
76: !
77: PetscEnum PC_PARMS_GLOBAL_RAS
78: PetscEnum PC_PARMS_GLOBAL_SCHUR
79: PetscEnum PC_PARMS_GLOBAL_BJ
80: parameter (PC_PARMS_GLOBAL_RAS=0)
81: parameter (PC_PARMS_GLOBAL_SCHUR=1)
82: parameter (PC_PARMS_GLOBAL_BJ=2)
83: !
84: ! PCPARMSLocalType
85: !
86: PetscEnum PC_PARMS_LOCAL_ILU0
87: PetscEnum PC_PARMS_LOCAL_ILUK
88: PetscEnum PC_PARMS_LOCAL_ILUT
89: PetscEnum PC_PARMS_LOCAL_ARMS
90: parameter (PC_PARMS_LOCAL_ILU0=0)
91: parameter (PC_PARMS_LOCAL_ILUK=1)
92: parameter (PC_PARMS_LOCAL_ILUT=2)
93: parameter (PC_PARMS_LOCAL_ARMS=3)
94: !
95: ! PCFieldSplitSchurFactType
96: !
97: PetscEnum PC_FIELDSPLIT_SCHUR_FACT_DIAG
98: PetscEnum PC_FIELDSPLIT_SCHUR_FACT_LOWER
99: PetscEnum PC_FIELDSPLIT_SCHUR_FACT_UPPER
100: PetscEnum PC_FIELDSPLIT_SCHUR_FACT_FULL
101: parameter (PC_FIELDSPLIT_SCHUR_FACT_DIAG=0)
102: parameter (PC_FIELDSPLIT_SCHUR_FACT_LOWER=1)
103: parameter (PC_FIELDSPLIT_SCHUR_FACT_UPPER=2)
104: parameter (PC_FIELDSPLIT_SCHUR_FACT_FULL=3)
106: !
107: ! CoarseProblemType
108: !
109: PetscEnum SEQUENTIAL_BDDC
110: PetscEnum REPLICATED_BDDC
111: PetscEnum PARALLEL_BDDC
112: PetscEnum MULTILEVEL_BDDC
113: parameter (SEQUENTIAL_BDDC=0)
114: parameter (REPLICATED_BDDC=1)
115: parameter (PARALLEL_BDDC=2)
116: parameter (MULTILEVEL_BDDC=3)
118: PetscEnum PC_MG_MULTIPLICATIVE
119: PetscEnum PC_MG_ADDITIVE
120: PetscEnum PC_MG_FULL
121: PetscEnum PC_MG_KASKADE
122: PetscEnum PC_MG_CASCADE
123: parameter (PC_MG_MULTIPLICATIVE=0,PC_MG_ADDITIVE=1)
124: parameter (PC_MG_FULL=2,PC_MG_KASKADE=3)
125: parameter (PC_MG_CASCADE=3)
127: ! PCMGCycleType
128: PetscEnum PC_MG_CYCLE_V
129: PetscEnum PC_MG_CYCLE_W
130: parameter (PC_MG_CYCLE_V = 1,PC_MG_CYCLE_W = 2)
132: ! PCMGGalerkinType
133: PetscEnum PC_MG_GALERKIN_BOTH
134: PetscEnum PC_MG_GALERKIN_PMAT
135: PetscEnum PC_MG_GALERKIN_MAT
136: PetscEnum PC_MG_GALERKIN_NONE
137: PetscEnum PC_MG_GALERKIN_EXTERNAL
138: parameter (PC_MG_GALERKIN_BOTH = 0)
139: parameter (PC_MG_GALERKIN_PMAT = 1)
140: parameter (PC_MG_GALERKIN_MAT = 2)
141: parameter (PC_MG_GALERKIN_NONE = 3)
142: parameter (PC_MG_GALERKIN_EXTERNAL = 4)
144: PetscEnum PC_EXOTIC_FACE
145: PetscEnum PC_EXOTIC_WIREBASKET
146: parameter (PC_EXOTIC_FACE=0,PC_EXOTIC_WIREBASKET=1)
147: !
148: ! PCFailedReason
149: !
150: PetscEnum PC_NOERROR
151: PetscEnum PC_FACTOR_STRUCT_ZEROPIVOT
152: PetscEnum PC_FACTOR_NUMERIC_ZEROPIVOT
153: PetscEnum PC_FACTOR_OUTMEMORY
154: PetscEnum PC_FACTOR_OTHER
155: PetscEnum PC_SUBPC_ERROR
157: parameter (PC_NOERROR=0)
158: parameter (PC_FACTOR_STRUCT_ZEROPIVOT=1)
159: parameter (PC_FACTOR_NUMERIC_ZEROPIVOT=2)
160: parameter (PC_FACTOR_OUTMEMORY=3)
161: parameter (PC_FACTOR_OTHER=4)
162: parameter (PC_SUBPC_ERROR=5)
164: external PCMGRESIDUALDEFAULT
165: !
166: ! End of Fortran include file for the PC package in PETSc