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