Actual source code: petscmat.h

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

      6:       type tMat
      7:         sequence
      8:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
      9:       end type tMat
     10:       type tMatNullSpace
     11:         sequence
     12:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
     13:       end type tMatNullSpace
     14:       type tMatFDColoring
     15:         sequence
     16:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
     17:       end type tMatFDColoring

     19:       Mat, parameter :: PETSC_NULL_MAT = tMat(0)
     20:       MatFDColoring, parameter :: PETSC_NULL_MATFDCOLORING = tMatFDColoring(0)
     21:       MatNullSpace, parameter :: PETSC_NULL_MATNULLSPACE = tMatNullSpace(0)
     22: !
     23: !  Flag for matrix assembly
     24: !
     25:       PetscEnum, parameter :: MAT_FLUSH_ASSEMBLY=1
     26:       PetscEnum, parameter :: MAT_FINAL_ASSEMBLY=0
     27: !
     28: !
     29: !
     30:       PetscEnum, parameter :: MAT_FACTOR_NONE=0
     31:       PetscEnum, parameter :: MAT_FACTOR_LU=1
     32:       PetscEnum, parameter :: MAT_FACTOR_CHOLESKY=2
     33:       PetscEnum, parameter :: MAT_FACTOR_ILU=3
     34:       PetscEnum, parameter :: MAT_FACTOR_ICC=4
     35:       PetscEnum, parameter :: MAT_FACTOR_ILUDT=5
     36:       PetscEnum, parameter :: MAT_FACTOR_QR=6
     37: !
     38: ! MatCreateSubMatrixOption
     39: !
     40:       PetscEnum, parameter :: MAT_DO_NOT_GET_VALUES=0
     41:       PetscEnum, parameter :: MAT_GET_VALUES=1
     42: !
     43: !  MatOption; must match those in include/petscmat.h
     44: !
     45:       PetscEnum, parameter :: MAT_OPTION_MIN = -3
     46:       PetscEnum, parameter :: MAT_UNUSED_NONZERO_LOCATION_ERR = -2
     47:       PetscEnum, parameter :: MAT_ROW_ORIENTED = -1
     48:       PetscEnum, parameter :: MAT_SYMMETRIC = 1
     49:       PetscEnum, parameter :: MAT_STRUCTURALLY_SYMMETRIC = 2
     50:       PetscEnum, parameter :: MAT_FORCE_DIAGONAL_ENTRIES = 3
     51:       PetscEnum, parameter :: MAT_IGNORE_OFF_PROC_ENTRIES = 4
     52:       PetscEnum, parameter :: MAT_USE_HASH_TABLE = 5
     53:       PetscEnum, parameter :: MAT_KEEP_NONZERO_PATTERN = 6
     54:       PetscEnum, parameter :: MAT_IGNORE_ZERO_ENTRIES = 7
     55:       PetscEnum, parameter :: MAT_USE_INODES = 8
     56:       PetscEnum, parameter :: MAT_HERMITIAN = 9
     57:       PetscEnum, parameter :: MAT_SYMMETRY_ETERNAL = 10
     58:       PetscEnum, parameter :: MAT_NEW_NONZERO_LOCATION_ERR = 11
     59:       PetscEnum, parameter :: MAT_IGNORE_LOWER_TRIANGULAR = 12
     60:       PetscEnum, parameter :: MAT_ERROR_LOWER_TRIANGULAR = 13
     61:       PetscEnum, parameter :: MAT_GETROW_UPPERTRIANGULAR = 14
     62:       PetscEnum, parameter :: MAT_SPD = 15
     63:       PetscEnum, parameter :: MAT_NO_OFF_PROC_ZERO_ROWS = 16
     64:       PetscEnum, parameter :: MAT_NO_OFF_PROC_ENTRIES = 17
     65:       PetscEnum, parameter :: MAT_NEW_NONZERO_LOCATIONS = 18
     66:       PetscEnum, parameter :: MAT_NEW_NONZERO_ALLOCATION_ERR = 19
     67:       PetscEnum, parameter :: MAT_SUBSET_OFF_PROC_ENTRIES = 20
     68:       PetscEnum, parameter :: MAT_SUBMAT_SINGLEIS = 21
     69:       PetscEnum, parameter :: MAT_STRUCTURE_ONLY = 22
     70:       PetscEnum, parameter :: MAT_SORTED_FULL = 23
     71:       PetscEnum, parameter :: MAT_FORM_EXPLICIT_TRANSPOSE = 24
     72:       PetscEnum, parameter :: MAT_OPTION_MAX = 25
     73: !
     74: !  MatFactorShiftType
     75: !
     76:       PetscEnum, parameter :: MAT_SHIFT_NONE=0
     77:       PetscEnum, parameter :: MAT_SHIFT_NONZERO=1
     78:       PetscEnum, parameter :: MAT_SHIFT_POSITIVE_DEFINITE=2
     79:       PetscEnum, parameter :: MAT_SHIFT_INBLOCKS=3
     80: !
     81: !  MatFactorError
     82: !
     83:       PetscEnum, parameter :: MAT_FACTOR_NOERROR=0
     84:       PetscEnum, parameter :: MAT_FACTOR_STRUCT_ZEROPIVOT=1
     85:       PetscEnum, parameter :: MAT_FACTOR_NUMERIC_ZEROPIVOT=2
     86:       PetscEnum, parameter :: MAT_FACTOR_OUTMEMORY=3
     87:       PetscEnum, parameter :: MAT_FACTOR_OTHER=4
     88: !
     89: !  MatDuplicateOption
     90: !
     91:       PetscEnum, parameter :: MAT_DO_NOT_COPY_VALUES=0
     92:       PetscEnum, parameter :: MAT_COPY_VALUES=1
     93:       PetscEnum, parameter :: MAT_SHARE_NONZERO_PATTERN=2
     94: !
     95: !  Flags for MatCopy, MatAXPY
     96: !
     97:       PetscEnum, parameter :: DIFFERENT_NONZERO_PATTERN = 0
     98:       PetscEnum, parameter :: SUBSET_NONZERO_PATTERN = 1
     99:       PetscEnum, parameter :: SAME_NONZERO_PATTERN = 2
    100:       PetscEnum, parameter :: UNKNOWN_NONZERO_PATTERN = 3

    102: #include "../src/mat/f90-mod/petscmatinfosize.h"

    104:       PetscEnum, parameter :: MAT_INFO_BLOCK_SIZE=1
    105:       PetscEnum, parameter :: MAT_INFO_NZ_ALLOCATED=2
    106:       PetscEnum, parameter :: MAT_INFO_NZ_USED=3
    107:       PetscEnum, parameter :: MAT_INFO_NZ_UNNEEDED=4
    108:       PetscEnum, parameter :: MAT_INFO_MEMORY=5
    109:       PetscEnum, parameter :: MAT_INFO_ASSEMBLIES=6
    110:       PetscEnum, parameter :: MAT_INFO_MALLOCS=7
    111:       PetscEnum, parameter :: MAT_INFO_FILL_RATIO_GIVEN=8
    112:       PetscEnum, parameter :: MAT_INFO_FILL_RATIO_NEEDED=9
    113:       PetscEnum, parameter :: MAT_INFO_FACTOR_MALLOCS=10
    114: !
    115: !  MatReuse
    116: !
    117:       PetscEnum, parameter :: MAT_INITIAL_MATRIX=0
    118:       PetscEnum, parameter :: MAT_REUSE_MATRIX=1
    119:       PetscEnum, parameter :: MAT_IGNORE_MATRIX=2
    120:       PetscEnum, parameter :: MAT_INPLACE_MATRIX=3
    121: !
    122: !  MatInfoType
    123: !
    124:       PetscEnum, parameter :: MAT_LOCAL=1
    125:       PetscEnum, parameter :: MAT_GLOBAL_MAX=2
    126:       PetscEnum, parameter :: MAT_GLOBAL_SUM=3

    128: !
    129: !  MatCompositeType
    130: !
    131:       PetscEnum, parameter :: MAT_COMPOSITE_ADDITIVE = 0
    132:       PetscEnum, parameter :: MAT_COMPOSITE_MULTIPLICATIVE = 1

    134: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"

    136:       PetscEnum, parameter :: MAT_FACTORINFO_DIAGONAL_FILL = 1
    137:       PetscEnum, parameter :: MAT_FACTORINFO_USEDT = 2
    138:       PetscEnum, parameter :: MAT_FACTORINFO_DT = 3
    139:       PetscEnum, parameter :: MAT_FACTORINFO_DTCOL = 4
    140:       PetscEnum, parameter :: MAT_FACTORINFO_DTCOUNT = 5
    141:       PetscEnum, parameter :: MAT_FACTORINFO_FILL = 6
    142:       PetscEnum, parameter :: MAT_FACTORINFO_LEVELS = 7
    143:       PetscEnum, parameter :: MAT_FACTORINFO_PIVOT_IN_BLOCKS = 8
    144:       PetscEnum, parameter :: MAT_FACTORINFO_ZERO_PIVOT = 9
    145:       PetscEnum, parameter :: MAT_FACTORINFO_SHIFT_TYPE = 10
    146:       PetscEnum, parameter :: MAT_FACTORINFO_SHIFT_AMOUNT = 11
    147: !
    148: !  Options for SOR and SSOR
    149: !  MatSorType may be bitwise ORd together, so do not change the numbers
    150: !
    151:       PetscEnum, parameter :: SOR_FORWARD_SWEEP=1
    152:       PetscEnum, parameter :: SOR_BACKWARD_SWEEP=2
    153:       PetscEnum, parameter :: SOR_SYMMETRIC_SWEEP=3
    154:       PetscEnum, parameter :: SOR_LOCAL_FORWARD_SWEEP=4
    155:       PetscEnum, parameter :: SOR_LOCAL_BACKWARD_SWEEP=8
    156:       PetscEnum, parameter :: SOR_LOCAL_SYMMETRIC_SWEEP=12
    157:       PetscEnum, parameter :: SOR_ZERO_INITIAL_GUESS=16
    158:       PetscEnum, parameter :: SOR_EISENSTAT=32
    159:       PetscEnum, parameter :: SOR_APPLY_UPPER=64
    160:       PetscEnum, parameter :: SOR_APPLY_LOWER=128
    161: !
    162: !  MatOperation
    163: !
    164:       PetscEnum, parameter :: MATOP_SET_VALUES=0
    165:       PetscEnum, parameter :: MATOP_GET_ROW=1
    166:       PetscEnum, parameter :: MATOP_RESTORE_ROW=2
    167:       PetscEnum, parameter :: MATOP_MULT=3
    168:       PetscEnum, parameter :: MATOP_MULT_ADD=4
    169:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE=5
    170:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE_ADD=6
    171:       PetscEnum, parameter :: MATOP_SOLVE=7
    172:       PetscEnum, parameter :: MATOP_SOLVE_ADD=8
    173:       PetscEnum, parameter :: MATOP_SOLVE_TRANSPOSE=9
    174:       PetscEnum, parameter :: MATOP_SOLVE_TRANSPOSE_ADD=10
    175:       PetscEnum, parameter :: MATOP_LUFACTOR=11
    176:       PetscEnum, parameter :: MATOP_CHOLESKYFACTOR=12
    177:       PetscEnum, parameter :: MATOP_SOR=13
    178:       PetscEnum, parameter :: MATOP_TRANSPOSE=14
    179:       PetscEnum, parameter :: MATOP_GETINFO=15
    180:       PetscEnum, parameter :: MATOP_EQUAL=16
    181:       PetscEnum, parameter :: MATOP_GET_DIAGONAL=17
    182:       PetscEnum, parameter :: MATOP_DIAGONAL_SCALE=18
    183:       PetscEnum, parameter :: MATOP_NORM=19
    184:       PetscEnum, parameter :: MATOP_ASSEMBLY_BEGIN=20
    185:       PetscEnum, parameter :: MATOP_ASSEMBLY_END=21
    186:       PetscEnum, parameter :: MATOP_SET_OPTION=22
    187:       PetscEnum, parameter :: MATOP_ZERO_ENTRIES=23
    188:       PetscEnum, parameter :: MATOP_ZERO_ROWS=24
    189:       PetscEnum, parameter :: MATOP_LUFACTOR_SYMBOLIC=25
    190:       PetscEnum, parameter :: MATOP_LUFACTOR_NUMERIC=26
    191:       PetscEnum, parameter :: MATOP_CHOLESKY_FACTOR_SYMBOLIC=27
    192:       PetscEnum, parameter :: MATOP_CHOLESKY_FACTOR_NUMERIC=28
    193:       PetscEnum, parameter :: MATOP_SETUP_PREALLOCATION=29
    194:       PetscEnum, parameter :: MATOP_ILUFACTOR_SYMBOLIC=30
    195:       PetscEnum, parameter :: MATOP_ICCFACTOR_SYMBOLIC=31
    196:       PetscEnum, parameter :: MATOP_GET_DIAGONAL_BLOCK=32
    197:       PetscEnum, parameter :: MATOP_PLACEHOLDER_33=33
    198:       PetscEnum, parameter :: MATOP_DUPLICATE=34
    199:       PetscEnum, parameter :: MATOP_FORWARD_SOLVE=35
    200:       PetscEnum, parameter :: MATOP_BACKWARD_SOLVE=36
    201:       PetscEnum, parameter :: MATOP_ILUFACTOR=37
    202:       PetscEnum, parameter :: MATOP_ICCFACTOR=38
    203:       PetscEnum, parameter :: MATOP_AXPY=39
    204:       PetscEnum, parameter :: MATOP_CREATE_SUBMATRICES=40
    205:       PetscEnum, parameter :: MATOP_INCREASE_OVERLAP=41
    206:       PetscEnum, parameter :: MATOP_GET_VALUES=42
    207:       PetscEnum, parameter :: MATOP_COPY=43
    208:       PetscEnum, parameter :: MATOP_GET_ROW_MAX=44
    209:       PetscEnum, parameter :: MATOP_SCALE=45
    210:       PetscEnum, parameter :: MATOP_SHIFT=46
    211:       PetscEnum, parameter :: MATOP_DIAGONAL_SET=47
    212:       PetscEnum, parameter :: MATOP_ZERO_ROWS_COLUMNS=48
    213:       PetscEnum, parameter :: MATOP_SET_RANDOM=49
    214:       PetscEnum, parameter :: MATOP_GET_ROW_IJ=50
    215:       PetscEnum, parameter :: MATOP_RESTORE_ROW_IJ=51
    216:       PetscEnum, parameter :: MATOP_GET_COLUMN_IJ=52
    217:       PetscEnum, parameter :: MATOP_RESTORE_COLUMN_IJ=53
    218:       PetscEnum, parameter :: MATOP_FDCOLORING_CREATE=54
    219:       PetscEnum, parameter :: MATOP_COLORING_PATCH=55
    220:       PetscEnum, parameter :: MATOP_SET_UNFACTORED=56
    221:       PetscEnum, parameter :: MATOP_PERMUTE=57
    222:       PetscEnum, parameter :: MATOP_SET_VALUES_BLOCKED=58
    223:       PetscEnum, parameter :: MATOP_CREATE_SUBMATRIX=59
    224:       PetscEnum, parameter :: MATOP_DESTROY=60
    225:       PetscEnum, parameter :: MATOP_VIEW=61
    226:       PetscEnum, parameter :: MATOP_CONVERT_FROM=62
    227:       PetscEnum, parameter :: MATOP_PLACEHOLDER_63=63
    228:       PetscEnum, parameter :: MATOP_MATMAT_MULT_SYMBOLIC=64
    229:       PetscEnum, parameter :: MATOP_MATMAT_MULT_NUMERIC=65
    230:       PetscEnum, parameter :: MATOP_SET_LOCAL_TO_GLOBAL_MAP=66
    231:       PetscEnum, parameter :: MATOP_SET_VALUES_LOCAL=67
    232:       PetscEnum, parameter :: MATOP_ZERO_ROWS_LOCAL=68
    233:       PetscEnum, parameter :: MATOP_GET_ROW_MAX_ABS=69
    234:       PetscEnum, parameter :: MATOP_GET_ROW_MIN_ABS=70
    235:       PetscEnum, parameter :: MATOP_CONVERT=71
    236:       PetscEnum, parameter :: MATOP_SET_COLORING=72
    237: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_73=73
    238:       PetscEnum, parameter :: MATOP_SET_VALUES_ADIFOR=74
    239:       PetscEnum, parameter :: MATOP_FD_COLORING_APPLY=75
    240:       PetscEnum, parameter :: MATOP_SET_FROM_OPTIONS=76
    241:       PetscEnum, parameter :: MATOP_MULT_CONSTRAINED=77
    242:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE_CONSTRAIN=78
    243:       PetscEnum, parameter :: MATOP_FIND_ZERO_DIAGONALS=79
    244:       PetscEnum, parameter :: MATOP_MULT_MULTIPLE=80
    245:       PetscEnum, parameter :: MATOP_SOLVE_MULTIPLE=81
    246:       PetscEnum, parameter :: MATOP_GET_INERTIA=82
    247:       PetscEnum, parameter :: MATOP_LOAD=83
    248:       PetscEnum, parameter :: MATOP_IS_SYMMETRIC=84
    249:       PetscEnum, parameter :: MATOP_IS_HERMITIAN=85
    250:       PetscEnum, parameter :: MATOP_IS_STRUCTURALLY_SYMMETRIC=86
    251:       PetscEnum, parameter :: MATOP_SET_VALUES_BLOCKEDLOCAL=87
    252:       PetscEnum, parameter :: MATOP_CREATE_VECS=88
    253:       PetscEnum, parameter :: MATOP_PLACEHOLDER_89=89
    254:       PetscEnum, parameter :: MATOP_MAT_MULT_SYMBOLIC=90
    255:       PetscEnum, parameter :: MATOP_MAT_MULT_NUMERIC=91
    256:       PetscEnum, parameter :: MATOP_PLACEHOLDER_92=92
    257:       PetscEnum, parameter :: MATOP_PTAP_SYMBOLIC=93
    258:       PetscEnum, parameter :: MATOP_PTAP_NUMERIC=94
    259:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT=95
    260:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT_SYMBO=96
    261:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT_NUMER=97
    262: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_98=98
    263:       PetscEnum, parameter :: MATOP_PRODUCTSETFROMOPTIONS=99
    264:       PetscEnum, parameter :: MATOP_PRODUCTSYMBOLIC=100
    265:       PetscEnum, parameter :: MATOP_PRODUCTNUMERIC=101
    266:       PetscEnum, parameter :: MATOP_CONJUGATE=102
    267: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_103=103
    268:       PetscEnum, parameter :: MATOP_SET_VALUES_ROW=104
    269:       PetscEnum, parameter :: MATOP_REAL_PART=105
    270:       PetscEnum, parameter :: MATOP_IMAGINARY_PART=106
    271:       PetscEnum, parameter :: MATOP_GET_ROW_UPPER_TRIANGULAR=107
    272:       PetscEnum, parameter :: MATOP_RESTORE_ROW_UPPER_TRIANG=108
    273:       PetscEnum, parameter :: MATOP_MAT_SOLVE=109
    274:       PetscEnum, parameter :: MATOP_MAT_SOLVE_TRANSPOSE=110
    275:       PetscEnum, parameter :: MATOP_GET_ROW_MIN=111
    276:       PetscEnum, parameter :: MATOP_GET_COLUMN_VECTOR=112
    277:       PetscEnum, parameter :: MATOP_MISSING_DIAGONAL=113
    278:       PetscEnum, parameter :: MATOP_GET_SEQ_NONZERO_STRUCTUR=114
    279:       PetscEnum, parameter :: MATOP_CREATE=115
    280:       PetscEnum, parameter :: MATOP_GET_GHOSTS=116
    281:       PetscEnum, parameter :: MATOP_GET_LOCAL_SUB_MATRIX=117
    282:       PetscEnum, parameter :: MATOP_RESTORE_LOCALSUB_MATRIX=118
    283:       PetscEnum, parameter :: MATOP_MULT_DIAGONAL_BLOCK=119
    284:       PetscEnum, parameter :: MATOP_HERMITIAN_TRANSPOSE=120
    285:       PetscEnum, parameter :: MATOP_MULT_HERMITIAN_TRANSPOSE=121
    286:       PetscEnum, parameter :: MATOP_MULT_HERMITIAN_TRANS_ADD=122
    287:       PetscEnum, parameter :: MATOP_GET_MULTI_PROC_BLOCK=123
    288:       PetscEnum, parameter :: MATOP_FIND_NONZERO_ROWS=124
    289:       PetscEnum, parameter :: MATOP_GET_COLUMN_NORMS=125
    290:       PetscEnum, parameter :: MATOP_INVERT_BLOCK_DIAGONAL=126
    291: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_127=127
    292:       PetscEnum, parameter :: MATOP_CREATE_SUB_MATRICES_MPI=128
    293:       PetscEnum, parameter :: MATOP_SET_VALUES_BATCH=129
    294:       PetscEnum, parameter :: MATOP_PLACEHOLDER_130=130
    295:       PetscEnum, parameter :: MATOP_TRANSPOSE_MAT_MULT_SYMBO=131
    296:       PetscEnum, parameter :: MATOP_TRANSPOSE_MAT_MULT_NUMER=132
    297:       PetscEnum, parameter :: MATOP_TRANSPOSE_COLORING_CREAT=133
    298:       PetscEnum, parameter :: MATOP_TRANS_COLORING_APPLY_SPT=134
    299:       PetscEnum, parameter :: MATOP_TRANS_COLORING_APPLY_DEN=135
    300:       PetscEnum, parameter :: MATOP_PLACEHOLDER_136=136
    301:       PetscEnum, parameter :: MATOP_RART_SYMBOLIC=137
    302:       PetscEnum, parameter :: MATOP_RART_NUMERIC=138
    303:       PetscEnum, parameter :: MATOP_SET_BLOCK_SIZES=139
    304:       PetscEnum, parameter :: MATOP_AYPX=140
    305:       PetscEnum, parameter :: MATOP_RESIDUAL=141
    306:       PetscEnum, parameter :: MATOP_FDCOLORING_SETUP=142
    307:       PetscEnum, parameter :: MATOP_MPICONCATENATESEQ=144
    308:       PetscEnum, parameter :: MATOP_DESTROYSUBMATRICES=145
    309:       PetscEnum, parameter :: MATOP_TRANSPOSE_SOLVE=146
    310:       PetscEnum, parameter :: MATOP_GET_VALUES_LOCAL=147
    311: !
    312: !
    313: !
    314:       PetscEnum, parameter :: MATRIX_BINARY_FORMAT_DENSE=-1
    315: !
    316: ! MPChacoGlobalType
    317:       PetscEnum, parameter :: MP_CHACO_MULTILEVEL_KL=0
    318:       PetscEnum, parameter :: MP_CHACO_SPECTRAL=1
    319:       PetscEnum, parameter :: MP_CHACO_LINEAR=2
    320:       PetscEnum, parameter :: MP_CHACO_RANDOM=3
    321:       PetscEnum, parameter :: MP_CHACO_SCATTERED=4
    322: !
    323: ! MPChacoLocalType
    324:       PetscEnum, parameter :: MP_CHACO_KERNIGHAN_LIN=0
    325:       PetscEnum, parameter :: MP_CHACO_NONE=1
    326: !
    327: ! MPChacoEigenType
    328:       PetscEnum, parameter :: MP_CHACO_LANCZOS=0
    329:       PetscEnum, parameter :: MP_CHACO_RQI_SYMMLQ=1
    330: !
    331: ! MPPTScotchStrategyType
    332:       PetscEnum, parameter :: MP_PTSCOTCH_QUALITY = 0
    333:       PetscEnum, parameter :: MP_PTSCOTCH_SPEED = 1
    334:       PetscEnum, parameter :: MP_PTSCOTCH_BALANCE = 2
    335:       PetscEnum, parameter :: MP_PTSCOTCH_SAFETY = 3
    336:       PetscEnum, parameter :: MP_PTSCOTCH_SCALABILITY = 4

    338: ! PetscScalarPrecision
    339:       PetscEnum, parameter :: PETSC_SCALAR_DOUBLE=0
    340:       PetscEnum, parameter :: PETSC_SCALAR_SINGLE=1
    341:       PetscEnum, parameter :: PETSC_SCALAR_LONG_DOUBLE=2
    342: !
    343: !     CUSPARSE enumerated types
    344: !
    345: #if defined(PETSC_HAVE_CUDA)
    346:       PetscEnum, parameter :: MAT_CUSPARSE_CSR=0
    347:       PetscEnum, parameter :: MAT_CUSPARSE_ELL=1
    348:       PetscEnum, parameter :: MAT_CUSPARSE_HYB=2
    349:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_DIAG=0
    350:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_OFFDIAG=1
    351:       PetscEnum, parameter :: MAT_CUSPARSE_MULT=2
    352:       PetscEnum, parameter :: MAT_CUSPARSE_ALL=3
    353: #endif

    355: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
    356: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT
    357: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MATFDCOLORING
    358: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MATNULLSPACE
    359: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FLUSH_ASSEMBLY
    360: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FINAL_ASSEMBLY
    361: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NONE
    362: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_LU
    363: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_CHOLESKY
    364: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ILU
    365: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ICC
    366: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ILUDT
    367: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_QR
    368: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_GET_VALUES
    369: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GET_VALUES
    370: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MIN
    371: !DEC$ ATTRIBUTES DLLEXPORT::MAT_UNUSED_NONZERO_LOCATION_ERR
    372: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ROW_ORIENTED
    373: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRIC
    374: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURALLY_SYMMETRIC
    375: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FORCE_DIAGONAL_ENTRIES
    376: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_OFF_PROC_ENTRIES
    377: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_HASH_TABLE
    378: !DEC$ ATTRIBUTES DLLEXPORT::MAT_KEEP_NONZERO_PATTERN
    379: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_ZERO_ENTRIES
    380: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_INODES
    381: !DEC$ ATTRIBUTES DLLEXPORT::MAT_HERMITIAN
    382: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRY_ETERNAL
    383: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATION_ERR
    384: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_LOWER_TRIANGULAR
    385: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ERROR_LOWER_TRIANGULAR
    386: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GETROW_UPPERTRIANGULAR
    387: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SPD
    388: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ZERO_ROWS
    389: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ENTRIES
    390: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATIONS
    391: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_ALLOCATION_ERR
    392: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBSET_OFF_PROC_ENTRIES
    393: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBMAT_SINGLEIS
    394: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURE_ONLY
    395: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MAX
    396: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONE
    397: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONZERO
    398: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_POSITIVE_DEFINITE
    399: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_INBLOCKS
    400: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NOERROR
    401: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_STRUCT_ZEROPIVOT
    402: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NUMERIC_ZEROPIVOT
    403: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OUTMEMORY
    404: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OTHER
    405: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_COPY_VALUES
    406: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COPY_VALUES
    407: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHARE_NONZERO_PATTERN
    408: !DEC$ ATTRIBUTES DLLEXPORT::DIFFERENT_NONZERO_PATTERN
    409: !DEC$ ATTRIBUTES DLLEXPORT::SUBSET_NONZERO_PATTERN
    410: !DEC$ ATTRIBUTES DLLEXPORT::SAME_NONZERO_PATTERN
    411: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_BLOCK_SIZE
    412: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_ALLOCATED
    413: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_USED
    414: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_UNNEEDED
    415: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MEMORY
    416: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_ASSEMBLIES
    417: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MALLOCS
    418: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_GIVEN
    419: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_NEEDED
    420: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FACTOR_MALLOCS
    421: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INITIAL_MATRIX
    422: !DEC$ ATTRIBUTES DLLEXPORT::MAT_REUSE_MATRIX
    423: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_MATRIX
    424: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INPLACE_MATRIX
    425: !DEC$ ATTRIBUTES DLLEXPORT::MAT_LOCAL
    426: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_MAX
    427: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_SUM
    428: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_ADDITIVE
    429: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_MULTIPLICATIVE
    430: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DIAGONAL_FILL
    431: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_USEDT
    432: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DT
    433: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOL
    434: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOUNT
    435: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_FILL
    436: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_LEVELS
    437: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_PIVOT_IN_BLOCKS
    438: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_ZERO_PIVOT
    439: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_TYPE
    440: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_AMOUNT
    441: !DEC$ ATTRIBUTES DLLEXPORT::SOR_FORWARD_SWEEP
    442: !DEC$ ATTRIBUTES DLLEXPORT::SOR_BACKWARD_SWEEP
    443: !DEC$ ATTRIBUTES DLLEXPORT::SOR_SYMMETRIC_SWEEP
    444: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_FORWARD_SWEEP
    445: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_BACKWARD_SWEEP
    446: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_SYMMETRIC_SWEEP
    447: !DEC$ ATTRIBUTES DLLEXPORT::SOR_ZERO_INITIAL_GUESS
    448: !DEC$ ATTRIBUTES DLLEXPORT::SOR_EISENSTAT
    449: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_UPPER
    450: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_LOWER
    451: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES
    452: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROWMATOP_RESTORE_ROW
    453: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT
    454: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_ADD
    455: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE
    456: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_ADD
    457: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE
    458: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_ADD
    459: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE
    460: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE_ADD
    461: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR
    462: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKYFACTOR
    463: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOR
    464: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE
    465: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GETINFO
    466: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_EQUAL
    467: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL
    468: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SCALE
    469: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_NORM
    470: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_BEGIN
    471: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_END
    472: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_OPTION
    473: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ENTRIES
    474: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS
    475: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_SYMBOLIC
    476: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_NUMERIC
    477: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_SYMBOLIC
    478: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_NUMERIC
    479: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SETUP_PREALLOCATION
    480: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR_SYMBOLIC
    481: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR_SYMBOLIC
    482: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL_BLOCK
    483: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DUPLICATE
    484: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FORWARD_SOLVE
    485: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_BACKWARD_SOLVE
    486: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR
    487: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR
    488: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AXPY
    489: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRICES
    490: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INCREASE_OVERLAP
    491: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES
    492: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COPY
    493: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX
    494: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SCALE
    495: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SHIFT
    496: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SET
    497: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_COLUMNS
    498: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_RANDOM
    499: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_IJ
    500: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_IJ
    501: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_IJ
    502: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_COLUMN_IJ
    503: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_CREATE
    504: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COLORING_PATCH
    505: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_UNFACTORED
    506: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PERMUTE
    507: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKED
    508: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRIX
    509: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROY
    510: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_VIEW
    511: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT_FROM
    512: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT
    513: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_SYMBOLIC
    514: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_NUMERIC
    515: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_LOCAL_TO_GLOBAL_MAP
    516: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_LOCAL
    517: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_LOCAL
    518: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX_ABS
    519: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN_ABS
    520: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT
    521: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_COLORING
    522: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ADIFOR
    523: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FD_COLORING_APPLY
    524: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_FROM_OPTIONS
    525: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_CONSTRAINED
    526: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_CONSTRAIN
    527: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_ZERO_DIAGONALS
    528: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_MULTIPLE
    529: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_MULTIPLE
    530: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_INERTIA
    531: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LOAD
    532: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_SYMMETRIC
    533: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_HERMITIAN
    534: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_STRUCTURALLY_SYMMETRIC
    535: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKEDLOCAL
    536: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_VECS
    537: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT
    538: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_SYMBOLIC
    539: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_NUMERIC
    540: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP
    541: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_SYMBOLIC
    542: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_NUMERIC
    543: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT
    544: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_SYMBO
    545: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_NUMER
    546: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONJUGATE
    547: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ROW
    548: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_REAL_PART
    549: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IMAGINARY_PART
    550: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_UPPER_TRIANGULAR
    551: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_UPPER_TRIANG
    552: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE
    553: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE_TRANSPOSE
    554: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN
    555: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_VECTOR
    556: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MISSING_DIAGONAL
    557: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_SEQ_NONZERO_STRUCTUR
    558: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE
    559: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_GHOSTS
    560: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_LOCAL_SUB_MATRIX
    561: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_LOCALSUB_MATRIX
    562: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_DIAGONAL_BLOCK
    563: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_HERMITIAN_TRANSPOSE
    564: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANSPOSE
    565: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANS_ADD
    566: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_MULTI_PROC_BLOCK
    567: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_NONZERO_ROWS
    568: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_NORMS
    569: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INVERT_BLOCK_DIAGONAL
    570: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUB_MATRICES_MPI
    571: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BATCH
    572: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT
    573: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_SYMBO
    574: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_NUMER
    575: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_COLORING_CREAT
    576: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_SPT
    577: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_DEN
    578: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART
    579: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_SYMBOLIC
    580: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_NUMERIC
    581: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_BLOCK_SIZES
    582: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AYPX
    583: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESIDUAL
    584: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_SETUP
    585: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MPICONCATENATESEQ
    586: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROYSUBMATRICES
    587: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_SOLVE
    588: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES_LOCAL
    589: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_MULTILEVEL_KL
    590: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SPECTRAL
    591: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LINEAR
    592: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RANDOM
    593: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SCATTERED
    594: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_KERNIGHAN_LIN
    595: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_NONE
    596: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LANCZOS
    597: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RQI_SYMMLQ
    598: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_QUALITY
    599: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SPEED
    600: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_BALANCE
    601: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SAFETY
    602: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SCALABILITY
    603: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_DOUBLE
    604: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_SINGLE
    605: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_LONG_DOUBLE
    606: #if defined(PETSC_HAVE_CUDA)
    607: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_CSR
    608: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ELL
    609: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_HYB
    610: !DEC$ ATTRIBUTES DLLEXPORT::
    611: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_DIAG
    612: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_OFFDIAG
    613: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT
    614: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ALL
    615: #endif
    616: #endif