Actual source code: slepcpep.h
slepc-3.21.1 2024-04-26
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