Actual source code: petscmat.h

petsc-3.4.2 2013-07-02
  1: !
  2: !
  3: !  Include file for Fortran use of the Mat package in PETSc
  4: !
 5:  #include finclude/petscmatdef.h

  7: !
  8: !  Flag for matrix assembly
  9: !
 10:       PetscEnum MAT_FLUSH_ASSEMBLY
 11:       PetscEnum MAT_FINAL_ASSEMBLY

 13:       parameter(MAT_FLUSH_ASSEMBLY=1,MAT_FINAL_ASSEMBLY=0)
 14: !
 15: !
 16: !
 17:       PetscEnum MAT_FACTOR_NONE
 18:       PetscEnum MAT_FACTOR_LU
 19:       PetscEnum MAT_FACTOR_CHOLESKY
 20:       PetscEnum MAT_FACTOR_ILU
 21:       PetscEnum MAT_FACTOR_ICC

 23:       parameter(MAT_FACTOR_NONE=0,MAT_FACTOR_LU=1)
 24:       parameter(MAT_FACTOR_CHOLESKY=2,MAT_FACTOR_ILU=3)
 25:       parameter(MAT_FACTOR_ICC=4)

 27: ! MatGetSubMatrixOption
 28:       PetscEnum MAT_DO_NOT_GET_VALUES
 29:       PetscEnum MAT_GET_VALUES
 30:       parameter(MAT_DO_NOT_GET_VALUES=0,MAT_GET_VALUES=1)

 32: !
 33: !  Matrix options; must match those in include/petscmat.h
 34: !
 35:       PetscEnum MAT_OPTION_MIN
 36:       PetscEnum MAT_ROW_ORIENTED
 37:       PetscEnum MAT_NEW_NONZERO_LOCATIONS
 38:       PetscEnum MAT_SYMMETRIC
 39:       PetscEnum MAT_STRUCTURALLY_SYMMETRIC
 40:       PetscEnum MAT_NEW_DIAGONALS
 41:       PetscEnum MAT_IGNORE_OFF_PROC_ENTRIES
 42:       PetscEnum MAT_NEW_NONZERO_LOCATION_ERR
 43:       PetscEnum MAT_NEW_NONZERO_ALLOCATION_ERR
 44:       PetscEnum MAT_USE_HASH_TABLE
 45:       PetscEnum MAT_KEEP_NONZERO_PATTERN
 46:       PetscEnum MAT_IGNORE_ZERO_ENTRIES
 47:       PetscEnum MAT_USE_INODES
 48:       PetscEnum MAT_HERMITIAN
 49:       PetscEnum MAT_SYMMETRY_ETERNAL
 50:       PetscEnum MAT_CHECK_COMPRESSED_ROW
 51:       PetscEnum MAT_IGNORE_LOWER_TRIANGULAR
 52:       PetscEnum MAT_ERROR_LOWER_TRIANGULAR
 53:       PetscEnum MAT_GETROW_UPPERTRIANGULAR
 54:       PetscEnum MAT_UNUSED_NONZERO_LOCATION_ERR
 55:       PetscEnum MAT_SPD
 56:       PetscEnum MAT_NO_OFF_PROC_ENTRIES
 57:       PetscEnum MAT_NO_OFF_PROC_ZERO_ROWS
 58:       PetscEnum MAT_DIAGBLOCK_CSR
 59:       PetscEnum MAT_OFFDIAGBLOCK_CSR
 60:       PetscEnum MAT_CSR
 61:       PetscEnum MAT_DIAGBLOCK_DIA
 62:       PetscEnum MAT_OFFDIAGBLOCK_DIA
 63:       PetscEnum MAT_DIA
 64:       PetscEnum MAT_DIAGBLOCK_ELL
 65:       PetscEnum MAT_OFFDIAGBLOCK_ELL
 66:       PetscEnum MAT_ELL
 67:       PetscEnum MAT_DIAGBLOCK_HYB
 68:       PetscEnum MAT_OFFDIAGBLOCK_HYB
 69:       PetscEnum MAT_HYB
 70:       PetscEnum MAT_OPTION_MAX

 72:       parameter (MAT_OPTION_MIN=-7)
 73:       parameter (MAT_ROW_ORIENTED=-2)
 74:       parameter (MAT_NEW_NONZERO_LOCATIONS=-1)
 75:       parameter (MAT_SYMMETRIC=1)
 76:       parameter (MAT_STRUCTURALLY_SYMMETRIC=2)
 77:       parameter (MAT_NEW_DIAGONALS=3)
 78:       parameter (MAT_IGNORE_OFF_PROC_ENTRIES=4)
 79:       parameter (MAT_NEW_NONZERO_LOCATION_ERR=-7)
 80:       parameter (MAT_NEW_NONZERO_ALLOCATION_ERR=-3)
 81:       parameter (MAT_USE_HASH_TABLE=5)
 82:       parameter (MAT_KEEP_NONZERO_PATTERN=6)
 83:       parameter (MAT_IGNORE_ZERO_ENTRIES=7)
 84:       parameter (MAT_USE_INODES=8)
 85:       parameter (MAT_HERMITIAN=9)
 86:       parameter (MAT_SYMMETRY_ETERNAL=10)
 87:       parameter (MAT_CHECK_COMPRESSED_ROW=11)
 88:       parameter (MAT_IGNORE_LOWER_TRIANGULAR=12)
 89:       parameter (MAT_ERROR_LOWER_TRIANGULAR=13)
 90:       parameter (MAT_GETROW_UPPERTRIANGULAR=14)
 91:       parameter (MAT_UNUSED_NONZERO_LOCATION_ERR=-4)
 92:       parameter (MAT_SPD=15)
 93:       parameter (MAT_NO_OFF_PROC_ENTRIES=-5)
 94:       parameter (MAT_NO_OFF_PROC_ZERO_ROWS=-6)
 95:       parameter (MAT_OPTION_MAX=16)
 96: !
 97: !  MatFactorShiftType
 98: !
 99:       PetscEnum MAT_SHIFT_NONE
100:       PetscEnum MAT_SHIFT_NONZERO
101:       PetscEnum MAT_SHIFT_POSITIVE_DEFINITE
102:       PetscEnum MAT_SHIFT_INBLOCKS
103:       parameter (MAT_SHIFT_NONE=0)
104:       parameter (MAT_SHIFT_NONZERO=1)
105:       parameter (MAT_SHIFT_POSITIVE_DEFINITE=2)
106:       parameter (MAT_SHIFT_INBLOCKS=3)

108: !
109: !  MatDuplicateOption
110: !
111:       PetscEnum MAT_DO_NOT_COPY_VALUES
112:       PetscEnum MAT_COPY_VALUES
113:       PetscEnum MAT_SHARE_NONZERO_PATTERN
114:       parameter (MAT_DO_NOT_COPY_VALUES=0,MAT_COPY_VALUES=1)
115:       parameter (MAT_SHARE_NONZERO_PATTERN=2)
116: !
117: !  Flags for PCSetOperators()
118: !
119:       PetscEnum DIFFERENT_NONZERO_PATTERN
120:       PetscEnum SUBSET_NONZERO_PATTERN
121:       PetscEnum SAME_NONZERO_PATTERN
122:       PetscEnum SAME_PRECONDITIONER

124:       parameter (DIFFERENT_NONZERO_PATTERN = 0,SUBSET_NONZERO_PATTERN=1)
125:       parameter (SAME_NONZERO_PATTERN = 2,SAME_PRECONDITIONER = 3)
126: #if !(PETSC_USE_FORTRAN_DATATYPES_)
127:  #include finclude/petscmatinfosize.h
128: #endif

130:       PetscEnum MAT_INFO_BLOCK_SIZE
131:       PetscEnum MAT_INFO_NZ_ALLOCATED
132:       PetscEnum MAT_INFO_NZ_USED
133:       PetscEnum MAT_INFO_NZ_UNNEEDED
134:       PetscEnum MAT_INFO_MEMORY
135:       PetscEnum MAT_INFO_ASSEMBLIES
136:       PetscEnum MAT_INFO_MALLOCS
137:       PetscEnum MAT_INFO_FILL_RATIO_GIVEN
138:       PetscEnum MAT_INFO_FILL_RATIO_NEEDED
139:       PetscEnum MAT_INFO_FACTOR_MALLOCS

141:       parameter (MAT_INFO_BLOCK_SIZE=1,MAT_INFO_NZ_ALLOCATED=2)
142:       parameter (MAT_INFO_NZ_USED=3,MAT_INFO_NZ_UNNEEDED=4)
143:       parameter (MAT_INFO_MEMORY=5,MAT_INFO_ASSEMBLIES=6)
144:       parameter (MAT_INFO_MALLOCS=7,MAT_INFO_FILL_RATIO_GIVEN=8)
145:       parameter (MAT_INFO_FILL_RATIO_NEEDED=9)
146:       parameter (MAT_INFO_FACTOR_MALLOCS=10)
147: !
148: !  MatReuse
149: !
150:       PetscEnum MAT_INITIAL_MATRIX
151:       PetscEnum MAT_REUSE_MATRIX
152:       PetscEnum MAT_IGNORE_MATRIX

154:       parameter (MAT_INITIAL_MATRIX=0)
155:       parameter (MAT_REUSE_MATRIX=1)
156:       parameter (MAT_IGNORE_MATRIX=2)

158: !
159: !  MatInfoType
160: !
161:       PetscEnum MAT_LOCAL
162:       PetscEnum MAT_GLOBAL_MAX
163:       PetscEnum MAT_GLOBAL_SUM

165:       parameter (MAT_LOCAL=1,MAT_GLOBAL_MAX=2,MAT_GLOBAL_SUM=3)

167: !
168: !  MatCompositeType
169: !
170:       PetscEnum MAT_COMPOSITE_ADDITIVE
171:       PetscEnum MAT_COMPOSITE_MULTIPLICATIVE

173:       parameter (MAT_COMPOSITE_ADDITIVE = 0)
174:       parameter (MAT_COMPOSITE_MULTIPLICATIVE = 1)
175: #if !(PETSC_USE_FORTRAN_DATATYPES_)
176:  #include finclude/petscmatfactorinfosize.h
177: #endif
178:       PetscEnum MAT_FACTORINFO_LEVELS
179:       PetscEnum MAT_FACTORINFO_FILL
180:       PetscEnum MAT_FACTORINFO_DIAGONAL_FILL
181:       PetscEnum MAT_FACTORINFO_DT
182:       PetscEnum MAT_FACTORINFO_DTCOL
183:       PetscEnum MAT_FACTORINFO_DTCOUNT
184:       PetscEnum MAT_FACTORINFO_DAMPING
185:       PetscEnum MAT_FACTORINFO_SHIFT
186:       PetscEnum MAT_FACTORINFO_ZERO_PIVOT
187:       PetscEnum MAT_FACTORINFO_PIVOT_IN_BLOCKS

189:       parameter (MAT_FACTORINFO_DAMPING = 1)
190:       parameter (MAT_FACTORINFO_SHIFT = 2)
191:       parameter (MAT_FACTORINFO_DIAGONAL_FILL = 3)
192:       parameter (MAT_FACTORINFO_DT = 4)
193:       parameter (MAT_FACTORINFO_DTCOL = 5)
194:       parameter (MAT_FACTORINFO_DTCOUNT = 6)
195:       parameter (MAT_FACTORINFO_LEVELS = 7)
196:       parameter (MAT_FACTORINFO_FILL = 8)
197:       parameter (MAT_FACTORINFO_PIVOT_IN_BLOCKS = 9)
198:       parameter (MAT_FACTORINFO_ZERO_PIVOT = 10)


201: !
202: !  Options for SOR and SSOR
203: !  MatSorType may be bitwise ORd together, so do not change the numbers
204: !
205:       PetscEnum SOR_FORWARD_SWEEP
206:       PetscEnum SOR_BACKWARD_SWEEP
207:       PetscEnum SOR_SYMMETRIC_SWEEP
208:       PetscEnum SOR_LOCAL_FORWARD_SWEEP
209:       PetscEnum SOR_LOCAL_BACKWARD_SWEEP
210:       PetscEnum SOR_LOCAL_SYMMETRIC_SWEEP
211:       PetscEnum SOR_ZERO_INITIAL_GUESS
212:       PetscEnum SOR_EISENSTAT
213:       PetscEnum SOR_APPLY_UPPER
214:       PetscEnum SOR_APPLY_LOWER

216:       parameter (SOR_FORWARD_SWEEP=1,SOR_BACKWARD_SWEEP=2)
217:       parameter (SOR_SYMMETRIC_SWEEP=3,SOR_LOCAL_FORWARD_SWEEP=4)
218:       parameter (SOR_LOCAL_BACKWARD_SWEEP=8)
219:       parameter (SOR_LOCAL_SYMMETRIC_SWEEP=12)
220:       parameter (SOR_ZERO_INITIAL_GUESS=16,SOR_EISENSTAT=32)
221:       parameter (SOR_APPLY_UPPER=64,SOR_APPLY_LOWER=128)
222: !
223: !  MatOperation
224: !
225:       PetscEnum MATOP_SET_VALUES
226:       PetscEnum MATOP_GET_ROW
227:       PetscEnum MATOP_RESTORE_ROW
228:       PetscEnum MATOP_MULT
229:       PetscEnum MATOP_MULT_ADD
230:       PetscEnum MATOP_MULT_TRANSPOSE
231:       PetscEnum MATOP_MULT_TRANSPOSE_ADD
232:       PetscEnum MATOP_SOLVE
233:       PetscEnum MATOP_SOLVE_ADD
234:       PetscEnum MATOP_SOLVE_TRANSPOSE
235:       PetscEnum MATOP_SOLVE_TRANSPOSE_ADD
236:       PetscEnum MATOP_LUFACTOR
237:       PetscEnum MATOP_CHOLESKYFACTOR
238:       PetscEnum MATOP_SOR
239:       PetscEnum MATOP_TRANSPOSE
240:       PetscEnum MATOP_GETINFO
241:       PetscEnum MATOP_EQUAL
242:       PetscEnum MATOP_GET_DIAGONAL
243:       PetscEnum MATOP_DIAGONAL_SCALE
244:       PetscEnum MATOP_NORM
245:       PetscEnum MATOP_ASSEMBLY_BEGIN
246:       PetscEnum MATOP_ASSEMBLY_END
247:       PetscEnum MATOP_SET_OPTION
248:       PetscEnum MATOP_ZERO_ENTRIES
249:       PetscEnum MATOP_ZERO_ROWS
250:       PetscEnum MATOP_LUFACTOR_SYMBOLIC
251:       PetscEnum MATOP_LUFACTOR_NUMERIC
252:       PetscEnum MATOP_CHOLESKY_FACTOR_SYMBOLIC
253:       PetscEnum MATOP_CHOLESKY_FACTOR_NUMERIC
254:       PetscEnum MATOP_SETUP_PREALLOCATION
255:       PetscEnum MATOP_ILUFACTOR_SYMBOLIC
256:       PetscEnum MATOP_ICCFACTOR_SYMBOLIC
257:       PetscEnum MATOP_GET_ARRAY
258:       PetscEnum MATOP_RESTORE_ARRAY
259:       PetscEnum MATOP_DUPLICATE
260:       PetscEnum MATOP_FORWARD_SOLVE
261:       PetscEnum MATOP_BACKWARD_SOLVE
262:       PetscEnum MATOP_ILUFACTOR
263:       PetscEnum MATOP_ICCFACTOR
264:       PetscEnum MATOP_AXPY
265:       PetscEnum MATOP_GET_SUBMATRICES
266:       PetscEnum MATOP_INCREASE_OVERLAP
267:       PetscEnum MATOP_GET_VALUES
268:       PetscEnum MATOP_COPY
269:       PetscEnum MATOP_GET_ROW_MAX
270:       PetscEnum MATOP_SCALE
271:       PetscEnum MATOP_SHIFT
272:       PetscEnum MATOP_DIAGONAL_SET
273:       PetscEnum MATOP_ILUDT_FACTOR
274:       PetscEnum MATOP_SET_BLOCK_SIZE
275:       PetscEnum MATOP_GET_ROW_IJ
276:       PetscEnum MATOP_RESTORE_ROW_IJ
277:       PetscEnum MATOP_GET_COLUMN_IJ
278:       PetscEnum MATOP_RESTORE_COLUMN_IJ
279:       PetscEnum MATOP_FDCOLORING_CREATE
280:       PetscEnum MATOP_COLORING_PATCH
281:       PetscEnum MATOP_SET_UNFACTORED
282:       PetscEnum MATOP_PERMUTE
283:       PetscEnum MATOP_SET_VALUES_BLOCKED
284:       PetscEnum MATOP_GET_SUBMATRIX
285:       PetscEnum MATOP_DESTROY
286:       PetscEnum MATOP_VIEW
287:       PetscEnum MATOP_CONVERT_FROM
288:       PetscEnum MATOP_MATMAT_MULT
289:       PetscEnum MATOP_MATMAT_MULT_SYMBOLIC
290:       PetscEnum MATOP_MATMAT_MULT_NUMERIC
291:       PetscEnum MATOP_SET_LOCAL_TO_GLOBAL_MAP
292:       PetscEnum MATOP_SET_VALUES_LOCAL
293:       PetscEnum MATOP_ZERO_ROWS_LOCAL
294:       PetscEnum MATOP_GET_ROW_MAX_ABS
295:       PetscEnum MATOP_GET_ROW_MIN_ABS
296:       PetscEnum MATOP_CONVERT
297:       PetscEnum MATOP_SET_COLORING
298:       PetscEnum MATOP_PLACEHOLDER
299:       PetscEnum MATOP_SET_VALUES_ADIFOR
300:       PetscEnum MATOP_FD_COLORING_APPLY
301:       PetscEnum MATOP_SET_FROM_OPTIONS
302:       PetscEnum MATOP_MULT_CONSTRAINED
303:       PetscEnum MATOP_MULT_TRANSPOSE_CONSTRAIN
304:       PetscEnum MATOP_PERMUTE_SPARSIFY
305:       PetscEnum MATOP_MULT_MULTIPLE
306:       PetscEnum MATOP_SOLVE_MULTIPLE
307:       PetscEnum MATOP_GET_INERTIA
308:       PetscEnum MATOP_LOAD
309:       PetscEnum MATOP_IS_SYMMETRIC
310:       PetscEnum MATOP_IS_HERMITIAN
311:       PetscEnum MATOP_IS_STRUCTURALLY_SYMMETRIC
312:       PetscEnum MATOP_DUMMY
313:       PetscEnum MATOP_GET_VECS
314:       PetscEnum MATOP_MAT_MULT
315:       PetscEnum MATOP_MAT_MULT_SYMBOLIC
316:       PetscEnum MATOP_MAT_MULT_NUMERIC
317:       PetscEnum MATOP_PTAP
318:       PetscEnum MATOP_PTAP_SYMBOLIC
319:       PetscEnum MATOP_PTAP_NUMERIC
320:       PetscEnum MATOP_MAT_TRANSPOSE_MULT
321:       PetscEnum MATOP_MAT_TRANSPOSE_MULT_SYMBO
322:       PetscEnum MATOP_MAT_TRANSPOSE_MULT_NUMER
323:       PetscEnum MATOP_PTAP_SYMBOLIC_SEQAIJ
324:       PetscEnum MATOP_PTAP_NUMERIC_SEQAIJ
325:       PetscEnum MATOP_PTAP_SYMBOLIC_MPIAIJ
326:       PetscEnum MATOP_PTAP_NUMERIC_MPIAIJ
327:       PetscEnum MATOP_CONJUGATE
328:       PetscEnum MATOP_SET_SIZES
329:       PetscEnum MATOP_SET_VALUES_ROW
330:       PetscEnum MATOP_REAL_PART
331:       PetscEnum MATOP_IMAGINARY_PART
332:       PetscEnum MATOP_GET_ROW_UPPER_TRIANGULAR
333:       PetscEnum MATOP_RESTORE_ROW_UPPER_TRIANG
334:       PetscEnum MATOP_MAT_SOLVE
335:       PetscEnum MATOP_GET_REDUNDANT_MATRIX
336:       PetscEnum MATOP_GET_ROW_MIN
337:       PetscEnum MATOP_GET_COLUMN_VECTOR
338:       PetscEnum MATOP_MISSING_DIAGONAL
339:       PetscEnum MATOP_GET_SEQ_NONZERO_STRUCTUR
340:       PetscEnum MATOP_CREATE
341:       PetscEnum MATOP_GET_GHOSTS
342:       PetscEnum MATOP_GET_LOCAL_SUB_MATRIX
343:       PetscEnum MATOP_RESTORE_LOCALSUB_MATRIX
344:       PetscEnum MATOP_MULT_DIAGONAL_BLOCK
345:       PetscEnum MATOP_HERMITIAN_TRANSPOSE
346:       PetscEnum MATOP_MULT_HERMITIAN_TRANSPOSE
347:       PetscEnum MATOP_MULT_HERMITIAN_TRANS_ADD
348:       PetscEnum MATOP_GET_MULTI_PROC_BLOCK
349:       PetscEnum MATOP_GET_COLUMN_NORMS
350:       PetscEnum MATOP_GET_SUB_MATRICES_PARALLE
351:       PetscEnum MATOP_SET_VALUES_BATCH
352:       PetscEnum MATOP_SET_BLOCK_SIZES
353:       PetscEnum MATOP_AYPX

355:       parameter(MATOP_SET_VALUES=0)
356:       parameter(MATOP_GET_ROW=1)
357:       parameter(MATOP_RESTORE_ROW=2)
358:       parameter(MATOP_MULT=3)
359:       parameter(MATOP_MULT_ADD=4)
360:       parameter(MATOP_MULT_TRANSPOSE=5)
361:       parameter(MATOP_MULT_TRANSPOSE_ADD=6)
362:       parameter(MATOP_SOLVE=7)
363:       parameter(MATOP_SOLVE_ADD=8)
364:       parameter(MATOP_SOLVE_TRANSPOSE=9)
365:       parameter(MATOP_SOLVE_TRANSPOSE_ADD=10)
366:       parameter(MATOP_LUFACTOR=11)
367:       parameter(MATOP_CHOLESKYFACTOR=12)
368:       parameter(MATOP_SOR=13)
369:       parameter(MATOP_TRANSPOSE=14)
370:       parameter(MATOP_GETINFO=15)
371:       parameter(MATOP_EQUAL=16)
372:       parameter(MATOP_GET_DIAGONAL=17)
373:       parameter(MATOP_DIAGONAL_SCALE=18)
374:       parameter(MATOP_NORM=19)
375:       parameter(MATOP_ASSEMBLY_BEGIN=20)
376:       parameter(MATOP_ASSEMBLY_END=21)
377:       parameter(MATOP_SET_OPTION=22)
378:       parameter(MATOP_ZERO_ENTRIES=23)
379:       parameter(MATOP_ZERO_ROWS=24)
380:       parameter(MATOP_LUFACTOR_SYMBOLIC=25)
381:       parameter(MATOP_LUFACTOR_NUMERIC=26)
382:       parameter(MATOP_CHOLESKY_FACTOR_SYMBOLIC=27)
383:       parameter(MATOP_CHOLESKY_FACTOR_NUMERIC=28)
384:       parameter(MATOP_SETUP_PREALLOCATION=29)
385:       parameter(MATOP_ILUFACTOR_SYMBOLIC=30)
386:       parameter(MATOP_ICCFACTOR_SYMBOLIC=31)
387:       parameter(MATOP_GET_ARRAY=32)
388:       parameter(MATOP_RESTORE_ARRAY=33)
389:       parameter(MATOP_DUPLICATE=34)
390:       parameter(MATOP_FORWARD_SOLVE=35)
391:       parameter(MATOP_BACKWARD_SOLVE=36)
392:       parameter(MATOP_ILUFACTOR=37)
393:       parameter(MATOP_ICCFACTOR=38)
394:       parameter(MATOP_AXPY=39)
395:       parameter(MATOP_GET_SUBMATRICES=40)
396:       parameter(MATOP_INCREASE_OVERLAP=41)
397:       parameter(MATOP_GET_VALUES=42)
398:       parameter(MATOP_COPY=43)
399:       parameter(MATOP_GET_ROW_MAX=44)
400:       parameter(MATOP_SCALE=45)
401:       parameter(MATOP_SHIFT=46)
402:       parameter(MATOP_DIAGONAL_SET=47)
403:       parameter(MATOP_ILUDT_FACTOR=48)
404:       parameter(MATOP_SET_BLOCK_SIZE=49)
405:       parameter(MATOP_GET_ROW_IJ=50)
406:       parameter(MATOP_RESTORE_ROW_IJ=51)
407:       parameter(MATOP_GET_COLUMN_IJ=52)
408:       parameter(MATOP_RESTORE_COLUMN_IJ=53)
409:       parameter(MATOP_FDCOLORING_CREATE=54)
410:       parameter(MATOP_COLORING_PATCH=55)
411:       parameter(MATOP_SET_UNFACTORED=56)
412:       parameter(MATOP_PERMUTE=57)
413:       parameter(MATOP_SET_VALUES_BLOCKED=58)
414:       parameter(MATOP_GET_SUBMATRIX=59)
415:       parameter(MATOP_DESTROY=60)
416:       parameter(MATOP_VIEW=61)
417:       parameter(MATOP_CONVERT_FROM=62)
418:       parameter(MATOP_MATMAT_MULT=63)
419:       parameter(MATOP_MATMAT_MULT_SYMBOLIC=64)
420:       parameter(MATOP_MATMAT_MULT_NUMERIC=65)
421:       parameter(MATOP_SET_LOCAL_TO_GLOBAL_MAP=66)
422:       parameter(MATOP_SET_VALUES_LOCAL=67)
423:       parameter(MATOP_ZERO_ROWS_LOCAL=68)
424:       parameter(MATOP_GET_ROW_MAX_ABS=69)
425:       parameter(MATOP_GET_ROW_MIN_ABS=70)
426:       parameter(MATOP_CONVERT=71)
427:       parameter(MATOP_SET_COLORING=72)
428:       parameter(MATOP_PLACEHOLDER=73)
429:       parameter(MATOP_SET_VALUES_ADIFOR=74)
430:       parameter(MATOP_FD_COLORING_APPLY=75)
431:       parameter(MATOP_SET_FROM_OPTIONS=76)
432:       parameter(MATOP_MULT_CONSTRAINED=77)
433:       parameter(MATOP_MULT_TRANSPOSE_CONSTRAIN=78)
434:       parameter(MATOP_PERMUTE_SPARSIFY=79)
435:       parameter(MATOP_MULT_MULTIPLE=80)
436:       parameter(MATOP_SOLVE_MULTIPLE=81)
437:       parameter(MATOP_GET_INERTIA=82)
438:       parameter(MATOP_LOAD=83)
439:       parameter(MATOP_IS_SYMMETRIC=84)
440:       parameter(MATOP_IS_HERMITIAN=85)
441:       parameter(MATOP_IS_STRUCTURALLY_SYMMETRIC=86)
442:       parameter(MATOP_DUMMY=87)
443:       parameter(MATOP_GET_VECS=88)
444:       parameter(MATOP_MAT_MULT=89)
445:       parameter(MATOP_MAT_MULT_SYMBOLIC=90)
446:       parameter(MATOP_MAT_MULT_NUMERIC=91)
447:       parameter(MATOP_PTAP=92)
448:       parameter(MATOP_PTAP_SYMBOLIC=93)
449:       parameter(MATOP_PTAP_NUMERIC=94)
450:       parameter(MATOP_MAT_TRANSPOSE_MULT=95)
451:       parameter(MATOP_MAT_TRANSPOSE_MULT_SYMBO=96)
452:       parameter(MATOP_MAT_TRANSPOSE_MULT_NUMER=97)
453:       parameter(MATOP_PTAP_SYMBOLIC_SEQAIJ=98)
454:       parameter(MATOP_PTAP_NUMERIC_SEQAIJ=99)
455:       parameter(MATOP_PTAP_SYMBOLIC_MPIAIJ=100)
456:       parameter(MATOP_PTAP_NUMERIC_MPIAIJ=101)
457:       parameter(MATOP_CONJUGATE=102)
458:       parameter(MATOP_SET_SIZES=103)
459:       parameter(MATOP_SET_VALUES_ROW=104)
460:       parameter(MATOP_REAL_PART=105)
461:       parameter(MATOP_IMAGINARY_PART=106)
462:       parameter(MATOP_GET_ROW_UPPER_TRIANGULAR=107)
463:       parameter(MATOP_RESTORE_ROW_UPPER_TRIANG=108)
464:       parameter(MATOP_MAT_SOLVE=109)
465:       parameter(MATOP_GET_REDUNDANT_MATRIX=110)
466:       parameter(MATOP_GET_ROW_MIN=111)
467:       parameter(MATOP_GET_COLUMN_VECTOR=112)
468:       parameter(MATOP_MISSING_DIAGONAL=113)
469:       parameter(MATOP_GET_SEQ_NONZERO_STRUCTUR=114)
470:       parameter(MATOP_CREATE=115)
471:       parameter(MATOP_GET_GHOSTS=116)
472:       parameter(MATOP_GET_LOCAL_SUB_MATRIX=117)
473:       parameter(MATOP_RESTORE_LOCALSUB_MATRIX=118)
474:       parameter(MATOP_MULT_DIAGONAL_BLOCK=119)
475:       parameter(MATOP_HERMITIAN_TRANSPOSE=120)
476:       parameter(MATOP_MULT_HERMITIAN_TRANSPOSE=121)
477:       parameter(MATOP_MULT_HERMITIAN_TRANS_ADD=122)
478:       parameter(MATOP_GET_MULTI_PROC_BLOCK=123)
479:       parameter(MATOP_GET_COLUMN_NORMS=125)
480:       parameter(MATOP_GET_SUB_MATRICES_PARALLE=128)
481:       parameter(MATOP_SET_VALUES_BATCH=129)
482:       parameter(MATOP_SET_BLOCK_SIZES=139)
483:       parameter(MATOP_AYPX=140)
484: !
485: !
486: !
487:       PetscEnum MATRIX_BINARY_FORMAT_DENSE
488:       parameter (MATRIX_BINARY_FORMAT_DENSE=-1)
489: !
490: ! MPChacoGlobalType
491:       PetscEnum MP_CHACO_MULTILEVEL_KL
492:       PetscEnum MP_CHACO_SPECTRAL
493:       PetscEnum MP_CHACO_LINEAR
494:       PetscEnum MP_CHACO_RANDOM
495:       PetscEnum MP_CHACO_SCATTERED
496:       parameter (MP_CHACO_MULTILEVEL_KL=0,MP_CHACO_SPECTRAL=1)
497:       parameter (MP_CHACO_LINEAR=2,MP_CHACO_RANDOM=3)
498:       parameter (MP_CHACO_SCATTERED=4)
499: !
500: ! MPChacoLocalType
501:       PetscEnum MP_CHACO_KERNIGHAN_LIN
502:       PetscEnum MP_CHACO_NONE
503:       parameter (MP_CHACO_KERNIGHAN_LIN=0, MP_CHACO_NONE=1)
504: !
505: ! MPChacoEigenType
506:       PetscEnum MP_CHACO_LANCZOS
507:       PetscEnum MP_CHACO_RQI_SYMMLQ
508:       parameter (MP_CHACO_LANCZOS=0, MP_CHACO_RQI_SYMMLQ=1)
509: !
510: ! MPPTScotchStrategyType
511:       PetscEnum MP_PTSCOTCH_QUALITY
512:       PetscEnum MP_PTSCOTCH_SPEED
513:       PetscEnum MP_PTSCOTCH_BALANCE
514:       PetscEnum MP_PTSCOTCH_SAFETY
515:       PetscEnum MP_PTSCOTCH_SCALABILITY
516:       parameter (MP_PTSCOTCH_QUALITY = 0)
517:       parameter (MP_PTSCOTCH_SPEED = 1)
518:       parameter (MP_PTSCOTCH_BALANCE = 2)
519:       parameter (MP_PTSCOTCH_SAFETY = 3)
520:       parameter (MP_PTSCOTCH_SCALABILITY = 4)

522: ! PetscScalarPrecision
523:       PetscEnum PETSC_SCALAR_DOUBLE
524:       PetscEnum PETSC_SCALAR_SINGLE
525:       PetscEnum PETSC_SCALAR_LONG_DOUBLE
526:       parameter (PETSC_SCALAR_DOUBLE=0,PETSC_SCALAR_SINGLE=1)
527:       parameter (PETSC_SCALAR_LONG_DOUBLE=2)


530: !
531: !     CUSP enumerated types
532: !
533: #if defined(PETSC_HAVE_CUSP)
534:       PetscEnum MAT_CUSP_CSR
535:       PetscEnum MAT_CUSP_DIA
536:       PetscEnum MAT_CUSP_ELL
537:       parameter(MAT_CUSP_CSR=0,MAT_CUSP_DIA=1)
538:       parameter(MAT_CUSP_ELL=2)
539:       PetscEnum MAT_CUSP_MULT_DIAG
540:       PetscEnum MAT_CUSP_MULT_OFFDIAG
541:       PetscEnum MAT_CUSP_MULT
542:       PetscEnum MAT_CUSP_SOLVE
543:       PetscEnum MAT_CUSP_ALL
544:       parameter(MAT_CUSP_MULT_DIAG=0)
545:       parameter(MAT_CUSP_MULT_OFFDIAG=1)
546:       parameter(MAT_CUSP_MULT=2)
547:       parameter(MAT_CUSP_SOLVE=3)
548:       parameter(MAT_CUSP_ALL=4)
549: #endif


552: !
553: !     CUSPARSE enumerated types
554: !
555: #if defined(PETSC_HAVE_TXPETSCGPU)
556:       PetscEnum MAT_CUSPARSE_CSR
557:       PetscEnum MAT_CUSPARSE_ELL
558:       PetscEnum MAT_CUSPARSE_HYB
559:       parameter(MAT_CUSPARSE_CSR=0,MAT_CUSPARSE_ELL=1)
560:       parameter(MAT_CUSPARSE_HYB=2)
561:       PetscEnum MAT_CUSPARSE_MULT_DIAG
562:       PetscEnum MAT_CUSPARSE_MULT_OFFDIAG
563:       PetscEnum MAT_CUSPARSE_MULT
564:       PetscEnum MAT_CUSPARSE_SOLVE
565:       PetscEnum MAT_CUSPARSE_ALL
566:       parameter(MAT_CUSPARSE_MULT_DIAG=0)
567:       parameter(MAT_CUSPARSE_MULT_OFFDIAG=1)
568:       parameter(MAT_CUSPARSE_MULT=2)
569:       parameter(MAT_CUSPARSE_SOLVE=3)
570:       parameter(MAT_CUSPARSE_ALL=4)
571: #endif
572: !
573: !  End of Fortran include file for the Mat package in PETSc
574: !