Actual source code: petscmat.h
petsc-3.8.4 2018-03-24
1: !
2: !
3: ! Include file for Fortran use of the Mat package in PETSc
4: !
5: #include "petsc/finclude/petscmat.h"
7: type tMat
8: sequence
9: PetscFortranAddr:: v
10: end type tMat
11: type tMatNullSpace
12: sequence
13: PetscFortranAddr:: v
14: end type tMatNullSpace
15: type tMatFDColoring
16: sequence
17: PetscFortranAddr:: v
18: end type tMatFDColoring
20: Mat, parameter :: PETSC_NULL_MAT = tMat(-1)
21: MatFDColoring, parameter :: PETSC_NULL_MATFDCOLORING &
22: & = tMatFDColoring(-1)
23: !
24: ! Flag for matrix assembly
25: !
26: PetscEnum MAT_FLUSH_ASSEMBLY
27: PetscEnum MAT_FINAL_ASSEMBLY
29: parameter(MAT_FLUSH_ASSEMBLY=1,MAT_FINAL_ASSEMBLY=0)
30: !
31: !
32: !
33: PetscEnum MAT_FACTOR_NONE
34: PetscEnum MAT_FACTOR_LU
35: PetscEnum MAT_FACTOR_CHOLESKY
36: PetscEnum MAT_FACTOR_ILU
37: PetscEnum MAT_FACTOR_ICC
39: parameter(MAT_FACTOR_NONE=0,MAT_FACTOR_LU=1)
40: parameter(MAT_FACTOR_CHOLESKY=2,MAT_FACTOR_ILU=3)
41: parameter(MAT_FACTOR_ICC=4)
43: ! MatCreateSubMatrixOption
44: PetscEnum MAT_DO_NOT_GET_VALUES
45: PetscEnum MAT_GET_VALUES
46: parameter(MAT_DO_NOT_GET_VALUES=0,MAT_GET_VALUES=1)
48: !
49: ! MatOption; must match those in include/petscmat.h
50: !
51: PetscEnum MAT_OPTION_MIN
52: PetscEnum MAT_UNUSED_NONZERO_LOCATION_ERR
53: PetscEnum MAT_ROW_ORIENTED
54: PetscEnum MAT_SYMMETRIC
55: PetscEnum MAT_STRUCTURALLY_SYMMETRIC
56: PetscEnum MAT_NEW_DIAGONALS
57: PetscEnum MAT_IGNORE_OFF_PROC_ENTRIES
58: PetscEnum MAT_USE_HASH_TABLE
59: PetscEnum MAT_KEEP_NONZERO_PATTERN
60: PetscEnum MAT_IGNORE_ZERO_ENTRIES
61: PetscEnum MAT_USE_INODES
62: PetscEnum MAT_HERMITIAN
63: PetscEnum MAT_SYMMETRY_ETERNAL
64: PetscEnum MAT_NEW_NONZERO_LOCATION_ERR
65: PetscEnum MAT_IGNORE_LOWER_TRIANGULAR
66: PetscEnum MAT_ERROR_LOWER_TRIANGULAR
67: PetscEnum MAT_GETROW_UPPERTRIANGULAR
68: PetscEnum MAT_SPD
69: PetscEnum MAT_NO_OFF_PROC_ZERO_ROWS
70: PetscEnum MAT_NO_OFF_PROC_ENTRIES
71: PetscEnum MAT_NEW_NONZERO_LOCATIONS
72: PetscEnum MAT_NEW_NONZERO_ALLOCATION_ERR
73: PetscEnum MAT_SUBSET_OFF_PROC_ENTRIES
74: PetscEnum MAT_SUBMAT_SINGLEIS
75: PetscEnum MAT_STRUCTURE_ONLY
76: PetscEnum MAT_OPTION_MAX
78: parameter(MAT_OPTION_MIN = -3)
79: parameter(MAT_UNUSED_NONZERO_LOCATION_ERR = -2)
80: parameter(MAT_ROW_ORIENTED = -1)
81: parameter(MAT_SYMMETRIC = 1)
82: parameter(MAT_STRUCTURALLY_SYMMETRIC = 2)
83: parameter(MAT_NEW_DIAGONALS = 3)
84: parameter(MAT_IGNORE_OFF_PROC_ENTRIES = 4)
85: parameter(MAT_USE_HASH_TABLE = 5)
86: parameter(MAT_KEEP_NONZERO_PATTERN = 6)
87: parameter(MAT_IGNORE_ZERO_ENTRIES = 7)
88: parameter(MAT_USE_INODES = 8)
89: parameter(MAT_HERMITIAN = 9)
90: parameter(MAT_SYMMETRY_ETERNAL = 10)
91: parameter(MAT_NEW_NONZERO_LOCATION_ERR = 11)
92: parameter(MAT_IGNORE_LOWER_TRIANGULAR = 12)
93: parameter(MAT_ERROR_LOWER_TRIANGULAR = 13)
94: parameter(MAT_GETROW_UPPERTRIANGULAR = 14)
95: parameter(MAT_SPD = 15)
96: parameter(MAT_NO_OFF_PROC_ZERO_ROWS = 16)
97: parameter(MAT_NO_OFF_PROC_ENTRIES = 17)
98: parameter(MAT_NEW_NONZERO_LOCATIONS = 18)
99: parameter(MAT_NEW_NONZERO_ALLOCATION_ERR = 19)
100: parameter(MAT_SUBSET_OFF_PROC_ENTRIES = 20)
101: parameter(MAT_SUBMAT_SINGLEIS = 21)
102: parameter(MAT_STRUCTURE_ONLY = 22)
103: parameter(MAT_OPTION_MAX = 23)
104: !
105: ! MatFactorShiftType
106: !
107: PetscEnum MAT_SHIFT_NONE
108: PetscEnum MAT_SHIFT_NONZERO
109: PetscEnum MAT_SHIFT_POSITIVE_DEFINITE
110: PetscEnum MAT_SHIFT_INBLOCKS
111: parameter (MAT_SHIFT_NONE=0)
112: parameter (MAT_SHIFT_NONZERO=1)
113: parameter (MAT_SHIFT_POSITIVE_DEFINITE=2)
114: parameter (MAT_SHIFT_INBLOCKS=3)
115: !
116: ! MatFactorError
117: !
118: PetscEnum MAT_FACTOR_NOERROR
119: PetscEnum MAT_FACTOR_STRUCT_ZEROPIVOT
120: PetscEnum MAT_FACTOR_NUMERIC_ZEROPIVOT
121: PetscEnum MAT_FACTOR_OUTMEMORY
122: PetscEnum MAT_FACTOR_OTHER
124: parameter (MAT_FACTOR_NOERROR=0)
125: parameter (MAT_FACTOR_STRUCT_ZEROPIVOT=1)
126: parameter (MAT_FACTOR_NUMERIC_ZEROPIVOT=2)
127: parameter (MAT_FACTOR_OUTMEMORY=3)
128: parameter (MAT_FACTOR_OTHER=4)
129: !
130: ! MatDuplicateOption
131: !
132: PetscEnum MAT_DO_NOT_COPY_VALUES
133: PetscEnum MAT_COPY_VALUES
134: PetscEnum MAT_SHARE_NONZERO_PATTERN
135: parameter (MAT_DO_NOT_COPY_VALUES=0,MAT_COPY_VALUES=1)
136: parameter (MAT_SHARE_NONZERO_PATTERN=2)
137: !
138: ! Flags for MatCopy, MatAXPY
139: !
140: PetscEnum DIFFERENT_NONZERO_PATTERN
141: PetscEnum SUBSET_NONZERO_PATTERN
142: PetscEnum SAME_NONZERO_PATTERN
144: parameter (DIFFERENT_NONZERO_PATTERN = 0,SUBSET_NONZERO_PATTERN=1)
145: parameter (SAME_NONZERO_PATTERN = 2)
147: #include "../src/mat/f90-mod/petscmatinfosize.h"
149: PetscEnum MAT_INFO_BLOCK_SIZE
150: PetscEnum MAT_INFO_NZ_ALLOCATED
151: PetscEnum MAT_INFO_NZ_USED
152: PetscEnum MAT_INFO_NZ_UNNEEDED
153: PetscEnum MAT_INFO_MEMORY
154: PetscEnum MAT_INFO_ASSEMBLIES
155: PetscEnum MAT_INFO_MALLOCS
156: PetscEnum MAT_INFO_FILL_RATIO_GIVEN
157: PetscEnum MAT_INFO_FILL_RATIO_NEEDED
158: PetscEnum MAT_INFO_FACTOR_MALLOCS
160: parameter (MAT_INFO_BLOCK_SIZE=1,MAT_INFO_NZ_ALLOCATED=2)
161: parameter (MAT_INFO_NZ_USED=3,MAT_INFO_NZ_UNNEEDED=4)
162: parameter (MAT_INFO_MEMORY=5,MAT_INFO_ASSEMBLIES=6)
163: parameter (MAT_INFO_MALLOCS=7,MAT_INFO_FILL_RATIO_GIVEN=8)
164: parameter (MAT_INFO_FILL_RATIO_NEEDED=9)
165: parameter (MAT_INFO_FACTOR_MALLOCS=10)
166: !
167: ! MatReuse
168: !
169: PetscEnum MAT_INITIAL_MATRIX
170: PetscEnum MAT_REUSE_MATRIX
171: PetscEnum MAT_IGNORE_MATRIX
172: PetscEnum MAT_INPLACE_MATRIX
174: parameter (MAT_INITIAL_MATRIX=0)
175: parameter (MAT_REUSE_MATRIX=1)
176: parameter (MAT_IGNORE_MATRIX=2)
177: parameter (MAT_INPLACE_MATRIX=3)
179: !
180: ! MatInfoType
181: !
182: PetscEnum MAT_LOCAL
183: PetscEnum MAT_GLOBAL_MAX
184: PetscEnum MAT_GLOBAL_SUM
186: parameter (MAT_LOCAL=1,MAT_GLOBAL_MAX=2,MAT_GLOBAL_SUM=3)
188: !
189: ! MatCompositeType
190: !
191: PetscEnum MAT_COMPOSITE_ADDITIVE
192: PetscEnum MAT_COMPOSITE_MULTIPLICATIVE
194: parameter (MAT_COMPOSITE_ADDITIVE = 0)
195: parameter (MAT_COMPOSITE_MULTIPLICATIVE = 1)
197: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
199: PetscEnum MAT_FACTORINFO_DIAGONAL_FILL
200: PetscEnum MAT_FACTORINFO_USEDT
201: PetscEnum MAT_FACTORINFO_DT
202: PetscEnum MAT_FACTORINFO_DTCOL
203: PetscEnum MAT_FACTORINFO_DTCOUNT
204: PetscEnum MAT_FACTORINFO_FILL
205: PetscEnum MAT_FACTORINFO_LEVELS
206: PetscEnum MAT_FACTORINFO_PIVOT_IN_BLOCKS
207: PetscEnum MAT_FACTORINFO_ZERO_PIVOT
208: PetscEnum MAT_FACTORINFO_SHIFT_TYPE
209: PetscEnum MAT_FACTORINFO_SHIFT_AMOUNT
211: parameter (MAT_FACTORINFO_DIAGONAL_FILL = 1)
212: parameter (MAT_FACTORINFO_USEDT = 2)
213: parameter (MAT_FACTORINFO_DT = 3)
214: parameter (MAT_FACTORINFO_DTCOL = 4)
215: parameter (MAT_FACTORINFO_DTCOUNT = 5)
216: parameter (MAT_FACTORINFO_FILL = 6)
217: parameter (MAT_FACTORINFO_LEVELS = 7)
218: parameter (MAT_FACTORINFO_PIVOT_IN_BLOCKS = 8)
219: parameter (MAT_FACTORINFO_ZERO_PIVOT = 9)
220: parameter (MAT_FACTORINFO_SHIFT_TYPE = 10)
221: parameter (MAT_FACTORINFO_SHIFT_AMOUNT = 11)
224: !
225: ! Options for SOR and SSOR
226: ! MatSorType may be bitwise ORd together, so do not change the numbers
227: !
228: PetscEnum SOR_FORWARD_SWEEP
229: PetscEnum SOR_BACKWARD_SWEEP
230: PetscEnum SOR_SYMMETRIC_SWEEP
231: PetscEnum SOR_LOCAL_FORWARD_SWEEP
232: PetscEnum SOR_LOCAL_BACKWARD_SWEEP
233: PetscEnum SOR_LOCAL_SYMMETRIC_SWEEP
234: PetscEnum SOR_ZERO_INITIAL_GUESS
235: PetscEnum SOR_EISENSTAT
236: PetscEnum SOR_APPLY_UPPER
237: PetscEnum SOR_APPLY_LOWER
239: parameter (SOR_FORWARD_SWEEP=1,SOR_BACKWARD_SWEEP=2)
240: parameter (SOR_SYMMETRIC_SWEEP=3,SOR_LOCAL_FORWARD_SWEEP=4)
241: parameter (SOR_LOCAL_BACKWARD_SWEEP=8)
242: parameter (SOR_LOCAL_SYMMETRIC_SWEEP=12)
243: parameter (SOR_ZERO_INITIAL_GUESS=16,SOR_EISENSTAT=32)
244: parameter (SOR_APPLY_UPPER=64,SOR_APPLY_LOWER=128)
245: !
246: ! MatOperation
247: !
248: PetscEnum MATOP_SET_VALUES
249: PetscEnum MATOP_GET_ROW
250: PetscEnum MATOP_RESTORE_ROW
251: PetscEnum MATOP_MULT
252: PetscEnum MATOP_MULT_ADD
253: PetscEnum MATOP_MULT_TRANSPOSE
254: PetscEnum MATOP_MULT_TRANSPOSE_ADD
255: PetscEnum MATOP_SOLVE
256: PetscEnum MATOP_SOLVE_ADD
257: PetscEnum MATOP_SOLVE_TRANSPOSE
258: PetscEnum MATOP_SOLVE_TRANSPOSE_ADD
259: PetscEnum MATOP_LUFACTOR
260: PetscEnum MATOP_CHOLESKYFACTOR
261: PetscEnum MATOP_SOR
262: PetscEnum MATOP_TRANSPOSE
263: PetscEnum MATOP_GETINFO
264: PetscEnum MATOP_EQUAL
265: PetscEnum MATOP_GET_DIAGONAL
266: PetscEnum MATOP_DIAGONAL_SCALE
267: PetscEnum MATOP_NORM
268: PetscEnum MATOP_ASSEMBLY_BEGIN
269: PetscEnum MATOP_ASSEMBLY_END
270: PetscEnum MATOP_SET_OPTION
271: PetscEnum MATOP_ZERO_ENTRIES
272: PetscEnum MATOP_ZERO_ROWS
273: PetscEnum MATOP_LUFACTOR_SYMBOLIC
274: PetscEnum MATOP_LUFACTOR_NUMERIC
275: PetscEnum MATOP_CHOLESKY_FACTOR_SYMBOLIC
276: PetscEnum MATOP_CHOLESKY_FACTOR_NUMERIC
277: PetscEnum MATOP_SETUP_PREALLOCATION
278: PetscEnum MATOP_ILUFACTOR_SYMBOLIC
279: PetscEnum MATOP_ICCFACTOR_SYMBOLIC
280: PetscEnum MATOP_GET_DIAGONAL_BLOCK
281: ! PetscEnum MATOP_PLACEHOLDER_33
282: PetscEnum MATOP_DUPLICATE
283: PetscEnum MATOP_FORWARD_SOLVE
284: PetscEnum MATOP_BACKWARD_SOLVE
285: PetscEnum MATOP_ILUFACTOR
286: PetscEnum MATOP_ICCFACTOR
287: PetscEnum MATOP_AXPY
288: PetscEnum MATOP_CREATE_SUBMATRICES
289: PetscEnum MATOP_INCREASE_OVERLAP
290: PetscEnum MATOP_GET_VALUES
291: PetscEnum MATOP_COPY
292: PetscEnum MATOP_GET_ROW_MAX
293: PetscEnum MATOP_SCALE
294: PetscEnum MATOP_SHIFT
295: PetscEnum MATOP_DIAGONAL_SET
296: PetscEnum MATOP_ZERO_ROWS_COLUMNS
297: PetscEnum MATOP_SET_RANDOM
298: PetscEnum MATOP_GET_ROW_IJ
299: PetscEnum MATOP_RESTORE_ROW_IJ
300: PetscEnum MATOP_GET_COLUMN_IJ
301: PetscEnum MATOP_RESTORE_COLUMN_IJ
302: PetscEnum MATOP_FDCOLORING_CREATE
303: PetscEnum MATOP_COLORING_PATCH
304: PetscEnum MATOP_SET_UNFACTORED
305: PetscEnum MATOP_PERMUTE
306: PetscEnum MATOP_SET_VALUES_BLOCKED
307: PetscEnum MATOP_CREATE_SUBMATRIX
308: PetscEnum MATOP_DESTROY
309: PetscEnum MATOP_VIEW
310: PetscEnum MATOP_CONVERT_FROM
311: PetscEnum MATOP_MATMAT_MULT
312: PetscEnum MATOP_MATMAT_MULT_SYMBOLIC
313: PetscEnum MATOP_MATMAT_MULT_NUMERIC
314: PetscEnum MATOP_SET_LOCAL_TO_GLOBAL_MAP
315: PetscEnum MATOP_SET_VALUES_LOCAL
316: PetscEnum MATOP_ZERO_ROWS_LOCAL
317: PetscEnum MATOP_GET_ROW_MAX_ABS
318: PetscEnum MATOP_GET_ROW_MIN_ABS
319: PetscEnum MATOP_CONVERT
320: PetscEnum MATOP_SET_COLORING
321: ! PetscEnum MATOP_PLACEHOLDER_73
322: PetscEnum MATOP_SET_VALUES_ADIFOR
323: PetscEnum MATOP_FD_COLORING_APPLY
324: PetscEnum MATOP_SET_FROM_OPTIONS
325: PetscEnum MATOP_MULT_CONSTRAINED
326: PetscEnum MATOP_MULT_TRANSPOSE_CONSTRAIN
327: PetscEnum MATOP_FIND_ZERO_DIAGONALS
328: PetscEnum MATOP_MULT_MULTIPLE
329: PetscEnum MATOP_SOLVE_MULTIPLE
330: PetscEnum MATOP_GET_INERTIA
331: PetscEnum MATOP_LOAD
332: PetscEnum MATOP_IS_SYMMETRIC
333: PetscEnum MATOP_IS_HERMITIAN
334: PetscEnum MATOP_IS_STRUCTURALLY_SYMMETRIC
335: PetscEnum MATOP_SET_VALUES_BLOCKEDLOCAL
336: PetscEnum MATOP_CREATE_VECS
337: PetscEnum MATOP_MAT_MULT
338: PetscEnum MATOP_MAT_MULT_SYMBOLIC
339: PetscEnum MATOP_MAT_MULT_NUMERIC
340: PetscEnum MATOP_PTAP
341: PetscEnum MATOP_PTAP_SYMBOLIC
342: PetscEnum MATOP_PTAP_NUMERIC
343: PetscEnum MATOP_MAT_TRANSPOSE_MULT
344: PetscEnum MATOP_MAT_TRANSPOSE_MULT_SYMBO
345: PetscEnum MATOP_MAT_TRANSPOSE_MULT_NUMER
346: ! PetscEnum MATOP_PLACEHOLDER_98
347: ! PetscEnum MATOP_PLACEHOLDER_99
348: ! PetscEnum MATOP_PLACEHOLDER_100
349: ! PetscEnum MATOP_PLACEHOLDER_101
350: PetscEnum MATOP_CONJUGATE
351: ! PetscEnum MATOP_PLACEHOLDER_103
352: PetscEnum MATOP_SET_VALUES_ROW
353: PetscEnum MATOP_REAL_PART
354: PetscEnum MATOP_IMAGINARY_PART
355: PetscEnum MATOP_GET_ROW_UPPER_TRIANGULAR
356: PetscEnum MATOP_RESTORE_ROW_UPPER_TRIANG
357: PetscEnum MATOP_MAT_SOLVE
358: PetscEnum MATOP_MAT_SOLVE_TRANSPOSE
359: PetscEnum MATOP_GET_ROW_MIN
360: PetscEnum MATOP_GET_COLUMN_VECTOR
361: PetscEnum MATOP_MISSING_DIAGONAL
362: PetscEnum MATOP_GET_SEQ_NONZERO_STRUCTUR
363: PetscEnum MATOP_CREATE
364: PetscEnum MATOP_GET_GHOSTS
365: PetscEnum MATOP_GET_LOCAL_SUB_MATRIX
366: PetscEnum MATOP_RESTORE_LOCALSUB_MATRIX
367: PetscEnum MATOP_MULT_DIAGONAL_BLOCK
368: PetscEnum MATOP_HERMITIAN_TRANSPOSE
369: PetscEnum MATOP_MULT_HERMITIAN_TRANSPOSE
370: PetscEnum MATOP_MULT_HERMITIAN_TRANS_ADD
371: PetscEnum MATOP_GET_MULTI_PROC_BLOCK
372: PetscEnum MATOP_FIND_NONZERO_ROWS
373: PetscEnum MATOP_GET_COLUMN_NORMS
374: PetscEnum MATOP_INVERT_BLOCK_DIAGONAL
375: ! PetscEnum MATOP_PLACEHOLDER_127
376: PetscEnum MATOP_CREATE_SUB_MATRICES_MPI
377: PetscEnum MATOP_SET_VALUES_BATCH
378: PetscEnum MATOP_TRANSPOSE_MAT_MULT
379: PetscEnum MATOP_TRANSPOSE_MAT_MULT_SYMBO
380: PetscEnum MATOP_TRANSPOSE_MAT_MULT_NUMER
381: PetscEnum MATOP_TRANSPOSE_COLORING_CREAT
382: PetscEnum MATOP_TRANS_COLORING_APPLY_SPT
383: PetscEnum MATOP_TRANS_COLORING_APPLY_DEN
384: PetscEnum MATOP_RART
385: PetscEnum MATOP_RART_SYMBOLIC
386: PetscEnum MATOP_RART_NUMERIC
387: PetscEnum MATOP_SET_BLOCK_SIZES
388: PetscEnum MATOP_AYPX
389: PetscEnum MATOP_RESIDUAL
390: PetscEnum MATOP_FDCOLORING_SETUP
391: PetscEnum MATOP_MPICONCATENATESEQ
393: parameter(MATOP_SET_VALUES=0)
394: parameter(MATOP_GET_ROW=1)
395: parameter(MATOP_RESTORE_ROW=2)
396: parameter(MATOP_MULT=3)
397: parameter(MATOP_MULT_ADD=4)
398: parameter(MATOP_MULT_TRANSPOSE=5)
399: parameter(MATOP_MULT_TRANSPOSE_ADD=6)
400: parameter(MATOP_SOLVE=7)
401: parameter(MATOP_SOLVE_ADD=8)
402: parameter(MATOP_SOLVE_TRANSPOSE=9)
403: parameter(MATOP_SOLVE_TRANSPOSE_ADD=10)
404: parameter(MATOP_LUFACTOR=11)
405: parameter(MATOP_CHOLESKYFACTOR=12)
406: parameter(MATOP_SOR=13)
407: parameter(MATOP_TRANSPOSE=14)
408: parameter(MATOP_GETINFO=15)
409: parameter(MATOP_EQUAL=16)
410: parameter(MATOP_GET_DIAGONAL=17)
411: parameter(MATOP_DIAGONAL_SCALE=18)
412: parameter(MATOP_NORM=19)
413: parameter(MATOP_ASSEMBLY_BEGIN=20)
414: parameter(MATOP_ASSEMBLY_END=21)
415: parameter(MATOP_SET_OPTION=22)
416: parameter(MATOP_ZERO_ENTRIES=23)
417: parameter(MATOP_ZERO_ROWS=24)
418: parameter(MATOP_LUFACTOR_SYMBOLIC=25)
419: parameter(MATOP_LUFACTOR_NUMERIC=26)
420: parameter(MATOP_CHOLESKY_FACTOR_SYMBOLIC=27)
421: parameter(MATOP_CHOLESKY_FACTOR_NUMERIC=28)
422: parameter(MATOP_SETUP_PREALLOCATION=29)
423: parameter(MATOP_ILUFACTOR_SYMBOLIC=30)
424: parameter(MATOP_ICCFACTOR_SYMBOLIC=31)
425: parameter(MATOP_GET_DIAGONAL_BLOCK=32)
426: ! parameter(MATOP_PLACEHOLDER_33=33)
427: parameter(MATOP_DUPLICATE=34)
428: parameter(MATOP_FORWARD_SOLVE=35)
429: parameter(MATOP_BACKWARD_SOLVE=36)
430: parameter(MATOP_ILUFACTOR=37)
431: parameter(MATOP_ICCFACTOR=38)
432: parameter(MATOP_AXPY=39)
433: parameter(MATOP_CREATE_SUBMATRICES=40)
434: parameter(MATOP_INCREASE_OVERLAP=41)
435: parameter(MATOP_GET_VALUES=42)
436: parameter(MATOP_COPY=43)
437: parameter(MATOP_GET_ROW_MAX=44)
438: parameter(MATOP_SCALE=45)
439: parameter(MATOP_SHIFT=46)
440: parameter(MATOP_DIAGONAL_SET=47)
441: parameter(MATOP_ZERO_ROWS_COLUMNS=48)
442: parameter(MATOP_SET_RANDOM=49)
443: parameter(MATOP_GET_ROW_IJ=50)
444: parameter(MATOP_RESTORE_ROW_IJ=51)
445: parameter(MATOP_GET_COLUMN_IJ=52)
446: parameter(MATOP_RESTORE_COLUMN_IJ=53)
447: parameter(MATOP_FDCOLORING_CREATE=54)
448: parameter(MATOP_COLORING_PATCH=55)
449: parameter(MATOP_SET_UNFACTORED=56)
450: parameter(MATOP_PERMUTE=57)
451: parameter(MATOP_SET_VALUES_BLOCKED=58)
452: parameter(MATOP_CREATE_SUBMATRIX=59)
453: parameter(MATOP_DESTROY=60)
454: parameter(MATOP_VIEW=61)
455: parameter(MATOP_CONVERT_FROM=62)
456: parameter(MATOP_MATMAT_MULT=63)
457: parameter(MATOP_MATMAT_MULT_SYMBOLIC=64)
458: parameter(MATOP_MATMAT_MULT_NUMERIC=65)
459: parameter(MATOP_SET_LOCAL_TO_GLOBAL_MAP=66)
460: parameter(MATOP_SET_VALUES_LOCAL=67)
461: parameter(MATOP_ZERO_ROWS_LOCAL=68)
462: parameter(MATOP_GET_ROW_MAX_ABS=69)
463: parameter(MATOP_GET_ROW_MIN_ABS=70)
464: parameter(MATOP_CONVERT=71)
465: parameter(MATOP_SET_COLORING=72)
466: ! parameter(MATOP_PLACEHOLDER_73=73)
467: parameter(MATOP_SET_VALUES_ADIFOR=74)
468: parameter(MATOP_FD_COLORING_APPLY=75)
469: parameter(MATOP_SET_FROM_OPTIONS=76)
470: parameter(MATOP_MULT_CONSTRAINED=77)
471: parameter(MATOP_MULT_TRANSPOSE_CONSTRAIN=78)
472: parameter(MATOP_FIND_ZERO_DIAGONALS=79)
473: parameter(MATOP_MULT_MULTIPLE=80)
474: parameter(MATOP_SOLVE_MULTIPLE=81)
475: parameter(MATOP_GET_INERTIA=82)
476: parameter(MATOP_LOAD=83)
477: parameter(MATOP_IS_SYMMETRIC=84)
478: parameter(MATOP_IS_HERMITIAN=85)
479: parameter(MATOP_IS_STRUCTURALLY_SYMMETRIC=86)
480: parameter(MATOP_SET_VALUES_BLOCKEDLOCAL=87)
481: parameter(MATOP_CREATE_VECS=88)
482: parameter(MATOP_MAT_MULT=89)
483: parameter(MATOP_MAT_MULT_SYMBOLIC=90)
484: parameter(MATOP_MAT_MULT_NUMERIC=91)
485: parameter(MATOP_PTAP=92)
486: parameter(MATOP_PTAP_SYMBOLIC=93)
487: parameter(MATOP_PTAP_NUMERIC=94)
488: parameter(MATOP_MAT_TRANSPOSE_MULT=95)
489: parameter(MATOP_MAT_TRANSPOSE_MULT_SYMBO=96)
490: parameter(MATOP_MAT_TRANSPOSE_MULT_NUMER=97)
491: ! parameter(MATOP_PLACEHOLDER_98=98)
492: ! parameter(MATOP_PLACEHOLDER_99=99)
493: ! parameter(MATOP_PLACEHOLDER_100=100)
494: ! parameter(MATOP_PLACEHOLDER_101=101)
495: parameter(MATOP_CONJUGATE=102)
496: ! parameter(MATOP_PLACEHOLDER_103=103)
497: parameter(MATOP_SET_VALUES_ROW=104)
498: parameter(MATOP_REAL_PART=105)
499: parameter(MATOP_IMAGINARY_PART=106)
500: parameter(MATOP_GET_ROW_UPPER_TRIANGULAR=107)
501: parameter(MATOP_RESTORE_ROW_UPPER_TRIANG=108)
502: parameter(MATOP_MAT_SOLVE=109)
503: parameter(MATOP_MAT_SOLVE_TRANSPOSE=110)
504: parameter(MATOP_GET_ROW_MIN=111)
505: parameter(MATOP_GET_COLUMN_VECTOR=112)
506: parameter(MATOP_MISSING_DIAGONAL=113)
507: parameter(MATOP_GET_SEQ_NONZERO_STRUCTUR=114)
508: parameter(MATOP_CREATE=115)
509: parameter(MATOP_GET_GHOSTS=116)
510: parameter(MATOP_GET_LOCAL_SUB_MATRIX=117)
511: parameter(MATOP_RESTORE_LOCALSUB_MATRIX=118)
512: parameter(MATOP_MULT_DIAGONAL_BLOCK=119)
513: parameter(MATOP_HERMITIAN_TRANSPOSE=120)
514: parameter(MATOP_MULT_HERMITIAN_TRANSPOSE=121)
515: parameter(MATOP_MULT_HERMITIAN_TRANS_ADD=122)
516: parameter(MATOP_GET_MULTI_PROC_BLOCK=123)
517: parameter(MATOP_FIND_NONZERO_ROWS=124)
518: parameter(MATOP_GET_COLUMN_NORMS=125)
519: parameter(MATOP_INVERT_BLOCK_DIAGONAL=126)
520: ! parameter(MATOP_PLACEHOLDER_127=127)
521: parameter(MATOP_CREATE_SUB_MATRICES_MPI=128)
522: parameter(MATOP_SET_VALUES_BATCH=129)
523: parameter(MATOP_TRANSPOSE_MAT_MULT=130)
524: parameter(MATOP_TRANSPOSE_MAT_MULT_SYMBO=131)
525: parameter(MATOP_TRANSPOSE_MAT_MULT_NUMER=132)
526: parameter(MATOP_TRANSPOSE_COLORING_CREAT=133)
527: parameter(MATOP_TRANS_COLORING_APPLY_SPT=134)
528: parameter(MATOP_TRANS_COLORING_APPLY_DEN=135)
529: parameter(MATOP_RART=136)
530: parameter(MATOP_RART_SYMBOLIC=137)
531: parameter(MATOP_RART_NUMERIC=138)
532: parameter(MATOP_SET_BLOCK_SIZES=139)
533: parameter(MATOP_AYPX=140)
534: parameter(MATOP_RESIDUAL=141)
535: parameter(MATOP_FDCOLORING_SETUP=142)
536: parameter(MATOP_MPICONCATENATESEQ=144)
537: !
538: !
539: !
540: PetscEnum MATRIX_BINARY_FORMAT_DENSE
541: parameter (MATRIX_BINARY_FORMAT_DENSE=-1)
542: !
543: ! MPChacoGlobalType
544: PetscEnum MP_CHACO_MULTILEVEL_KL
545: PetscEnum MP_CHACO_SPECTRAL
546: PetscEnum MP_CHACO_LINEAR
547: PetscEnum MP_CHACO_RANDOM
548: PetscEnum MP_CHACO_SCATTERED
549: parameter (MP_CHACO_MULTILEVEL_KL=0,MP_CHACO_SPECTRAL=1)
550: parameter (MP_CHACO_LINEAR=2,MP_CHACO_RANDOM=3)
551: parameter (MP_CHACO_SCATTERED=4)
552: !
553: ! MPChacoLocalType
554: PetscEnum MP_CHACO_KERNIGHAN_LIN
555: PetscEnum MP_CHACO_NONE
556: parameter (MP_CHACO_KERNIGHAN_LIN=0, MP_CHACO_NONE=1)
557: !
558: ! MPChacoEigenType
559: PetscEnum MP_CHACO_LANCZOS
560: PetscEnum MP_CHACO_RQI_SYMMLQ
561: parameter (MP_CHACO_LANCZOS=0, MP_CHACO_RQI_SYMMLQ=1)
562: !
563: ! MPPTScotchStrategyType
564: PetscEnum MP_PTSCOTCH_QUALITY
565: PetscEnum MP_PTSCOTCH_SPEED
566: PetscEnum MP_PTSCOTCH_BALANCE
567: PetscEnum MP_PTSCOTCH_SAFETY
568: PetscEnum MP_PTSCOTCH_SCALABILITY
569: parameter (MP_PTSCOTCH_QUALITY = 0)
570: parameter (MP_PTSCOTCH_SPEED = 1)
571: parameter (MP_PTSCOTCH_BALANCE = 2)
572: parameter (MP_PTSCOTCH_SAFETY = 3)
573: parameter (MP_PTSCOTCH_SCALABILITY = 4)
575: ! PetscScalarPrecision
576: PetscEnum PETSC_SCALAR_DOUBLE
577: PetscEnum PETSC_SCALAR_SINGLE
578: PetscEnum PETSC_SCALAR_LONG_DOUBLE
579: parameter (PETSC_SCALAR_DOUBLE=0,PETSC_SCALAR_SINGLE=1)
580: parameter (PETSC_SCALAR_LONG_DOUBLE=2)
583: !
584: ! CUSP enumerated types
585: !
586: #if defined(PETSC_HAVE_CUSP)
587: PetscEnum MAT_CUSP_CSR
588: PetscEnum MAT_CUSP_DIA
589: PetscEnum MAT_CUSP_ELL
590: parameter(MAT_CUSP_CSR=0,MAT_CUSP_DIA=1)
591: parameter(MAT_CUSP_ELL=2)
592: PetscEnum MAT_CUSP_MULT_DIAG
593: PetscEnum MAT_CUSP_MULT_OFFDIAG
594: PetscEnum MAT_CUSP_MULT
595: PetscEnum MAT_CUSP_ALL
596: parameter(MAT_CUSP_MULT_DIAG=0)
597: parameter(MAT_CUSP_MULT_OFFDIAG=1)
598: parameter(MAT_CUSP_MULT=2)
599: parameter(MAT_CUSP_ALL=3)
600: #endif
603: !
604: ! CUSPARSE enumerated types
605: !
606: #if defined(PETSC_HAVE_CUDA)
607: PetscEnum MAT_CUSPARSE_CSR
608: PetscEnum MAT_CUSPARSE_ELL
609: PetscEnum MAT_CUSPARSE_HYB
610: parameter(MAT_CUSPARSE_CSR=0,MAT_CUSPARSE_ELL=1)
611: parameter(MAT_CUSPARSE_HYB=2)
612: PetscEnum MAT_CUSPARSE_MULT_DIAG
613: PetscEnum MAT_CUSPARSE_MULT_OFFDIAG
614: PetscEnum MAT_CUSPARSE_MULT
615: PetscEnum MAT_CUSPARSE_ALL
616: parameter(MAT_CUSPARSE_MULT_DIAG=0)
617: parameter(MAT_CUSPARSE_MULT_OFFDIAG=1)
618: parameter(MAT_CUSPARSE_MULT=2)
619: parameter(MAT_CUSPARSE_ALL=3)
620: #endif
621: !
622: ! End of Fortran include file for the Mat package in PETSc
623: !