1: ! 2: ! 3: ! Include file for Fortran use of the PC (preconditioner) package in PETSc 4: ! 5: #include finclude/petscpcdef.h 6: ! 7: ! PCSide 8: ! 9: PetscEnum PC_LEFT 10: PetscEnum PC_RIGHT 11: PetscEnum PC_SYMMETRIC 12: parameter (PC_LEFT=0,PC_RIGHT=1,PC_SYMMETRIC=2) 14: PetscEnum USE_PRECONDITIONER_MATRIX 15: PetscEnum USE_TRUE_MATRIX 16: parameter (USE_PRECONDITIONER_MATRIX=0,USE_TRUE_MATRIX=1) 18: ! 19: ! PCASMType 20: ! 21: PetscEnum PC_ASM_BASIC 22: PetscEnum PC_ASM_RESTRICT 23: PetscEnum PC_ASM_INTERPOLATE 24: PetscEnum PC_ASM_NONE 26: parameter (PC_ASM_BASIC = 3,PC_ASM_RESTRICT = 1) 27: parameter (PC_ASM_INTERPOLATE = 2,PC_ASM_NONE = 0) 28: ! 29: ! PCCompositeType 30: ! 31: PetscEnum PC_COMPOSITE_ADDITIVE 32: PetscEnum PC_COMPOSITE_MULTIPLICATIVE 33: PetscEnum PC_COMPOSITE_SYM_MULTIPLICATIVE 34: PetscEnum PC_COMPOSITE_SPECIAL 35: PetscEnum PC_COMPOSITE_SCHUR 36: parameter (PC_COMPOSITE_ADDITIVE=0,PC_COMPOSITE_MULTIPLICATIVE=1) 37: parameter (PC_COMPOSITE_SYM_MULTIPLICATIVE=2) 38: parameter (PC_COMPOSITE_SPECIAL=3,PC_COMPOSITE_SCHUR=4) 39: ! 40: ! PCRichardsonConvergedReason 41: ! 42: PetscEnum PCRICHARDSON_CONVERGED_RTOL 43: PetscEnum PCRICHARDSON_CONVERGED_ATOL 44: PetscEnum PCRICHARDSON_CONVERGED_ITS 45: PetscEnum PCRICHARDSON_DIVERGED_DTOL 46: parameter (PCRICHARDSON_CONVERGED_RTOL = 2) 47: parameter (PCRICHARDSON_CONVERGED_ATOL = 3) 48: parameter (PCRICHARDSON_CONVERGED_ITS = 4) 49: parameter (PCRICHARDSON_DIVERGED_DTOL = -4) 50: ! 51: ! PCFieldSplitSchurPreType 52: ! 53: PetscEnum PC_FIELDSPLIT_SCHUR_PRE_SELF 54: PetscEnum PC_FIELDSPLIT_SCHUR_PRE_DIAG 55: PetscEnum PC_FIELDSPLIT_SCHUR_PRE_USER 56: parameter (PC_FIELDSPLIT_SCHUR_PRE_SELF=0) 57: parameter (PC_FIELDSPLIT_SCHUR_PRE_DIAG=1) 58: parameter (PC_FIELDSPLIT_SCHUR_PRE_USER=2) 59: ! 60: ! PCPARMSGlobalType 61: ! 62: PetscEnum PC_PARMS_GLOBAL_RAS 63: PetscEnum PC_PARMS_GLOBAL_SCHUR 64: PetscEnum PC_PARMS_GLOBAL_BJ 65: parameter (PC_PARMS_GLOBAL_RAS=0) 66: parameter (PC_PARMS_GLOBAL_SCHUR=1) 67: parameter (PC_PARMS_GLOBAL_BJ=2) 68: ! 69: ! PCPARMSLocalType 70: ! 71: PetscEnum PC_PARMS_LOCAL_ILU0 72: PetscEnum PC_PARMS_LOCAL_ILUK 73: PetscEnum PC_PARMS_LOCAL_ILUT 74: PetscEnum PC_PARMS_LOCAL_ARMS 75: parameter (PC_PARMS_LOCAL_ILU0=0) 76: parameter (PC_PARMS_LOCAL_ILUK=1) 77: parameter (PC_PARMS_LOCAL_ILUT=2) 78: parameter (PC_PARMS_LOCAL_ARMS=3) 79: ! 80: ! PCFieldSplitSchurFactType 81: ! 82: PetscEnum PC_FIELDSPLIT_SCHUR_FACT_DIAG 83: PetscEnum PC_FIELDSPLIT_SCHUR_FACT_LOWER 84: PetscEnum PC_FIELDSPLIT_SCHUR_FACT_UPPER 85: PetscEnum PC_FIELDSPLIT_SCHUR_FACT_FULL 86: parameter (PC_FIELDSPLIT_SCHUR_FACT_DIAG=0) 87: parameter (PC_FIELDSPLIT_SCHUR_FACT_LOWER=1) 88: parameter (PC_FIELDSPLIT_SCHUR_FACT_UPPER=2) 89: parameter (PC_FIELDSPLIT_SCHUR_FACT_FULL=3) 91: ! 92: ! CoarseProblemType 93: ! 94: PetscEnum SEQUENTIAL_BDDC 95: PetscEnum REPLICATED_BDDC 96: PetscEnum PARALLEL_BDDC 97: PetscEnum MULTILEVEL_BDDC 98: parameter (SEQUENTIAL_BDDC=0) 99: parameter (REPLICATED_BDDC=1) 100: parameter (PARALLEL_BDDC=2) 101: parameter (MULTILEVEL_BDDC=3) 102: ! 103: ! End of Fortran include file for the PC package in PETSc