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