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 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

 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

 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