Actual source code: slepcpep.h
slepc-3.22.1 2024-10-28
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, extends(tPetscObject) :: tPEP
15: end type tPEP
17: PEP, parameter :: SLEPC_NULL_PEP = tPEP(0)
19: ! Convergence flags.
20: ! They should match the flags in $SLEPC_DIR/include/slepcpep.h
22: PetscEnum, parameter :: PEP_CONVERGED_TOL = 1
23: PetscEnum, parameter :: PEP_CONVERGED_USER = 2
24: PetscEnum, parameter :: PEP_DIVERGED_ITS = -1
25: PetscEnum, parameter :: PEP_DIVERGED_BREAKDOWN = -2
26: PetscEnum, parameter :: PEP_DIVERGED_SYMMETRY_LOST = -3
27: PetscEnum, parameter :: PEP_CONVERGED_ITERATING = 0
29: PetscEnum, parameter :: PEP_GENERAL = 1
30: PetscEnum, parameter :: PEP_HERMITIAN = 2
31: PetscEnum, parameter :: PEP_HYPERBOLIC = 3
32: PetscEnum, parameter :: PEP_GYROSCOPIC = 4
34: PetscEnum, parameter :: PEP_LARGEST_MAGNITUDE = 1
35: PetscEnum, parameter :: PEP_SMALLEST_MAGNITUDE = 2
36: PetscEnum, parameter :: PEP_LARGEST_REAL = 3
37: PetscEnum, parameter :: PEP_SMALLEST_REAL = 4
38: PetscEnum, parameter :: PEP_LARGEST_IMAGINARY = 5
39: PetscEnum, parameter :: PEP_SMALLEST_IMAGINARY = 6
40: PetscEnum, parameter :: PEP_TARGET_MAGNITUDE = 7
41: PetscEnum, parameter :: PEP_TARGET_REAL = 8
42: PetscEnum, parameter :: PEP_TARGET_IMAGINARY = 9
43: PetscEnum, parameter :: PEP_WHICH_USER = 10
45: PetscEnum, parameter :: PEP_BASIS_MONOMIAL = 0
46: PetscEnum, parameter :: PEP_BASIS_CHEBYSHEV1 = 1
47: PetscEnum, parameter :: PEP_BASIS_CHEBYSHEV2 = 2
48: PetscEnum, parameter :: PEP_BASIS_LEGENDRE = 3
49: PetscEnum, parameter :: PEP_BASIS_LAGUERRE = 4
50: PetscEnum, parameter :: PEP_BASIS_HERMITE = 5
52: PetscEnum, parameter :: PEP_SCALE_NONE = 0
53: PetscEnum, parameter :: PEP_SCALE_SCALAR = 1
54: PetscEnum, parameter :: PEP_SCALE_DIAGONAL = 2
55: PetscEnum, parameter :: PEP_SCALE_BOTH = 3
57: PetscEnum, parameter :: PEP_REFINE_NONE = 0
58: PetscEnum, parameter :: PEP_REFINE_SIMPLE = 1
59: PetscEnum, parameter :: PEP_REFINE_MULTIPLE = 2
61: PetscEnum, parameter :: PEP_REFINE_SCHEME_SCHUR = 1
62: PetscEnum, parameter :: PEP_REFINE_SCHEME_MBE = 2
63: PetscEnum, parameter :: PEP_REFINE_SCHEME_EXPLICIT = 3
65: PetscEnum, parameter :: PEP_EXTRACT_NONE = 1
66: PetscEnum, parameter :: PEP_EXTRACT_NORM = 2
67: PetscEnum, parameter :: PEP_EXTRACT_RESIDUAL = 3
68: PetscEnum, parameter :: PEP_EXTRACT_STRUCTURED = 4
70: PetscEnum, parameter :: PEP_ERROR_ABSOLUTE = 0
71: PetscEnum, parameter :: PEP_ERROR_RELATIVE = 1
72: PetscEnum, parameter :: PEP_ERROR_BACKWARD = 2
74: PetscEnum, parameter :: PEP_CONV_ABS = 0
75: PetscEnum, parameter :: PEP_CONV_REL = 1
76: PetscEnum, parameter :: PEP_CONV_NORM = 2
77: PetscEnum, parameter :: PEP_CONV_USER = 3
79: PetscEnum, parameter :: PEP_STOP_BASIC = 0
80: PetscEnum, parameter :: PEP_STOP_USER = 1
82: PetscEnum, parameter :: PEP_JD_PROJECTION_HARMONIC = 0
83: PetscEnum, parameter :: PEP_JD_PROJECTION_ORTHOGONAL = 1
85: PetscEnum, parameter :: PEP_CISS_EXTRACTION_RITZ = 0
86: PetscEnum, parameter :: PEP_CISS_EXTRACTION_HANKEL = 1
87: PetscEnum, parameter :: PEP_CISS_EXTRACTION_CAA = 2
89: !
90: ! Possible arguments to PEPMonitorSet()
91: !
92: external PEPMONITORFIRST
93: external PEPMONITORALL
94: external PEPMONITORCONVERGED
96: external PEPMonitorConvergedDestroy
98: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
99: !DEC$ ATTRIBUTES DLLEXPORT::SLEPC_NULL_PEP
100: #endif