Actual source code: petscpc.h
petsc-3.10.5 2019-03-28
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)
    147: !
    148: ! PCFailedReason
    149: !
    150:       PetscEnum PC_NOERROR
    151:       PetscEnum PC_FACTOR_STRUCT_ZEROPIVOT
    152:       PetscEnum PC_FACTOR_NUMERIC_ZEROPIVOT
    153:       PetscEnum PC_FACTOR_OUTMEMORY
    154:       PetscEnum PC_FACTOR_OTHER
    155:       PetscEnum PC_SUBPC_ERROR

    157:       parameter (PC_NOERROR=0)
    158:       parameter (PC_FACTOR_STRUCT_ZEROPIVOT=1)
    159:       parameter (PC_FACTOR_NUMERIC_ZEROPIVOT=2)
    160:       parameter (PC_FACTOR_OUTMEMORY=3)
    161:       parameter (PC_FACTOR_OTHER=4)
    162:       parameter (PC_SUBPC_ERROR=5)

    164:       external  PCMGRESIDUALDEFAULT
    165: !
    166: !  End of Fortran include file for the PC package in PETSc