Actual source code: petscvec.h
petsc-3.12.5 2020-03-29
1: !
2: !
3: ! Include file for Fortran use of the Vec package in PETSc
4: !
5: #include "petsc/finclude/petscvec.h"
7: type tVec
8: sequence
9: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
10: end type tVec
11: type tVecScatter
12: sequence
13: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
14: end type tVecScatter
15: type tVecTagger
16: sequence
17: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
18: end type tVecTagger
20: Vec, parameter :: PETSC_NULL_VEC = tVec(0)
21: VecScatter, parameter :: PETSC_NULL_VECSCATTER = &
22: & tVecScatter(0)
23: VecTagger, parameter :: PETSC_NULL_VECTAGGER = &
24: & tVecTagger(0)
25: !
26: !
27: ! Types of vector and matrix norms
28: !
29: PetscEnum NORM_1
30: PetscEnum NORM_2
31: PetscEnum NORM_FROBENIUS
32: PetscEnum NORM_INFINITY
33: PetscEnum NORM_MAX
34: PetscEnum NORM_1_AND_2
36: parameter (NORM_1=0,NORM_2=1,NORM_FROBENIUS=2,NORM_INFINITY=3)
37: parameter (NORM_MAX=3,NORM_1_AND_2=4)
38: !
39: ! Flags for VecSetValues() and MatSetValues()
40: !
41: PetscEnum NOT_SET_VALUES
42: PetscEnum INSERT_VALUES
43: PetscEnum ADD_VALUES
44: PetscEnum MAX_VALUES
45: PetscEnum MIN_VALUES
46: PetscEnum INSERT_ALL_VALUES
47: PetscEnum ADD_ALL_VALUES
48: PetscEnum INSERT_BC_VALUES
49: PetscEnum ADD_BC_VALUES
51: parameter (NOT_SET_VALUES=0,INSERT_VALUES=1,ADD_VALUES=2)
52: parameter (MAX_VALUES=3,MIN_VALUES=4)
53: parameter (INSERT_ALL_VALUES=5,ADD_ALL_VALUES=6)
54: parameter (INSERT_BC_VALUES=7,ADD_BC_VALUES=8)
55: !
56: ! Types of vector scatters
57: !
58: PetscEnum SCATTER_FORWARD
59: PetscEnum SCATTER_REVERSE
60: PetscEnum SCATTER_FORWARD_LOCAL
61: PetscEnum SCATTER_REVERSE_LOCAL
62: PetscEnum SCATTER_LOCAL
64: parameter (SCATTER_FORWARD=0,SCATTER_REVERSE=1)
65: parameter (SCATTER_FORWARD_LOCAL=2,SCATTER_REVERSE_LOCAL=3)
66: parameter (SCATTER_LOCAL=2)
67: !
68: ! VecOption
69: !
70: PetscEnum VEC_IGNORE_OFF_PROC_ENTRIES
71: PetscEnum VEC_IGNORE_NEGATIVE_INDICES
72: PetscEnum VEC_SUBSET_OFF_PROC_ENTRIES
74: parameter (VEC_IGNORE_OFF_PROC_ENTRIES=0)
75: parameter (VEC_IGNORE_NEGATIVE_INDICES=1)
76: parameter (VEC_SUBSET_OFF_PROC_ENTRIES=2)
78: !
79: ! VecOperation
80: !
81: PetscEnum VECOP_DUPLICATE
82: PetscEnum VECOP_VIEW
83: PetscEnum VECOP_LOAD
84: PetscEnum VECOP_VIEWNATIVE
85: PetscEnum VECOP_LOADNATIVE
87: parameter (VECOP_DUPLICATE=0,VECOP_VIEW=33,VECOP_LOAD=41)
88: parameter (VECOP_VIEWNATIVE=68,VECOP_LOADNATIVE=69)
89: !
90: ! End of Fortran include file for the Vec package in PETSc
92: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
93: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_VEC
94: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_VECSCATTER
95: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_VECTAGGER
96: !DEC$ ATTRIBUTES DLLEXPORT::NORM_1
97: !DEC$ ATTRIBUTES DLLEXPORT::NORM_2
98: !DEC$ ATTRIBUTES DLLEXPORT::NORM_FROBENIUS
99: !DEC$ ATTRIBUTES DLLEXPORT::NORM_INFINITY
100: !DEC$ ATTRIBUTES DLLEXPORT::NORM_MAX
101: !DEC$ ATTRIBUTES DLLEXPORT::NORM_1_AND_2
102: !DEC$ ATTRIBUTES DLLEXPORT::NOT_SET_VALUES
103: !DEC$ ATTRIBUTES DLLEXPORT::INSERT_VALUES
104: !DEC$ ATTRIBUTES DLLEXPORT::ADD_VALUES
105: !DEC$ ATTRIBUTES DLLEXPORT::MAX_VALUES
106: !DEC$ ATTRIBUTES DLLEXPORT::INSERT_ALL_VALUES
107: !DEC$ ATTRIBUTES DLLEXPORT::ADD_ALL_VALUES
108: !DEC$ ATTRIBUTES DLLEXPORT::INSERT_BC_VALUES
109: !DEC$ ATTRIBUTES DLLEXPORT::ADD_BC_VALUES
110: !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_FORWARD
111: !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_REVERSE
112: !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_FORWARD_LOCAL
113: !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_REVERSE_LOCAL
114: !DEC$ ATTRIBUTES DLLEXPORT::SCATTER_LOCAL
115: !DEC$ ATTRIBUTES DLLEXPORT::VEC_IGNORE_OFF_PROC_ENTRIES
116: !DEC$ ATTRIBUTES DLLEXPORT::VEC_IGNORE_NEGATIVE_INDICES
117: !DEC$ ATTRIBUTES DLLEXPORT::VEC_SUBSET_OFF_PROC_ENTRIES
118: !DEC$ ATTRIBUTES DLLEXPORT::VECOP_DUPLICATE
119: !DEC$ ATTRIBUTES DLLEXPORT::VECOP_VIEW
120: !DEC$ ATTRIBUTES DLLEXPORT::VECOP_LOAD
121: !DEC$ ATTRIBUTES DLLEXPORT::VECOP_VIEWNATIVE
122: !DEC$ ATTRIBUTES DLLEXPORT::VECOP_LOADNATIVE
123: #endif