Actual source code: epsregis.c
slepc-3.11.2 2019-07-30
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2019, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
7: SLEPc is distributed under a 2-clause BSD license (see LICENSE).
8: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
9: */
11: #include <slepc/private/epsimpl.h> /*I "slepceps.h" I*/
13: SLEPC_EXTERN PetscErrorCode EPSCreate_Power(EPS);
14: SLEPC_EXTERN PetscErrorCode EPSCreate_Subspace(EPS);
15: SLEPC_EXTERN PetscErrorCode EPSCreate_Arnoldi(EPS);
16: SLEPC_EXTERN PetscErrorCode EPSCreate_Lanczos(EPS);
17: SLEPC_EXTERN PetscErrorCode EPSCreate_KrylovSchur(EPS);
18: #if defined(SLEPC_HAVE_ARPACK)
19: SLEPC_EXTERN PetscErrorCode EPSCreate_ARPACK(EPS);
20: #endif
21: SLEPC_EXTERN PetscErrorCode EPSCreate_LAPACK(EPS);
22: #if defined(SLEPC_HAVE_BLZPACK)
23: SLEPC_EXTERN PetscErrorCode EPSCreate_BLZPACK(EPS);
24: #endif
25: #if defined(SLEPC_HAVE_TRLAN)
26: SLEPC_EXTERN PetscErrorCode EPSCreate_TRLAN(EPS);
27: #endif
28: #if defined(SLEPC_HAVE_BLOPEX)
29: SLEPC_EXTERN PetscErrorCode EPSCreate_BLOPEX(EPS);
30: #endif
31: #if defined(SLEPC_HAVE_PRIMME)
32: SLEPC_EXTERN PetscErrorCode EPSCreate_PRIMME(EPS);
33: #endif
34: #if defined(SLEPC_HAVE_FEAST)
35: SLEPC_EXTERN PetscErrorCode EPSCreate_FEAST(EPS);
36: #endif
37: SLEPC_EXTERN PetscErrorCode EPSCreate_GD(EPS);
38: SLEPC_EXTERN PetscErrorCode EPSCreate_JD(EPS);
39: SLEPC_EXTERN PetscErrorCode EPSCreate_RQCG(EPS);
40: SLEPC_EXTERN PetscErrorCode EPSCreate_LOBPCG(EPS);
41: SLEPC_EXTERN PetscErrorCode EPSCreate_CISS(EPS);
43: /*@C
44: EPSRegisterAll - Registers all the eigenvalue solvers in the EPS package.
46: Not Collective
48: Level: advanced
50: .seealso: EPSRegister()
51: @*/
52: PetscErrorCode EPSRegisterAll(void)
53: {
57: if (EPSRegisterAllCalled) return(0);
58: EPSRegisterAllCalled = PETSC_TRUE;
59: EPSRegister(EPSKRYLOVSCHUR,EPSCreate_KrylovSchur);
60: EPSRegister(EPSPOWER,EPSCreate_Power);
61: EPSRegister(EPSSUBSPACE,EPSCreate_Subspace);
62: EPSRegister(EPSARNOLDI,EPSCreate_Arnoldi);
63: EPSRegister(EPSLANCZOS,EPSCreate_Lanczos);
64: EPSRegister(EPSGD,EPSCreate_GD);
65: EPSRegister(EPSJD,EPSCreate_JD);
66: EPSRegister(EPSRQCG,EPSCreate_RQCG);
67: EPSRegister(EPSLOBPCG,EPSCreate_LOBPCG);
68: EPSRegister(EPSCISS,EPSCreate_CISS);
69: EPSRegister(EPSLAPACK,EPSCreate_LAPACK);
70: #if defined(SLEPC_HAVE_ARPACK)
71: EPSRegister(EPSARPACK,EPSCreate_ARPACK);
72: #endif
73: #if defined(SLEPC_HAVE_BLZPACK)
74: EPSRegister(EPSBLZPACK,EPSCreate_BLZPACK);
75: #endif
76: #if defined(SLEPC_HAVE_TRLAN)
77: EPSRegister(EPSTRLAN,EPSCreate_TRLAN);
78: #endif
79: #if defined(SLEPC_HAVE_BLOPEX)
80: EPSRegister(EPSBLOPEX,EPSCreate_BLOPEX);
81: #endif
82: #if defined(SLEPC_HAVE_PRIMME)
83: EPSRegister(EPSPRIMME,EPSCreate_PRIMME);
84: #endif
85: #if defined(SLEPC_HAVE_FEAST)
86: EPSRegister(EPSFEAST,EPSCreate_FEAST);
87: #endif
88: return(0);
89: }