1 !
2 !  Used by petscvecmod.F90 to create Fortran module file
3 !
4 #include "petsc/finclude/petscvec.h"
5 
6       type tVec
7         sequence
8         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
9       end type tVec
10       type tVecScatter
11         sequence
12         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
13       end type tVecScatter
14       type tVecTagger
15         sequence
16         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
17       end type tVecTagger
18 
19       Vec, parameter :: PETSC_NULL_VEC = tVec(0)
20       VecScatter, parameter :: PETSC_NULL_VECSCATTER = tVecScatter(0)
21       VecTagger, parameter :: PETSC_NULL_VECTAGGER = tVecTagger(0)
22 !
23 !
24 !  Types of vector and matrix norms
25 !
26       PetscEnum, parameter :: NORM_1 = 0
27       PetscEnum, parameter :: NORM_2 = 1
28       PetscEnum, parameter :: NORM_FROBENIUS = 2
29       PetscEnum, parameter :: NORM_INFINITY = 3
30       PetscEnum, parameter :: NORM_MAX = 3
31       PetscEnum, parameter :: NORM_1_AND_2 = 4
32 !
33 !  Flags for VecSetValues() and MatSetValues()
34 !
35       PetscEnum, parameter :: NOT_SET_VALUES = 0
36       PetscEnum, parameter :: INSERT_VALUES = 1
37       PetscEnum, parameter :: ADD_VALUES = 2
38       PetscEnum, parameter :: MAX_VALUES = 3
39       PetscEnum, parameter :: MIN_VALUES = 4
40       PetscEnum, parameter :: INSERT_ALL_VALUES = 5
41       PetscEnum, parameter :: ADD_ALL_VALUES = 6
42       PetscEnum, parameter :: INSERT_BC_VALUES = 7
43       PetscEnum, parameter :: ADD_BC_VALUES = 8
44 !
45 !  Types of vector scatters
46 !
47       PetscEnum, parameter :: SCATTER_FORWARD = 0
48       PetscEnum, parameter :: SCATTER_REVERSE = 1
49       PetscEnum, parameter :: SCATTER_FORWARD_LOCAL = 2
50       PetscEnum, parameter :: SCATTER_REVERSE_LOCAL = 3
51       PetscEnum, parameter :: SCATTER_LOCAL = 2
52 !
53 !  VecOption
54 !
55       PetscEnum, parameter :: VEC_IGNORE_OFF_PROC_ENTRIES = 0
56       PetscEnum, parameter :: VEC_IGNORE_NEGATIVE_INDICES = 1
57       PetscEnum, parameter :: VEC_SUBSET_OFF_PROC_ENTRIES = 2
58 !
59 !  VecOperation
60 !
61       PetscEnum, parameter :: VECOP_DUPLICATE = 0
62       PetscEnum, parameter :: VECOP_VIEW = 33
63       PetscEnum, parameter :: VECOP_LOAD = 41
64       PetscEnum, parameter :: VECOP_VIEWNATIVE = 68
65       PetscEnum, parameter :: VECOP_LOADNATIVE = 69
66 
67 #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
68 !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_VEC
69 !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_VECSCATTER
70 !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_VECTAGGER
71 !DEC$ ATTRIBUTES DLLEXPORT::NORM_1
72 !DEC$ ATTRIBUTES DLLEXPORT::NORM_2
73 !DEC$ ATTRIBUTES DLLEXPORT::NORM_FROBENIUS
74 !DEC$ ATTRIBUTES DLLEXPORT::NORM_INFINITY
75 !DEC$ ATTRIBUTES DLLEXPORT::NORM_MAX
76 !DEC$ ATTRIBUTES DLLEXPORT::NORM_1_AND_2
77 !DEC$ ATTRIBUTES DLLEXPORT::NOT_SET_VALUES
78 !DEC$ ATTRIBUTES DLLEXPORT::INSERT_VALUES
79 !DEC$ ATTRIBUTES DLLEXPORT::ADD_VALUES
80 !DEC$ ATTRIBUTES DLLEXPORT::MAX_VALUES
81 !DEC$ ATTRIBUTES DLLEXPORT::INSERT_ALL_VALUES
82 !DEC$ ATTRIBUTES DLLEXPORT::ADD_ALL_VALUES
83 !DEC$ ATTRIBUTES DLLEXPORT::INSERT_BC_VALUES
84 !DEC$ ATTRIBUTES DLLEXPORT::ADD_BC_VALUES
85 !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_FORWARD
86 !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_REVERSE
87 !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_FORWARD_LOCAL
88 !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_REVERSE_LOCAL
89 !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_LOCAL
90 !DEC$ ATTRIBUTES DLLEXPORT::VEC_IGNORE_OFF_PROC_ENTRIES
91 !DEC$ ATTRIBUTES DLLEXPORT::VEC_IGNORE_NEGATIVE_INDICES
92 !DEC$ ATTRIBUTES DLLEXPORT::VEC_SUBSET_OFF_PROC_ENTRIES
93 !DEC$ ATTRIBUTES DLLEXPORT::VECOP_DUPLICATE
94 !DEC$ ATTRIBUTES DLLEXPORT::VECOP_VIEW
95 !DEC$ ATTRIBUTES DLLEXPORT::VECOP_LOAD
96 !DEC$ ATTRIBUTES DLLEXPORT::VECOP_VIEWNATIVE
97 !DEC$ ATTRIBUTES DLLEXPORT::VECOP_LOADNATIVE
98 #endif
99