Actual source code: petscmat.h

petsc-3.7.5 2017-01-01
Report Typos and Errors
  1: !
  2: !
  3: !  Include file for Fortran use of the Mat package in PETSc
  4: !
  5:  #include petsc/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: !  MatOption; must match those in include/petscmat.h
 34: !
 35:       PetscEnum MAT_OPTION_MIN
 36:       PetscEnum MAT_UNUSED_NONZERO_LOCATION_ERR
 37:       PetscEnum MAT_ROW_ORIENTED
 38:       PetscEnum MAT_SYMMETRIC
 39:       PetscEnum MAT_STRUCTURALLY_SYMMETRIC
 40:       PetscEnum MAT_NEW_DIAGONALS
 41:       PetscEnum MAT_IGNORE_OFF_PROC_ENTRIES
 42:       PetscEnum MAT_USE_HASH_TABLE
 43:       PetscEnum MAT_KEEP_NONZERO_PATTERN
 44:       PetscEnum MAT_IGNORE_ZERO_ENTRIES
 45:       PetscEnum MAT_USE_INODES
 46:       PetscEnum MAT_HERMITIAN
 47:       PetscEnum MAT_SYMMETRY_ETERNAL
 48:       PetscEnum MAT_NEW_NONZERO_LOCATION_ERR
 49:       PetscEnum MAT_IGNORE_LOWER_TRIANGULAR
 50:       PetscEnum MAT_ERROR_LOWER_TRIANGULAR
 51:       PetscEnum MAT_GETROW_UPPERTRIANGULAR
 52:       PetscEnum MAT_SPD
 53:       PetscEnum MAT_NO_OFF_PROC_ZERO_ROWS
 54:       PetscEnum MAT_NO_OFF_PROC_ENTRIES
 55:       PetscEnum MAT_NEW_NONZERO_LOCATIONS
 56:       PetscEnum MAT_NEW_NONZERO_ALLOCATION_ERR
 57:       PetscEnum MAT_SUBSET_OFF_PROC_ENTRIES
 58:       PetscEnum MAT_OPTION_MAX

 60:       parameter(MAT_OPTION_MIN = -3)
 61:       parameter(MAT_UNUSED_NONZERO_LOCATION_ERR = -2)
 62:       parameter(MAT_ROW_ORIENTED = -1)
 63:       parameter(MAT_SYMMETRIC = 1)
 64:       parameter(MAT_STRUCTURALLY_SYMMETRIC = 2)
 65:       parameter(MAT_NEW_DIAGONALS = 3)
 66:       parameter(MAT_IGNORE_OFF_PROC_ENTRIES = 4)
 67:       parameter(MAT_USE_HASH_TABLE = 5)
 68:       parameter(MAT_KEEP_NONZERO_PATTERN = 6)
 69:       parameter(MAT_IGNORE_ZERO_ENTRIES = 7)
 70:       parameter(MAT_USE_INODES = 8)
 71:       parameter(MAT_HERMITIAN = 9)
 72:       parameter(MAT_SYMMETRY_ETERNAL = 10)
 73:       parameter(MAT_NEW_NONZERO_LOCATION_ERR = 11)
 74:       parameter(MAT_IGNORE_LOWER_TRIANGULAR = 12)
 75:       parameter(MAT_ERROR_LOWER_TRIANGULAR = 13)
 76:       parameter(MAT_GETROW_UPPERTRIANGULAR = 14)
 77:       parameter(MAT_SPD = 15)
 78:       parameter(MAT_NO_OFF_PROC_ZERO_ROWS = 16)
 79:       parameter(MAT_NO_OFF_PROC_ENTRIES = 17)
 80:       parameter(MAT_NEW_NONZERO_LOCATIONS = 18)
 81:       parameter(MAT_NEW_NONZERO_ALLOCATION_ERR = 19)
 82:       parameter(MAT_SUBSET_OFF_PROC_ENTRIES = 20)
 83:       parameter(MAT_OPTION_MAX = 21)
 84: !
 85: !  MatFactorShiftType
 86: !
 87:       PetscEnum MAT_SHIFT_NONE
 88:       PetscEnum MAT_SHIFT_NONZERO
 89:       PetscEnum MAT_SHIFT_POSITIVE_DEFINITE
 90:       PetscEnum MAT_SHIFT_INBLOCKS
 91:       parameter (MAT_SHIFT_NONE=0)
 92:       parameter (MAT_SHIFT_NONZERO=1)
 93:       parameter (MAT_SHIFT_POSITIVE_DEFINITE=2)
 94:       parameter (MAT_SHIFT_INBLOCKS=3)
 95: !
 96: !  MatFactorError
 97: !
 98:       PetscEnum MAT_FACTOR_NOERROR
 99:       PetscEnum MAT_FACTOR_STRUCT_ZEROPIVOT
100:       PetscEnum MAT_FACTOR_NUMERIC_ZEROPIVOT
101:       PetscEnum MAT_FACTOR_OUTMEMORY
102:       PetscEnum MAT_FACTOR_OTHER

104:       parameter (MAT_FACTOR_NOERROR=0)
105:       parameter (MAT_FACTOR_STRUCT_ZEROPIVOT=1)
106:       parameter (MAT_FACTOR_NUMERIC_ZEROPIVOT=2)
107:       parameter (MAT_FACTOR_OUTMEMORY=3)
108:       parameter (MAT_FACTOR_OTHER=4)
109: !
110: !  MatDuplicateOption
111: !
112:       PetscEnum MAT_DO_NOT_COPY_VALUES
113:       PetscEnum MAT_COPY_VALUES
114:       PetscEnum MAT_SHARE_NONZERO_PATTERN
115:       parameter (MAT_DO_NOT_COPY_VALUES=0,MAT_COPY_VALUES=1)
116:       parameter (MAT_SHARE_NONZERO_PATTERN=2)
117: !
118: !  Flags for MatCopy, MatAXPY
119: !
120:       PetscEnum DIFFERENT_NONZERO_PATTERN
121:       PetscEnum SUBSET_NONZERO_PATTERN
122:       PetscEnum SAME_NONZERO_PATTERN

124:       parameter (DIFFERENT_NONZERO_PATTERN = 0,SUBSET_NONZERO_PATTERN=1)
125:       parameter (SAME_NONZERO_PATTERN = 2)

127: #if !(PETSC_USE_FORTRAN_DATATYPES_)
128:  #include petsc/finclude/petscmatinfosize.h
129: #endif

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

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

156:       parameter (MAT_INITIAL_MATRIX=0)
157:       parameter (MAT_REUSE_MATRIX=1)
158:       parameter (MAT_IGNORE_MATRIX=2)
159:       parameter (MAT_INPLACE_MATRIX=3)

161: !
162: !  MatInfoType
163: !
164:       PetscEnum MAT_LOCAL
165:       PetscEnum MAT_GLOBAL_MAX
166:       PetscEnum MAT_GLOBAL_SUM

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

170: !
171: !  MatCompositeType
172: !
173:       PetscEnum MAT_COMPOSITE_ADDITIVE
174:       PetscEnum MAT_COMPOSITE_MULTIPLICATIVE

176:       parameter (MAT_COMPOSITE_ADDITIVE = 0)
177:       parameter (MAT_COMPOSITE_MULTIPLICATIVE = 1)
178: #if !(PETSC_USE_FORTRAN_DATATYPES_)
179:  #include petsc/finclude/petscmatfactorinfosize.h
180: #endif
181:       PetscEnum MAT_FACTORINFO_DIAGONAL_FILL
182:       PetscEnum MAT_FACTORINFO_USEDT
183:       PetscEnum MAT_FACTORINFO_DT
184:       PetscEnum MAT_FACTORINFO_DTCOL
185:       PetscEnum MAT_FACTORINFO_DTCOUNT
186:       PetscEnum MAT_FACTORINFO_FILL
187:       PetscEnum MAT_FACTORINFO_LEVELS
188:       PetscEnum MAT_FACTORINFO_PIVOT_IN_BLOCKS
189:       PetscEnum MAT_FACTORINFO_ZERO_PIVOT
190:       PetscEnum MAT_FACTORINFO_SHIFT_TYPE
191:       PetscEnum MAT_FACTORINFO_SHIFT_AMOUNT

193:       parameter (MAT_FACTORINFO_DIAGONAL_FILL = 1)
194:       parameter (MAT_FACTORINFO_USEDT = 2)
195:       parameter (MAT_FACTORINFO_DT = 3)
196:       parameter (MAT_FACTORINFO_DTCOL = 4)
197:       parameter (MAT_FACTORINFO_DTCOUNT = 5)
198:       parameter (MAT_FACTORINFO_FILL = 6)
199:       parameter (MAT_FACTORINFO_LEVELS = 7)
200:       parameter (MAT_FACTORINFO_PIVOT_IN_BLOCKS = 8)
201:       parameter (MAT_FACTORINFO_ZERO_PIVOT = 9)
202:       parameter (MAT_FACTORINFO_SHIFT_TYPE = 10)
203:       parameter (MAT_FACTORINFO_SHIFT_AMOUNT = 11)


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

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

375:       parameter(MATOP_SET_VALUES=0)
376:       parameter(MATOP_GET_ROW=1)
377:       parameter(MATOP_RESTORE_ROW=2)
378:       parameter(MATOP_MULT=3)
379:       parameter(MATOP_MULT_ADD=4)
380:       parameter(MATOP_MULT_TRANSPOSE=5)
381:       parameter(MATOP_MULT_TRANSPOSE_ADD=6)
382:       parameter(MATOP_SOLVE=7)
383:       parameter(MATOP_SOLVE_ADD=8)
384:       parameter(MATOP_SOLVE_TRANSPOSE=9)
385:       parameter(MATOP_SOLVE_TRANSPOSE_ADD=10)
386:       parameter(MATOP_LUFACTOR=11)
387:       parameter(MATOP_CHOLESKYFACTOR=12)
388:       parameter(MATOP_SOR=13)
389:       parameter(MATOP_TRANSPOSE=14)
390:       parameter(MATOP_GETINFO=15)
391:       parameter(MATOP_EQUAL=16)
392:       parameter(MATOP_GET_DIAGONAL=17)
393:       parameter(MATOP_DIAGONAL_SCALE=18)
394:       parameter(MATOP_NORM=19)
395:       parameter(MATOP_ASSEMBLY_BEGIN=20)
396:       parameter(MATOP_ASSEMBLY_END=21)
397:       parameter(MATOP_SET_OPTION=22)
398:       parameter(MATOP_ZERO_ENTRIES=23)
399:       parameter(MATOP_ZERO_ROWS=24)
400:       parameter(MATOP_LUFACTOR_SYMBOLIC=25)
401:       parameter(MATOP_LUFACTOR_NUMERIC=26)
402:       parameter(MATOP_CHOLESKY_FACTOR_SYMBOLIC=27)
403:       parameter(MATOP_CHOLESKY_FACTOR_NUMERIC=28)
404:       parameter(MATOP_SETUP_PREALLOCATION=29)
405:       parameter(MATOP_ILUFACTOR_SYMBOLIC=30)
406:       parameter(MATOP_ICCFACTOR_SYMBOLIC=31)
407: !     parameter(MATOP_PLACEHOLDER_32=32)
408: !     parameter(MATOP_PLACEHOLDER_33=33)
409:       parameter(MATOP_DUPLICATE=34)
410:       parameter(MATOP_FORWARD_SOLVE=35)
411:       parameter(MATOP_BACKWARD_SOLVE=36)
412:       parameter(MATOP_ILUFACTOR=37)
413:       parameter(MATOP_ICCFACTOR=38)
414:       parameter(MATOP_AXPY=39)
415:       parameter(MATOP_GET_SUBMATRICES=40)
416:       parameter(MATOP_INCREASE_OVERLAP=41)
417:       parameter(MATOP_GET_VALUES=42)
418:       parameter(MATOP_COPY=43)
419:       parameter(MATOP_GET_ROW_MAX=44)
420:       parameter(MATOP_SCALE=45)
421:       parameter(MATOP_SHIFT=46)
422:       parameter(MATOP_DIAGONAL_SET=47)
423:       parameter(MATOP_ZERO_ROWS_COLUMNS=48)
424:       parameter(MATOP_SET_RANDOM=49)
425:       parameter(MATOP_GET_ROW_IJ=50)
426:       parameter(MATOP_RESTORE_ROW_IJ=51)
427:       parameter(MATOP_GET_COLUMN_IJ=52)
428:       parameter(MATOP_RESTORE_COLUMN_IJ=53)
429:       parameter(MATOP_FDCOLORING_CREATE=54)
430:       parameter(MATOP_COLORING_PATCH=55)
431:       parameter(MATOP_SET_UNFACTORED=56)
432:       parameter(MATOP_PERMUTE=57)
433:       parameter(MATOP_SET_VALUES_BLOCKED=58)
434:       parameter(MATOP_GET_SUBMATRIX=59)
435:       parameter(MATOP_DESTROY=60)
436:       parameter(MATOP_VIEW=61)
437:       parameter(MATOP_CONVERT_FROM=62)
438:       parameter(MATOP_MATMAT_MULT=63)
439:       parameter(MATOP_MATMAT_MULT_SYMBOLIC=64)
440:       parameter(MATOP_MATMAT_MULT_NUMERIC=65)
441:       parameter(MATOP_SET_LOCAL_TO_GLOBAL_MAP=66)
442:       parameter(MATOP_SET_VALUES_LOCAL=67)
443:       parameter(MATOP_ZERO_ROWS_LOCAL=68)
444:       parameter(MATOP_GET_ROW_MAX_ABS=69)
445:       parameter(MATOP_GET_ROW_MIN_ABS=70)
446:       parameter(MATOP_CONVERT=71)
447:       parameter(MATOP_SET_COLORING=72)
448: !     parameter(MATOP_PLACEHOLDER_73=73)
449:       parameter(MATOP_SET_VALUES_ADIFOR=74)
450:       parameter(MATOP_FD_COLORING_APPLY=75)
451:       parameter(MATOP_SET_FROM_OPTIONS=76)
452:       parameter(MATOP_MULT_CONSTRAINED=77)
453:       parameter(MATOP_MULT_TRANSPOSE_CONSTRAIN=78)
454:       parameter(MATOP_FIND_ZERO_DIAGONALS=79)
455:       parameter(MATOP_MULT_MULTIPLE=80)
456:       parameter(MATOP_SOLVE_MULTIPLE=81)
457:       parameter(MATOP_GET_INERTIA=82)
458:       parameter(MATOP_LOAD=83)
459:       parameter(MATOP_IS_SYMMETRIC=84)
460:       parameter(MATOP_IS_HERMITIAN=85)
461:       parameter(MATOP_IS_STRUCTURALLY_SYMMETRIC=86)
462:       parameter(MATOP_SET_VALUES_BLOCKEDLOCAL=87)
463:       parameter(MATOP_GET_VECS=88)
464:       parameter(MATOP_MAT_MULT=89)
465:       parameter(MATOP_MAT_MULT_SYMBOLIC=90)
466:       parameter(MATOP_MAT_MULT_NUMERIC=91)
467:       parameter(MATOP_PTAP=92)
468:       parameter(MATOP_PTAP_SYMBOLIC=93)
469:       parameter(MATOP_PTAP_NUMERIC=94)
470:       parameter(MATOP_MAT_TRANSPOSE_MULT=95)
471:       parameter(MATOP_MAT_TRANSPOSE_MULT_SYMBO=96)
472:       parameter(MATOP_MAT_TRANSPOSE_MULT_NUMER=97)
473: !     parameter(MATOP_PLACEHOLDER_98=98)
474: !     parameter(MATOP_PLACEHOLDER_99=99)
475: !     parameter(MATOP_PLACEHOLDER_100=100)
476: !     parameter(MATOP_PLACEHOLDER_101=101)
477:       parameter(MATOP_CONJUGATE=102)
478: !     parameter(MATOP_PLACEHOLDER_103=103)
479:       parameter(MATOP_SET_VALUES_ROW=104)
480:       parameter(MATOP_REAL_PART=105)
481:       parameter(MATOP_IMAGINARY_PART=106)
482:       parameter(MATOP_GET_ROW_UPPER_TRIANGULAR=107)
483:       parameter(MATOP_RESTORE_ROW_UPPER_TRIANG=108)
484:       parameter(MATOP_MAT_SOLVE=109)
485:       parameter(MATOP_GET_REDUNDANT_MATRIX=110)
486:       parameter(MATOP_GET_ROW_MIN=111)
487:       parameter(MATOP_GET_COLUMN_VECTOR=112)
488:       parameter(MATOP_MISSING_DIAGONAL=113)
489:       parameter(MATOP_GET_SEQ_NONZERO_STRUCTUR=114)
490:       parameter(MATOP_CREATE=115)
491:       parameter(MATOP_GET_GHOSTS=116)
492:       parameter(MATOP_GET_LOCAL_SUB_MATRIX=117)
493:       parameter(MATOP_RESTORE_LOCALSUB_MATRIX=118)
494:       parameter(MATOP_MULT_DIAGONAL_BLOCK=119)
495:       parameter(MATOP_HERMITIAN_TRANSPOSE=120)
496:       parameter(MATOP_MULT_HERMITIAN_TRANSPOSE=121)
497:       parameter(MATOP_MULT_HERMITIAN_TRANS_ADD=122)
498:       parameter(MATOP_GET_MULTI_PROC_BLOCK=123)
499:       parameter(MATOP_FIND_NONZERO_ROWS=124)
500:       parameter(MATOP_GET_COLUMN_NORMS=125)
501:       parameter(MATOP_INVERT_BLOCK_DIAGONAL=126)
502: !     parameter(MATOP_PLACEHOLDER_127=127)
503:       parameter(MATOP_GET_SUB_MATRICES_PARALLE=128)
504:       parameter(MATOP_SET_VALUES_BATCH=129)
505:       parameter(MATOP_TRANSPOSE_MAT_MULT=130)
506:       parameter(MATOP_TRANSPOSE_MAT_MULT_SYMBO=131)
507:       parameter(MATOP_TRANSPOSE_MAT_MULT_NUMER=132)
508:       parameter(MATOP_TRANSPOSE_COLORING_CREAT=133)
509:       parameter(MATOP_TRANS_COLORING_APPLY_SPT=134)
510:       parameter(MATOP_TRANS_COLORING_APPLY_DEN=135)
511:       parameter(MATOP_RART=136)
512:       parameter(MATOP_RART_SYMBOLIC=137)
513:       parameter(MATOP_RART_NUMERIC=138)
514:       parameter(MATOP_SET_BLOCK_SIZES=139)
515:       parameter(MATOP_AYPX=140)
516:       parameter(MATOP_RESIDUAL=141)
517:       parameter(MATOP_FDCOLORING_SETUP=142)
518:       parameter(MATOP_MPICONCATENATESEQ=144)
519: !
520: !
521: !
522:       PetscEnum MATRIX_BINARY_FORMAT_DENSE
523:       parameter (MATRIX_BINARY_FORMAT_DENSE=-1)
524: !
525: ! MPChacoGlobalType
526:       PetscEnum MP_CHACO_MULTILEVEL_KL
527:       PetscEnum MP_CHACO_SPECTRAL
528:       PetscEnum MP_CHACO_LINEAR
529:       PetscEnum MP_CHACO_RANDOM
530:       PetscEnum MP_CHACO_SCATTERED
531:       parameter (MP_CHACO_MULTILEVEL_KL=0,MP_CHACO_SPECTRAL=1)
532:       parameter (MP_CHACO_LINEAR=2,MP_CHACO_RANDOM=3)
533:       parameter (MP_CHACO_SCATTERED=4)
534: !
535: ! MPChacoLocalType
536:       PetscEnum MP_CHACO_KERNIGHAN_LIN
537:       PetscEnum MP_CHACO_NONE
538:       parameter (MP_CHACO_KERNIGHAN_LIN=0, MP_CHACO_NONE=1)
539: !
540: ! MPChacoEigenType
541:       PetscEnum MP_CHACO_LANCZOS
542:       PetscEnum MP_CHACO_RQI_SYMMLQ
543:       parameter (MP_CHACO_LANCZOS=0, MP_CHACO_RQI_SYMMLQ=1)
544: !
545: ! MPPTScotchStrategyType
546:       PetscEnum MP_PTSCOTCH_QUALITY
547:       PetscEnum MP_PTSCOTCH_SPEED
548:       PetscEnum MP_PTSCOTCH_BALANCE
549:       PetscEnum MP_PTSCOTCH_SAFETY
550:       PetscEnum MP_PTSCOTCH_SCALABILITY
551:       parameter (MP_PTSCOTCH_QUALITY = 0)
552:       parameter (MP_PTSCOTCH_SPEED = 1)
553:       parameter (MP_PTSCOTCH_BALANCE = 2)
554:       parameter (MP_PTSCOTCH_SAFETY = 3)
555:       parameter (MP_PTSCOTCH_SCALABILITY = 4)

557: ! PetscScalarPrecision
558:       PetscEnum PETSC_SCALAR_DOUBLE
559:       PetscEnum PETSC_SCALAR_SINGLE
560:       PetscEnum PETSC_SCALAR_LONG_DOUBLE
561:       parameter (PETSC_SCALAR_DOUBLE=0,PETSC_SCALAR_SINGLE=1)
562:       parameter (PETSC_SCALAR_LONG_DOUBLE=2)


565: !
566: !     CUSP enumerated types
567: !
568: #if defined(PETSC_HAVE_CUSP)
569:       PetscEnum MAT_CUSP_CSR
570:       PetscEnum MAT_CUSP_DIA
571:       PetscEnum MAT_CUSP_ELL
572:       parameter(MAT_CUSP_CSR=0,MAT_CUSP_DIA=1)
573:       parameter(MAT_CUSP_ELL=2)
574:       PetscEnum MAT_CUSP_MULT_DIAG
575:       PetscEnum MAT_CUSP_MULT_OFFDIAG
576:       PetscEnum MAT_CUSP_MULT
577:       PetscEnum MAT_CUSP_ALL
578:       parameter(MAT_CUSP_MULT_DIAG=0)
579:       parameter(MAT_CUSP_MULT_OFFDIAG=1)
580:       parameter(MAT_CUSP_MULT=2)
581:       parameter(MAT_CUSP_ALL=3)
582: #endif


585: !
586: !     CUSPARSE enumerated types
587: !
588: #if defined(PETSC_HAVE_CUDA)
589:       PetscEnum MAT_CUSPARSE_CSR
590:       PetscEnum MAT_CUSPARSE_ELL
591:       PetscEnum MAT_CUSPARSE_HYB
592:       parameter(MAT_CUSPARSE_CSR=0,MAT_CUSPARSE_ELL=1)
593:       parameter(MAT_CUSPARSE_HYB=2)
594:       PetscEnum MAT_CUSPARSE_MULT_DIAG
595:       PetscEnum MAT_CUSPARSE_MULT_OFFDIAG
596:       PetscEnum MAT_CUSPARSE_MULT
597:       PetscEnum MAT_CUSPARSE_ALL
598:       parameter(MAT_CUSPARSE_MULT_DIAG=0)
599:       parameter(MAT_CUSPARSE_MULT_OFFDIAG=1)
600:       parameter(MAT_CUSPARSE_MULT=2)
601:       parameter(MAT_CUSPARSE_ALL=3)
602: #endif
603: !
604: !  End of Fortran include file for the Mat package in PETSc
605: !