Actual source code: slepceps.h

  1: !
  2: !  Include file for Fortran use of the EPS object in SLEPc
  3: !
  4: !
  5: !  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  6: !     SLEPc - Scalable Library for Eigenvalue Problem Computations
  7: !     Copyright (c) 2002-2007, Universidad Politecnica de Valencia, Spain
  8: !
  9: !     This file is part of SLEPc. See the README file for conditions of use
 10: !     and additional information.
 11: !  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 12: !

 16: #define EPS                PetscFortranAddr
 17: #define EPSType            character*(80)
 18: #define EPSConvergedReason integer

 20: #define EPSPOWER     'power'
 21: #define EPSSUBSPACE  'subspace'
 22: #define EPSARNOLDI   'arnoldi'
 23: #define EPSLANCZOS   'lanczos'
 24: #define EPSLAPACK    'lapack'
 25: #define EPSARPACK    'arpack'
 26: #define EPSBLZPACK   'blzpack'
 27: #define EPSPLANSO    'planso'
 28: #define EPSTRLAN     'trlan'
 29: #define EPSLOBPCG    'lobpcg'

 31: !  Convergence flags.
 32: !  They sould match the flags in $SLEPC_DIR/include/slepceps.h

 34:       integer EPS_CONVERGED_TOL
 35:       integer EPS_DIVERGED_ITS
 36:       integer EPS_DIVERGED_BREAKDOWN
 37:       integer EPS_DIVERGED_NONSYMMETRIC
 38:       integer EPS_CONVERGED_ITERATING

 40:       parameter (EPS_CONVERGED_TOL          =  2)
 41:       parameter (EPS_DIVERGED_ITS           = -3)
 42:       parameter (EPS_DIVERGED_BREAKDOWN     = -4)
 43:       parameter (EPS_DIVERGED_NONSYMMETRIC  = -5)
 44:       parameter (EPS_CONVERGED_ITERATING    =  0)

 46:       integer EPS_HEP
 47:       integer EPS_GHEP
 48:       integer EPS_NHEP
 49:       integer EPS_GNHEP

 51:       parameter (EPS_HEP                    =  1)
 52:       parameter (EPS_GHEP                   =  2)
 53:       parameter (EPS_NHEP                   =  3)
 54:       parameter (EPS_GNHEP                  =  4)
 55: 
 56:       integer EPS_LARGEST_MAGNITUDE
 57:       integer EPS_SMALLEST_MAGNITUDE
 58:       integer EPS_LARGEST_REAL
 59:       integer EPS_SMALLEST_REAL
 60:       integer EPS_LARGEST_IMAGINARY
 61:       integer EPS_SMALLEST_IMAGINARY

 63:       parameter (EPS_LARGEST_MAGNITUDE      =  0)
 64:       parameter (EPS_SMALLEST_MAGNITUDE     =  1)
 65:       parameter (EPS_LARGEST_REAL           =  2)
 66:       parameter (EPS_SMALLEST_REAL          =  3)
 67:       parameter (EPS_LARGEST_IMAGINARY      =  4)
 68:       parameter (EPS_SMALLEST_IMAGINARY     =  5)

 70:       integer EPS_MGS_ORTH
 71:       integer EPS_CGS_ORTH
 72: 
 73:       parameter (EPS_MGS_ORTH               =  0)
 74:       parameter (EPS_CGS_ORTH               =  1)

 76:       integer EPS_ORTH_REFINE_NEVER
 77:       integer EPS_ORTH_REFINE_IFNEEDED
 78:       integer EPS_ORTH_REFINE_ALWAYS

 80:       parameter (EPS_ORTH_REFINE_NEVER      =  0)
 81:       parameter (EPS_ORTH_REFINE_IFNEEDED   =  1)
 82:       parameter (EPS_ORTH_REFINE_ALWAYS     =  2)
 83: 
 84:       integer EPSPOWER_SHIFT_CONSTANT
 85:       integer EPSPOWER_SHIFT_RAYLEIGH
 86:       integer EPSPOWER_SHIFT_WILKINSON

 88:       parameter (EPSPOWER_SHIFT_CONSTANT    =  0)
 89:       parameter (EPSPOWER_SHIFT_RAYLEIGH    =  1)
 90:       parameter (EPSPOWER_SHIFT_WILKINSON   =  2)

 92:       integer EPS_ONE_SIDE
 93:       integer EPS_TWO_SIDE

 95:       parameter (EPS_ONE_SIDE               =  0)
 96:       parameter (EPS_TWO_SIDE               =  1)

 98:       integer EPSLANCZOS_REORTHOG_NONE
 99:       integer EPSLANCZOS_REORTHOG_FULL
100:       integer EPSLANCZOS_REORTHOG_SELECTIVE
101:       integer EPSLANCZOS_REORTHOG_PERIODIC
102:       integer EPSLANCZOS_REORTHOG_PARTIAL

104:       parameter (EPSLANCZOS_REORTHOG_NONE      =  0)
105:       parameter (EPSLANCZOS_REORTHOG_FULL      =  1)
106:       parameter (EPSLANCZOS_REORTHOG_SELECTIVE =  2)
107:       parameter (EPSLANCZOS_REORTHOG_PERIODIC  =  3)
108:       parameter (EPSLANCZOS_REORTHOG_PARTIAL   =  4)

110: #endif