Date: 2022-03-04T17:39:21+00:00

Actual source code: petscpc.h

      1: !
      2: ! Used by petsckspdefmod.F90 to create Fortran module file
      3: !
      4: #include "petsc/finclude/petscpc.h"

      6:       type tPC
      7:         sequence
      8:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
      9:       end type tPC

     11:       PC, parameter :: PETSC_NULL_PC = tPC(0)
     12: !
     13: !  PCSide
     14: !
     15:       PetscEnum, parameter :: PC_LEFT=0
     16:       PetscEnum, parameter :: PC_RIGHT=1
     17:       PetscEnum, parameter :: PC_SYMMETRIC=2
     18: !
     19: !     PCJacobiType
     20: !
     21:       PetscEnum, parameter :: PC_JACOBI_DIAGONAL=0
     22:       PetscEnum, parameter :: PC_JACOBI_ROWMAX=1
     23:       PetscEnum, parameter :: PC_JACOBI_ROWSUM=2
     24: !
     25: ! PCASMType
     26: !
     27:       PetscEnum, parameter :: PC_ASM_BASIC = 3
     28:       PetscEnum, parameter :: PC_ASM_RESTRICT = 1
     29:       PetscEnum, parameter :: PC_ASM_INTERPOLATE = 2
     30:       PetscEnum, parameter :: PC_ASM_NONE = 0
     31: !
     32: ! PCCompositeType
     33: !
     34:       PetscEnum, parameter :: PC_COMPOSITE_ADDITIVE=0
     35:       PetscEnum, parameter :: PC_COMPOSITE_MULTIPLICATIVE=1
     36:       PetscEnum, parameter :: PC_COMPOSITE_SYM_MULTIPLICATIVE=2
     37:       PetscEnum, parameter :: PC_COMPOSITE_SPECIAL=3
     38:       PetscEnum, parameter :: PC_COMPOSITE_SCHUR=4
     39: !
     40: ! PCRichardsonConvergedReason
     41: !
     42:       PetscEnum, parameter :: PCRICHARDSON_CONVERGED_RTOL = 2
     43:       PetscEnum, parameter :: PCRICHARDSON_CONVERGED_ATOL = 3
     44:       PetscEnum, parameter :: PCRICHARDSON_CONVERGED_ITS  = 4
     45:       PetscEnum, parameter :: PCRICHARDSON_DIVERGED_DTOL = -4
     46: !
     47: ! PCFieldSplitSchurPreType
     48: !
     49:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_SELF=0
     50:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_SELFP=1
     51:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_A11=2
     52:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_USER=3
     53:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_PRE_FULL=4
     54: !
     55: ! PCPARMSGlobalType
     56: !
     57:       PetscEnum, parameter :: PC_PARMS_GLOBAL_RAS=0
     58:       PetscEnum, parameter :: PC_PARMS_GLOBAL_SCHUR=1
     59:       PetscEnum, parameter :: PC_PARMS_GLOBAL_BJ=2
     60: !
     61: ! PCPARMSLocalType
     62: !
     63:       PetscEnum, parameter :: PC_PARMS_LOCAL_ILU0=0
     64:       PetscEnum, parameter :: PC_PARMS_LOCAL_ILUK=1
     65:       PetscEnum, parameter :: PC_PARMS_LOCAL_ILUT=2
     66:       PetscEnum, parameter :: PC_PARMS_LOCAL_ARMS=3
     67: !
     68: ! PCFieldSplitSchurFactType
     69: !
     70:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_FACT_DIAG=0
     71:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_FACT_LOWER=1
     72:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_FACT_UPPER=2
     73:       PetscEnum, parameter :: PC_FIELDSPLIT_SCHUR_FACT_FULL=3

     75: !
     76: ! CoarseProblemType
     77: !
     78:       PetscEnum, parameter :: SEQUENTIAL_BDDC=0
     79:       PetscEnum, parameter :: REPLICATED_BDDC=1
     80:       PetscEnum, parameter :: PARALLEL_BDDC=2
     81:       PetscEnum, parameter :: MULTILEVEL_BDDC=3

     83:       PetscEnum, parameter :: PC_MG_MULTIPLICATIVE=0
     84:       PetscEnum, parameter :: PC_MG_ADDITIVE=1
     85:       PetscEnum, parameter :: PC_MG_FULL=2
     86:       PetscEnum, parameter :: PC_MG_KASKADE=3
     87:       PetscEnum, parameter :: PC_MG_CASCADE=3

     89: ! PCMGCycleType
     90:       PetscEnum, parameter :: PC_MG_CYCLE_V = 1
     91:       PetscEnum, parameter :: PC_MG_CYCLE_W = 2

     93: ! PCMGGalerkinType
     94:       PetscEnum, parameter :: PC_MG_GALERKIN_BOTH = 0
     95:       PetscEnum, parameter :: PC_MG_GALERKIN_PMAT = 1
     96:       PetscEnum, parameter :: PC_MG_GALERKIN_MAT = 2
     97:       PetscEnum, parameter :: PC_MG_GALERKIN_NONE = 3
     98:       PetscEnum, parameter :: PC_MG_GALERKIN_EXTERNAL = 4

    100:       PetscEnum, parameter :: PC_EXOTIC_FACE=0
    101:       PetscEnum, parameter :: PC_EXOTIC_WIREBASKET=1

    103: ! PCDeflationSpaceType
    104:       PetscEnum, parameter :: PC_DEFLATION_SPACE_HAAR = 0
    105:       PetscEnum, parameter :: PC_DEFLATION_SPACE_DB2  = 1
    106:       PetscEnum, parameter :: PC_DEFLATION_SPACE_DB4  = 2
    107:       PetscEnum, parameter :: PC_DEFLATION_SPACE_DB8  = 3
    108:       PetscEnum, parameter :: PC_DEFLATION_SPACE_DB16 = 4
    109:       PetscEnum, parameter :: PC_DEFLATION_SPACE_BIORTH22 = 5
    110:       PetscEnum, parameter :: PC_DEFLATION_SPACE_MEYER = 6
    111:       PetscEnum, parameter :: PC_DEFLATION_SPACE_AGGREGATION = 7
    112:       PetscEnum, parameter :: PC_DEFLATION_SPACE_USER = 8
    113: ! PCBDDCInterfaceExtType
    114:       PetscEnum, parameter :: PC_BDDC_INTERFACE_EXT_DIRICHLET=0
    115:       PetscEnum, parameter :: PC_BDDC_INTERFACE_EXT_LUMP=1
    116: ! PCHPDDMCoarseCorrectionType
    117:       PetscEnum, parameter :: PC_HPDDM_COARSE_CORRECTION_DEFLATED=0
    118:       PetscEnum, parameter :: PC_HPDDM_COARSE_CORRECTION_ADDITIVE=1
    119:       PetscEnum, parameter :: PC_HPDDM_COARSE_CORRECTION_BALANCED=2
    120: !
    121: ! PCFailedReason
    122: !
    123:       PetscEnum, parameter :: PC_NOERROR=0
    124:       PetscEnum, parameter :: PC_FACTOR_STRUCT_ZEROPIVOT=1
    125:       PetscEnum, parameter :: PC_FACTOR_NUMERIC_ZEROPIVOT=2
    126:       PetscEnum, parameter :: PC_FACTOR_OUTMEMORY=3
    127:       PetscEnum, parameter :: PC_FACTOR_OTHER=4
    128:       PetscEnum, parameter :: PC_SUBPC_ERROR=5

    130:       external  PCMGRESIDUALDEFAULT