Actual source code: epsregis.c
slepc-3.7.0 2016-05-16
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2016, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
8: SLEPc is free software: you can redistribute it and/or modify it under the
9: terms of version 3 of the GNU Lesser General Public License as published by
10: the Free Software Foundation.
12: SLEPc is distributed in the hope that it will be useful, but WITHOUT ANY
13: WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14: FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
15: more details.
17: You should have received a copy of the GNU Lesser General Public License
18: along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
19: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20: */
22: #include <slepc/private/epsimpl.h> /*I "slepceps.h" I*/
24: PETSC_EXTERN PetscErrorCode EPSCreate_Power(EPS);
25: PETSC_EXTERN PetscErrorCode EPSCreate_Subspace(EPS);
26: PETSC_EXTERN PetscErrorCode EPSCreate_Arnoldi(EPS);
27: PETSC_EXTERN PetscErrorCode EPSCreate_Lanczos(EPS);
28: PETSC_EXTERN PetscErrorCode EPSCreate_KrylovSchur(EPS);
29: #if defined(SLEPC_HAVE_ARPACK)
30: PETSC_EXTERN PetscErrorCode EPSCreate_ARPACK(EPS);
31: #endif
32: PETSC_EXTERN PetscErrorCode EPSCreate_LAPACK(EPS);
33: #if defined(SLEPC_HAVE_BLZPACK)
34: PETSC_EXTERN PetscErrorCode EPSCreate_BLZPACK(EPS);
35: #endif
36: #if defined(SLEPC_HAVE_TRLAN)
37: PETSC_EXTERN PetscErrorCode EPSCreate_TRLAN(EPS);
38: #endif
39: #if defined(SLEPC_HAVE_BLOPEX)
40: PETSC_EXTERN PetscErrorCode EPSCreate_BLOPEX(EPS);
41: #endif
42: #if defined(SLEPC_HAVE_PRIMME)
43: PETSC_EXTERN PetscErrorCode EPSCreate_PRIMME(EPS eps);
44: #endif
45: #if defined(SLEPC_HAVE_FEAST)
46: PETSC_EXTERN PetscErrorCode EPSCreate_FEAST(EPS);
47: #endif
48: PETSC_EXTERN PetscErrorCode EPSCreate_GD(EPS eps);
49: PETSC_EXTERN PetscErrorCode EPSCreate_JD(EPS eps);
50: PETSC_EXTERN PetscErrorCode EPSCreate_RQCG(EPS eps);
51: PETSC_EXTERN PetscErrorCode EPSCreate_LOBPCG(EPS eps);
52: PETSC_EXTERN PetscErrorCode EPSCreate_CISS(EPS eps);
56: /*@C
57: EPSRegisterAll - Registers all the eigenvalue solvers in the EPS package.
59: Not Collective
61: Level: advanced
63: .seealso: EPSRegister()
64: @*/
65: PetscErrorCode EPSRegisterAll(void)
66: {
70: if (EPSRegisterAllCalled) return(0);
71: EPSRegisterAllCalled = PETSC_TRUE;
72: EPSRegister(EPSKRYLOVSCHUR,EPSCreate_KrylovSchur);
73: EPSRegister(EPSPOWER,EPSCreate_Power);
74: EPSRegister(EPSSUBSPACE,EPSCreate_Subspace);
75: EPSRegister(EPSARNOLDI,EPSCreate_Arnoldi);
76: EPSRegister(EPSLANCZOS,EPSCreate_Lanczos);
77: EPSRegister(EPSGD,EPSCreate_GD);
78: EPSRegister(EPSJD,EPSCreate_JD);
79: EPSRegister(EPSRQCG,EPSCreate_RQCG);
80: EPSRegister(EPSLOBPCG,EPSCreate_LOBPCG);
81: EPSRegister(EPSCISS,EPSCreate_CISS);
82: EPSRegister(EPSLAPACK,EPSCreate_LAPACK);
83: #if defined(SLEPC_HAVE_ARPACK)
84: EPSRegister(EPSARPACK,EPSCreate_ARPACK);
85: #endif
86: #if defined(SLEPC_HAVE_BLZPACK)
87: EPSRegister(EPSBLZPACK,EPSCreate_BLZPACK);
88: #endif
89: #if defined(SLEPC_HAVE_TRLAN)
90: EPSRegister(EPSTRLAN,EPSCreate_TRLAN);
91: #endif
92: #if defined(SLEPC_HAVE_BLOPEX)
93: EPSRegister(EPSBLOPEX,EPSCreate_BLOPEX);
94: #endif
95: #if defined(SLEPC_HAVE_PRIMME)
96: EPSRegister(EPSPRIMME,EPSCreate_PRIMME);
97: #endif
98: #if defined(SLEPC_HAVE_FEAST)
99: EPSRegister(EPSFEAST,EPSCreate_FEAST);
100: #endif
101: return(0);
102: }