Actual source code: petscpc.h

petsc-3.13.6 2020-09-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, 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