Actual source code: slepcpep.h
slepc-3.21.1 2024-04-26
Report Typos and Errors

      1: !
      2: !  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      3: !  SLEPc - Scalable Library for Eigenvalue Problem Computations
      4: !  Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain
      5: !
      6: !  This file is part of SLEPc.
      7: !  SLEPc is distributed under a 2-clause BSD license (see LICENSE).
      8: !  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      9: !
     10: !  Used by slepcpepmod.F90 to create Fortran module file
     11: !
     12: #include "slepc/finclude/slepcpep.h"

     14:       type tPEP
     15:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
     16:       end type tPEP

     18:       PEP, parameter :: SLEPC_NULL_PEP = tPEP(0)

     20: !  Convergence flags.
     21: !  They should match the flags in $SLEPC_DIR/include/slepcpep.h

     23:       PetscEnum, parameter :: PEP_CONVERGED_TOL          =  1
     24:       PetscEnum, parameter :: PEP_CONVERGED_USER         =  2
     25:       PetscEnum, parameter :: PEP_DIVERGED_ITS           = -1
     26:       PetscEnum, parameter :: PEP_DIVERGED_BREAKDOWN     = -2
     27:       PetscEnum, parameter :: PEP_DIVERGED_SYMMETRY_LOST = -3
     28:       PetscEnum, parameter :: PEP_CONVERGED_ITERATING    =  0

     30:       PetscEnum, parameter :: PEP_GENERAL                =  1
     31:       PetscEnum, parameter :: PEP_HERMITIAN              =  2
     32:       PetscEnum, parameter :: PEP_HYPERBOLIC             =  3
     33:       PetscEnum, parameter :: PEP_GYROSCOPIC             =  4

     35:       PetscEnum, parameter :: PEP_LARGEST_MAGNITUDE      =  1
     36:       PetscEnum, parameter :: PEP_SMALLEST_MAGNITUDE     =  2
     37:       PetscEnum, parameter :: PEP_LARGEST_REAL           =  3
     38:       PetscEnum, parameter :: PEP_SMALLEST_REAL          =  4
     39:       PetscEnum, parameter :: PEP_LARGEST_IMAGINARY      =  5
     40:       PetscEnum, parameter :: PEP_SMALLEST_IMAGINARY     =  6
     41:       PetscEnum, parameter :: PEP_TARGET_MAGNITUDE       =  7
     42:       PetscEnum, parameter :: PEP_TARGET_REAL            =  8
     43:       PetscEnum, parameter :: PEP_TARGET_IMAGINARY       =  9
     44:       PetscEnum, parameter :: PEP_WHICH_USER             = 10

     46:       PetscEnum, parameter :: PEP_BASIS_MONOMIAL         =  0
     47:       PetscEnum, parameter :: PEP_BASIS_CHEBYSHEV1       =  1
     48:       PetscEnum, parameter :: PEP_BASIS_CHEBYSHEV2       =  2
     49:       PetscEnum, parameter :: PEP_BASIS_LEGENDRE         =  3
     50:       PetscEnum, parameter :: PEP_BASIS_LAGUERRE         =  4
     51:       PetscEnum, parameter :: PEP_BASIS_HERMITE          =  5

     53:       PetscEnum, parameter :: PEP_SCALE_NONE             =  0
     54:       PetscEnum, parameter :: PEP_SCALE_SCALAR           =  1
     55:       PetscEnum, parameter :: PEP_SCALE_DIAGONAL         =  2
     56:       PetscEnum, parameter :: PEP_SCALE_BOTH             =  3

     58:       PetscEnum, parameter :: PEP_REFINE_NONE            =  0
     59:       PetscEnum, parameter :: PEP_REFINE_SIMPLE          =  1
     60:       PetscEnum, parameter :: PEP_REFINE_MULTIPLE        =  2

     62:       PetscEnum, parameter :: PEP_REFINE_SCHEME_SCHUR    =  1
     63:       PetscEnum, parameter :: PEP_REFINE_SCHEME_MBE      =  2
     64:       PetscEnum, parameter :: PEP_REFINE_SCHEME_EXPLICIT =  3

     66:       PetscEnum, parameter :: PEP_EXTRACT_NONE           =  1
     67:       PetscEnum, parameter :: PEP_EXTRACT_NORM           =  2
     68:       PetscEnum, parameter :: PEP_EXTRACT_RESIDUAL       =  3
     69:       PetscEnum, parameter :: PEP_EXTRACT_STRUCTURED     =  4

     71:       PetscEnum, parameter :: PEP_ERROR_ABSOLUTE         =  0
     72:       PetscEnum, parameter :: PEP_ERROR_RELATIVE         =  1
     73:       PetscEnum, parameter :: PEP_ERROR_BACKWARD         =  2

     75:       PetscEnum, parameter :: PEP_CONV_ABS               =  0
     76:       PetscEnum, parameter :: PEP_CONV_REL               =  1
     77:       PetscEnum, parameter :: PEP_CONV_NORM              =  2
     78:       PetscEnum, parameter :: PEP_CONV_USER              =  3

     80:       PetscEnum, parameter :: PEP_STOP_BASIC             =  0
     81:       PetscEnum, parameter :: PEP_STOP_USER              =  1

     83:       PetscEnum, parameter :: PEP_JD_PROJECTION_HARMONIC   =  0
     84:       PetscEnum, parameter :: PEP_JD_PROJECTION_ORTHOGONAL =  1

     86:       PetscEnum, parameter :: PEP_CISS_EXTRACTION_RITZ   =  0
     87:       PetscEnum, parameter :: PEP_CISS_EXTRACTION_HANKEL =  1
     88:       PetscEnum, parameter :: PEP_CISS_EXTRACTION_CAA    =  2

     90: !
     91: !   Possible arguments to PEPMonitorSet()
     92: !
     93:       external PEPMONITORFIRST
     94:       external PEPMONITORALL
     95:       external PEPMONITORCONVERGED

     97:       external PEPMonitorConvergedDestroy

     99: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
    100: !DEC$ ATTRIBUTES DLLEXPORT::SLEPC_NULL_PEP
    101: #endif