Actual source code: petscpc.h
petsc-3.13.6 2020-09-29
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 PETSC_FORTRAN_TYPE_INITIALIZE
10: end type tPC
12: PC, parameter :: PETSC_NULL_PC = tPC(0)
13: !
14: ! PCSide
15: !
16: PetscEnum, parameter :: PC_LEFT=0
17: PetscEnum, parameter :: PC_RIGHT=1
18: PetscEnum, parameter :: PC_SYMMETRIC=2
19: !
20: ! PCJacobiType
21: !
22: PetscEnum, parameter :: PC_JACOBI_DIAGONAL=0
23: PetscEnum, parameter :: PC_JACOBI_ROWMAX=1
24: PetscEnum, parameter :: PC_JACOBI_ROWSUM=2
25: !
26: ! PCASMType
27: !
28: PetscEnum, parameter :: PC_ASM_BASIC = 3
29: PetscEnum, parameter :: PC_ASM_RESTRICT = 1
30: PetscEnum, parameter :: PC_ASM_INTERPOLATE = 2
31: PetscEnum, parameter :: PC_ASM_NONE = 0
32: !
33: ! PCCompositeType
34: !
35: PetscEnum, parameter :: PC_COMPOSITE_ADDITIVE=0
36: PetscEnum, parameter :: PC_COMPOSITE_MULTIPLICATIVE=1
37: PetscEnum, parameter :: PC_COMPOSITE_SYM_MULTIPLICATIVE=2
38: PetscEnum, parameter :: PC_COMPOSITE_SPECIAL=3
39: PetscEnum, parameter :: PC_COMPOSITE_SCHUR=4
40: !
41: ! PCRichardsonConvergedReason
42: !
43: PetscEnum, parameter :: PCRICHARDSON_CONVERGED_RTOL = 2
44: PetscEnum, parameter :: PCRICHARDSON_CONVERGED_ATOL = 3
45: PetscEnum, parameter :: PCRICHARDSON_CONVERGED_ITS = 4
46: PetscEnum, parameter :: PCRICHARDSON_DIVERGED_DTOL = -4
47: !
48: ! PCFieldSplitSchurPreType
49: !
50: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_SELF=0
51: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_SELFP=1
52: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_A11=2
53: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_USER=3
54: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_FULL=4
55: !
56: ! PCPARMSGlobalType
57: !
58: PetscEnum, parameter :: PC_PARMS_GLOBAL_RAS=0
59: PetscEnum, parameter :: PC_PARMS_GLOBAL_SCHUR=1
60: PetscEnum, parameter :: PC_PARMS_GLOBAL_BJ=2
61: !
62: ! PCPARMSLocalType
63: !
64: PetscEnum, parameter :: PC_PARMS_LOCAL_ILU0=0
65: PetscEnum, parameter :: PC_PARMS_LOCAL_ILUK=1
66: PetscEnum, parameter :: PC_PARMS_LOCAL_ILUT=2
67: PetscEnum, parameter :: PC_PARMS_LOCAL_ARMS=3
68: !
69: ! PCFieldSplitSchurFactType
70: !
71: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_FACT_DIAG=0
72: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_FACT_LOWER=1
73: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_FACT_UPPER=2
74: PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_FACT_FULL=3
76: !
77: ! CoarseProblemType
78: !
79: PetscEnum, parameter :: SEQUENTIAL_BDDC=0
80: PetscEnum, parameter :: REPLICATED_BDDC=1
81: PetscEnum, parameter :: PARALLEL_BDDC=2
82: PetscEnum, parameter :: MULTILEVEL_BDDC=3
84: PetscEnum, parameter :: PC_MG_MULTIPLICATIVE=0
85: PetscEnum, parameter :: PC_MG_ADDITIVE=1
86: PetscEnum, parameter :: PC_MG_FULL=2
87: PetscEnum, parameter :: PC_MG_KASKADE=3
88: PetscEnum, parameter :: PC_MG_CASCADE=3
90: ! PCMGCycleType
91: PetscEnum, parameter :: PC_MG_CYCLE_V = 1
92: PetscEnum, parameter :: PC_MG_CYCLE_W = 2
94: ! PCMGGalerkinType
95: PetscEnum, parameter :: PC_MG_GALERKIN_BOTH = 0
96: PetscEnum, parameter :: PC_MG_GALERKIN_PMAT = 1
97: PetscEnum, parameter :: PC_MG_GALERKIN_MAT = 2
98: PetscEnum, parameter :: PC_MG_GALERKIN_NONE = 3
99: PetscEnum, parameter :: PC_MG_GALERKIN_EXTERNAL = 4
101: PetscEnum, parameter :: PC_EXOTIC_FACE=0
102: PetscEnum, parameter :: PC_EXOTIC_WIREBASKET=1
104: ! PCDeflationSpaceType
105: PetscEnum, parameter :: PC_DEFLATION_SPACE_HAAR = 0
106: PetscEnum, parameter :: PC_DEFLATION_SPACE_DB2 = 1
107: PetscEnum, parameter :: PC_DEFLATION_SPACE_DB4 = 2
108: PetscEnum, parameter :: PC_DEFLATION_SPACE_DB8 = 3
109: PetscEnum, parameter :: PC_DEFLATION_SPACE_DB16 = 4
110: PetscEnum, parameter :: PC_DEFLATION_SPACE_BIORTH22 = 5
111: PetscEnum, parameter :: PC_DEFLATION_SPACE_MEYER = 6
112: PetscEnum, parameter :: PC_DEFLATION_SPACE_AGGREGATION = 7
113: PetscEnum, parameter :: PC_DEFLATION_SPACE_USER = 8
114: ! PCBDDCInterfaceExtType
115: PetscEnum, parameter :: PC_BDDC_INTERFACE_EXT_DIRICHLET=0
116: PetscEnum, parameter :: PC_BDDC_INTERFACE_EXT_LUMP=1
117: !
118: ! PCFailedReason
119: !
120: PetscEnum, parameter :: PC_NOERROR=0
121: PetscEnum, parameter :: PC_FACTOR_STRUCT_ZEROPIVOT=1
122: PetscEnum, parameter :: PC_FACTOR_NUMERIC_ZEROPIVOT=2
123: PetscEnum, parameter :: PC_FACTOR_OUTMEMORY=3
124: PetscEnum, parameter :: PC_FACTOR_OTHER=4
125: PetscEnum, parameter :: PC_SUBPC_ERROR=5
127: external PCMGRESIDUALDEFAULT
128: !
129: ! End of Fortran include file for the PC package in PETSc