Actual source code: petscmat.h
petsc-3.7.5 2017-01-01
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: !