Actual source code: petscpc.h

petsc-3.12.5 2020-03-29
Report Typos and Errors
  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 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)

148: ! PCDeflationSpaceType
149:       PetscEnum PC_DEFLATION_SPACE_HAAR
150:       PetscEnum PC_DEFLATION_SPACE_DB2
151:       PetscEnum PC_DEFLATION_SPACE_DB4
152:       PetscEnum PC_DEFLATION_SPACE_DB8
153:       PetscEnum PC_DEFLATION_SPACE_DB16
154:       PetscEnum PC_DEFLATION_SPACE_BIORTH22
155:       PetscEnum PC_DEFLATION_SPACE_MEYER
156:       PetscEnum PC_DEFLATION_SPACE_AGGREGATION
157:       PetscEnum PC_DEFLATION_SPACE_USER
158:       parameter (PC_DEFLATION_SPACE_HAAR = 0)
159:       parameter (PC_DEFLATION_SPACE_DB2  = 1)
160:       parameter (PC_DEFLATION_SPACE_DB4  = 2)
161:       parameter (PC_DEFLATION_SPACE_DB8  = 3)
162:       parameter (PC_DEFLATION_SPACE_DB16 = 4)
163:       parameter (PC_DEFLATION_SPACE_BIORTH22 = 5)
164:       parameter (PC_DEFLATION_SPACE_MEYER = 6)
165:       parameter (PC_DEFLATION_SPACE_AGGREGATION = 7)
166:       parameter (PC_DEFLATION_SPACE_USER = 8)
167: ! PCBDDCInterfaceExtType
168:       PetscEnum PC_BDDC_INTERFACE_EXT_DIRICHLET
169:       PetscEnum PC_BDDC_INTERFACE_EXT_LUMP
170:       parameter (PC_BDDC_INTERFACE_EXT_DIRICHLET=0)
171:       parameter (PC_BDDC_INTERFACE_EXT_LUMP=1)

173: !
174: ! PCFailedReason
175: !
176:       PetscEnum PC_NOERROR
177:       PetscEnum PC_FACTOR_STRUCT_ZEROPIVOT
178:       PetscEnum PC_FACTOR_NUMERIC_ZEROPIVOT
179:       PetscEnum PC_FACTOR_OUTMEMORY
180:       PetscEnum PC_FACTOR_OTHER
181:       PetscEnum PC_SUBPC_ERROR

183:       parameter (PC_NOERROR=0)
184:       parameter (PC_FACTOR_STRUCT_ZEROPIVOT=1)
185:       parameter (PC_FACTOR_NUMERIC_ZEROPIVOT=2)
186:       parameter (PC_FACTOR_OUTMEMORY=3)
187:       parameter (PC_FACTOR_OTHER=4)
188:       parameter (PC_SUBPC_ERROR=5)

190:       external  PCMGRESIDUALDEFAULT
191: !
192: !  End of Fortran include file for the PC package in PETSc