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