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