1: ! 2: ! 3: ! Include file for Fortran use of the Vec package in PETSc 4: ! 5: #if !defined (__PETSCVEC_H) 8: #define Vec PetscFortranAddr 9: #define VecScatter PetscFortranAddr 10: #define NormType PetscEnum 11: #define InsertMode PetscEnum 12: #define ScatterMode PetscEnum 13: #define VecOption PetscEnum 14: #define VecType character*(80) 15: #define VecOperation PetscEnum 17: #define VECSEQ 'seq' 18: #define VECMPI 'mpi' 19: #define VECFETI 'feti' 20: #define VECSHARED 'shared' 21: #define VECESI 'esi' 22: #define VECPETSCESI 'petscesi' 24: #endif 26: #if !defined (PETSC_AVOID_DECLARATIONS) 27: ! 28: ! 29: ! Types of vector and matrix norms 30: ! 31: PetscEnum NORM_1 32: PetscEnum NORM_2 33: PetscEnum NORM_FROBENIUS 34: PetscEnum NORM_INFINITY 35: PetscEnum NORM_MAX 36: PetscEnum NORM_1_AND_2 38: parameter (NORM_1=0,NORM_2=1,NORM_FROBENIUS=2,NORM_INFINITY=3) 39: parameter (NORM_MAX=3,NORM_1_AND_2=4) 40: ! 41: ! Flags for VecSetValues() and MatSetValues() 42: ! 43: PetscEnum NOT_SET_VALUES 44: PetscEnum INSERT_VALUES 45: PetscEnum ADD_VALUES 46: PetscEnum MAX_VALUES 48: parameter (NOT_SET_VALUES=0,INSERT_VALUES=1,ADD_VALUES=2) 49: parameter (MAX_VALUES=3) 50: ! 51: ! Types of vector scatters 52: ! 53: PetscEnum SCATTER_FORWARD 54: PetscEnum SCATTER_REVERSE 55: PetscEnum SCATTER_FORWARD_LOCAL 56: PetscEnum SCATTER_REVERSE_LOCAL 57: PetscEnum SCATTER_LOCAL 59: parameter (SCATTER_FORWARD=0,SCATTER_REVERSE=1) 60: parameter (SCATTER_FORWARD_LOCAL=2,SCATTER_REVERSE_LOCAL=3) 61: parameter (SCATTER_LOCAL=2) 62: ! 63: ! VecOption 64: ! 65: PetscEnum VEC_IGNORE_OFF_PROC_ENTRIES 66: PetscEnum VEC_TREAT_OFF_PROC_ENTRIES 67: PetscEnum VEC_IGNORE_NEGATIVE_INDICES 68: PetscEnum VEC_TREAT_NEGATIVE_INDICES 70: parameter (VEC_IGNORE_OFF_PROC_ENTRIES=0) 71: parameter (VEC_TREAT_OFF_PROC_ENTRIES=1) 72: parameter (VEC_IGNORE_NEGATIVE_INDICES=2) 73: parameter (VEC_TREAT_NEGATIVE_INDICES=3) 75: ! 76: ! VecOperation 77: ! 78: PetscEnum VECOP_VIEW 79: PetscEnum VECOP_LOADINTOVECTOR 81: parameter (VECOP_VIEW=33,VECOP_LOADINTOVECTOR=40) 82: ! 83: ! End of Fortran include file for the Vec package in PETSc 85: #endif