Actual source code: itregis.c
2: #include <private/kspimpl.h> /*I "petscksp.h" I*/
33: #if !defined(PETSC_USE_COMPLEX)
35: #endif
37:
38: /*
39: This is used by KSPSetType() to make sure that at least one
40: KSPRegisterAll() is called. In general, if there is more than one
41: DLL, then KSPRegisterAll() may be called several times.
42: */
47: /*@C
48: KSPRegisterAll - Registers all of the Krylov subspace methods in the KSP package.
50: Not Collective
52: Level: advanced
54: .keywords: KSP, register, all
56: .seealso: KSPRegisterDestroy()
57: @*/
58: PetscErrorCode KSPRegisterAll(const char path[])
59: {
63: KSPRegisterAllCalled = PETSC_TRUE;
65: KSPRegisterDynamic(KSPCG, path,"KSPCreate_CG", KSPCreate_CG);
66: KSPRegisterDynamic(KSPCGNE, path,"KSPCreate_CGNE", KSPCreate_CGNE);
67: KSPRegisterDynamic(KSPNASH, path,"KSPCreate_NASH", KSPCreate_NASH);
68: KSPRegisterDynamic(KSPSTCG, path,"KSPCreate_STCG", KSPCreate_STCG);
69: KSPRegisterDynamic(KSPGLTR, path,"KSPCreate_GLTR", KSPCreate_GLTR);
70: KSPRegisterDynamic(KSPRICHARDSON, path,"KSPCreate_Richardson",KSPCreate_Richardson);
71: KSPRegisterDynamic(KSPCHEBYCHEV, path,"KSPCreate_Chebychev", KSPCreate_Chebychev);
72: KSPRegisterDynamic(KSPGMRES, path,"KSPCreate_GMRES", KSPCreate_GMRES);
73: KSPRegisterDynamic(KSPTCQMR, path,"KSPCreate_TCQMR", KSPCreate_TCQMR);
74: KSPRegisterDynamic(KSPBCGS, path,"KSPCreate_BCGS", KSPCreate_BCGS);
75: KSPRegisterDynamic(KSPIBCGS, path,"KSPCreate_IBCGS", KSPCreate_IBCGS);
76: KSPRegisterDynamic(KSPBCGSL, path,"KSPCreate_BCGSL", KSPCreate_BCGSL);
77: KSPRegisterDynamic(KSPCGS, path,"KSPCreate_CGS", KSPCreate_CGS);
78: KSPRegisterDynamic(KSPTFQMR, path,"KSPCreate_TFQMR", KSPCreate_TFQMR);
79: KSPRegisterDynamic(KSPCR, path,"KSPCreate_CR", KSPCreate_CR);
80: KSPRegisterDynamic(KSPLSQR, path,"KSPCreate_LSQR", KSPCreate_LSQR);
81: KSPRegisterDynamic(KSPPREONLY, path,"KSPCreate_PREONLY", KSPCreate_PREONLY);
82: KSPRegisterDynamic(KSPQCG, path,"KSPCreate_QCG", KSPCreate_QCG);
83: KSPRegisterDynamic(KSPBICG, path,"KSPCreate_BiCG", KSPCreate_BiCG);
84: KSPRegisterDynamic(KSPFGMRES, path,"KSPCreate_FGMRES", KSPCreate_FGMRES);
85: KSPRegisterDynamic(KSPMINRES, path,"KSPCreate_MINRES", KSPCreate_MINRES);
86: KSPRegisterDynamic(KSPSYMMLQ, path,"KSPCreate_SYMMLQ", KSPCreate_SYMMLQ);
87: KSPRegisterDynamic(KSPLGMRES, path,"KSPCreate_LGMRES", KSPCreate_LGMRES);
88: KSPRegisterDynamic(KSPLCD, path,"KSPCreate_LCD", KSPCreate_LCD);
89: KSPRegisterDynamic(KSPBROYDEN, path,"KSPCreate_Broyden", KSPCreate_Broyden);
90: KSPRegisterDynamic(KSPGCR, path,"KSPCreate_GCR", KSPCreate_GCR);
91: KSPRegisterDynamic(KSPNGMRES, path,"KSPCreate_NGMRES", KSPCreate_NGMRES);
92: KSPRegisterDynamic(KSPSPECEST, path,"KSPCreate_SpecEst", KSPCreate_SpecEst);
93: #if !defined(PETSC_USE_COMPLEX)
94: KSPRegisterDynamic(KSPDGMRES, path,"KSPCreate_DGMRES", KSPCreate_DGMRES);
95: #endif
96: return(0);
97: }