Actual source code: itregis.c
petsc-3.5.4 2015-05-23
2: #include <petsc-private/kspimpl.h> /*I "petscksp.h" I*/
4: PETSC_EXTERN PetscErrorCode KSPCreate_Richardson(KSP);
5: PETSC_EXTERN PetscErrorCode KSPCreate_Chebyshev(KSP);
6: PETSC_EXTERN PetscErrorCode KSPCreate_CG(KSP);
7: PETSC_EXTERN PetscErrorCode KSPCreate_GROPPCG(KSP);
8: PETSC_EXTERN PetscErrorCode KSPCreate_PIPECG(KSP);
9: PETSC_EXTERN PetscErrorCode KSPCreate_CGNE(KSP);
10: PETSC_EXTERN PetscErrorCode KSPCreate_NASH(KSP);
11: PETSC_EXTERN PetscErrorCode KSPCreate_STCG(KSP);
12: PETSC_EXTERN PetscErrorCode KSPCreate_GLTR(KSP);
13: PETSC_EXTERN PetscErrorCode KSPCreate_TCQMR(KSP);
14: PETSC_EXTERN PetscErrorCode KSPCreate_GMRES(KSP);
15: PETSC_EXTERN PetscErrorCode KSPCreate_BCGS(KSP);
16: PETSC_EXTERN PetscErrorCode KSPCreate_IBCGS(KSP);
17: PETSC_EXTERN PetscErrorCode KSPCreate_FBCGS(KSP);
18: PETSC_EXTERN PetscErrorCode KSPCreate_FBCGSR(KSP);
19: PETSC_EXTERN PetscErrorCode KSPCreate_BCGSL(KSP);
20: PETSC_EXTERN PetscErrorCode KSPCreate_CGS(KSP);
21: PETSC_EXTERN PetscErrorCode KSPCreate_TFQMR(KSP);
22: PETSC_EXTERN PetscErrorCode KSPCreate_LSQR(KSP);
23: PETSC_EXTERN PetscErrorCode KSPCreate_PREONLY(KSP);
24: PETSC_EXTERN PetscErrorCode KSPCreate_CR(KSP);
25: PETSC_EXTERN PetscErrorCode KSPCreate_PIPECR(KSP);
26: PETSC_EXTERN PetscErrorCode KSPCreate_QCG(KSP);
27: PETSC_EXTERN PetscErrorCode KSPCreate_BiCG(KSP);
28: PETSC_EXTERN PetscErrorCode KSPCreate_FGMRES(KSP);
29: PETSC_EXTERN PetscErrorCode KSPCreate_MINRES(KSP);
30: PETSC_EXTERN PetscErrorCode KSPCreate_SYMMLQ(KSP);
31: PETSC_EXTERN PetscErrorCode KSPCreate_LGMRES(KSP);
32: PETSC_EXTERN PetscErrorCode KSPCreate_LCD(KSP);
33: PETSC_EXTERN PetscErrorCode KSPCreate_GCR(KSP);
34: PETSC_EXTERN PetscErrorCode KSPCreate_PGMRES(KSP);
35: PETSC_EXTERN PetscErrorCode KSPCreate_SpecEst(KSP);
36: #if !defined(PETSC_USE_COMPLEX)
37: PETSC_EXTERN PetscErrorCode KSPCreate_DGMRES(KSP);
38: #endif
40: /*
41: This is used by KSPSetType() to make sure that at least one
42: KSPRegisterAll() is called. In general, if there is more than one
43: DLL, then KSPRegisterAll() may be called several times.
44: */
45: extern PetscBool KSPRegisterAllCalled;
49: /*@C
50: KSPRegisterAll - Registers all of the Krylov subspace methods in the KSP package.
52: Not Collective
54: Level: advanced
56: .keywords: KSP, register, all
58: .seealso: KSPRegisterDestroy()
59: @*/
60: PetscErrorCode KSPRegisterAll(void)
61: {
65: KSPRegisterAllCalled = PETSC_TRUE;
67: KSPRegister(KSPCG, KSPCreate_CG);
68: KSPRegister(KSPGROPPCG, KSPCreate_GROPPCG);
69: KSPRegister(KSPPIPECG, KSPCreate_PIPECG);
70: KSPRegister(KSPCGNE, KSPCreate_CGNE);
71: KSPRegister(KSPNASH, KSPCreate_NASH);
72: KSPRegister(KSPSTCG, KSPCreate_STCG);
73: KSPRegister(KSPGLTR, KSPCreate_GLTR);
74: KSPRegister(KSPRICHARDSON, KSPCreate_Richardson);
75: KSPRegister(KSPCHEBYSHEV, KSPCreate_Chebyshev);
76: KSPRegister(KSPGMRES, KSPCreate_GMRES);
77: KSPRegister(KSPTCQMR, KSPCreate_TCQMR);
78: KSPRegister(KSPBCGS, KSPCreate_BCGS);
79: KSPRegister(KSPIBCGS, KSPCreate_IBCGS);
80: KSPRegister(KSPFBCGS, KSPCreate_FBCGS);
81: KSPRegister(KSPFBCGSR, KSPCreate_FBCGSR);
82: KSPRegister(KSPBCGSL, KSPCreate_BCGSL);
83: KSPRegister(KSPCGS, KSPCreate_CGS);
84: KSPRegister(KSPTFQMR, KSPCreate_TFQMR);
85: KSPRegister(KSPCR, KSPCreate_CR);
86: KSPRegister(KSPPIPECR, KSPCreate_PIPECR);
87: KSPRegister(KSPLSQR, KSPCreate_LSQR);
88: KSPRegister(KSPPREONLY, KSPCreate_PREONLY);
89: KSPRegister(KSPQCG, KSPCreate_QCG);
90: KSPRegister(KSPBICG, KSPCreate_BiCG);
91: KSPRegister(KSPFGMRES, KSPCreate_FGMRES);
92: KSPRegister(KSPMINRES, KSPCreate_MINRES);
93: KSPRegister(KSPSYMMLQ, KSPCreate_SYMMLQ);
94: KSPRegister(KSPLGMRES, KSPCreate_LGMRES);
95: KSPRegister(KSPLCD, KSPCreate_LCD);
96: KSPRegister(KSPGCR, KSPCreate_GCR);
97: KSPRegister(KSPPGMRES, KSPCreate_PGMRES);
98: KSPRegister(KSPSPECEST, KSPCreate_SpecEst);
99: #if !defined(PETSC_USE_COMPLEX)
100: KSPRegister(KSPDGMRES, KSPCreate_DGMRES);
101: #endif
102: return(0);
103: }