Actual source code: itregis.c
1: #define PETSCKSP_DLL
3: #include include/private/kspimpl.h
6: EXTERN PetscErrorCode KSPCreate_Richardson(KSP);
7: EXTERN PetscErrorCode KSPCreate_Chebychev(KSP);
8: EXTERN PetscErrorCode KSPCreate_CG(KSP);
9: EXTERN PetscErrorCode KSPCreate_CGNE(KSP);
10: EXTERN PetscErrorCode KSPCreate_NASH(KSP);
11: EXTERN PetscErrorCode KSPCreate_STCG(KSP);
12: EXTERN PetscErrorCode KSPCreate_GLTR(KSP);
13: EXTERN PetscErrorCode KSPCreate_TCQMR(KSP);
14: EXTERN PetscErrorCode KSPCreate_GMRES(KSP);
15: EXTERN PetscErrorCode KSPCreate_BCGS(KSP);
16: EXTERN PetscErrorCode KSPCreate_BCGSL(KSP);
17: EXTERN PetscErrorCode KSPCreate_CGS(KSP);
18: EXTERN PetscErrorCode KSPCreate_TFQMR(KSP);
19: EXTERN PetscErrorCode KSPCreate_LSQR(KSP);
20: EXTERN PetscErrorCode KSPCreate_PREONLY(KSP);
21: EXTERN PetscErrorCode KSPCreate_CR(KSP);
22: EXTERN PetscErrorCode KSPCreate_QCG(KSP);
23: EXTERN PetscErrorCode KSPCreate_BiCG(KSP);
24: EXTERN PetscErrorCode KSPCreate_FGMRES(KSP);
25: EXTERN PetscErrorCode KSPCreate_MINRES(KSP);
26: EXTERN PetscErrorCode KSPCreate_SYMMLQ(KSP);
27: EXTERN PetscErrorCode KSPCreate_LGMRES(KSP);
28: EXTERN PetscErrorCode KSPCreate_LCD(KSP);
30:
31: /*
32: This is used by KSPSetType() to make sure that at least one
33: KSPRegisterAll() is called. In general, if there is more than one
34: DLL, then KSPRegisterAll() may be called several times.
35: */
36: EXTERN PetscTruth KSPRegisterAllCalled;
40: /*@C
41: KSPRegisterAll - Registers all of the Krylov subspace methods in the KSP package.
43: Not Collective
45: Level: advanced
47: .keywords: KSP, register, all
49: .seealso: KSPRegisterDestroy()
50: @*/
51: PetscErrorCode KSPRegisterAll(const char path[])
52: {
56: KSPRegisterAllCalled = PETSC_TRUE;
58: KSPRegisterDynamic(KSPCG, path,"KSPCreate_CG", KSPCreate_CG);
59: KSPRegisterDynamic(KSPCGNE, path,"KSPCreate_CGNE", KSPCreate_CGNE);
60: KSPRegisterDynamic(KSPNASH, path,"KSPCreate_NASH", KSPCreate_NASH);
61: KSPRegisterDynamic(KSPSTCG, path,"KSPCreate_STCG", KSPCreate_STCG);
62: KSPRegisterDynamic(KSPGLTR, path,"KSPCreate_GLTR", KSPCreate_GLTR);
63: KSPRegisterDynamic(KSPRICHARDSON, path,"KSPCreate_Richardson",KSPCreate_Richardson);
64: KSPRegisterDynamic(KSPCHEBYCHEV, path,"KSPCreate_Chebychev", KSPCreate_Chebychev);
65: KSPRegisterDynamic(KSPGMRES, path,"KSPCreate_GMRES", KSPCreate_GMRES);
66: KSPRegisterDynamic(KSPTCQMR, path,"KSPCreate_TCQMR", KSPCreate_TCQMR);
67: KSPRegisterDynamic(KSPBCGS, path,"KSPCreate_BCGS", KSPCreate_BCGS);
68: KSPRegisterDynamic(KSPBCGSL, path,"KSPCreate_BCGSL", KSPCreate_BCGSL);
69: KSPRegisterDynamic(KSPCGS, path,"KSPCreate_CGS", KSPCreate_CGS);
70: KSPRegisterDynamic(KSPTFQMR, path,"KSPCreate_TFQMR", KSPCreate_TFQMR);
71: KSPRegisterDynamic(KSPCR, path,"KSPCreate_CR", KSPCreate_CR);
72: KSPRegisterDynamic(KSPLSQR, path,"KSPCreate_LSQR", KSPCreate_LSQR);
73: KSPRegisterDynamic(KSPPREONLY, path,"KSPCreate_PREONLY", KSPCreate_PREONLY);
74: KSPRegisterDynamic(KSPQCG, path,"KSPCreate_QCG", KSPCreate_QCG);
75: KSPRegisterDynamic(KSPBICG, path,"KSPCreate_BiCG", KSPCreate_BiCG);
76: KSPRegisterDynamic(KSPFGMRES, path,"KSPCreate_FGMRES", KSPCreate_FGMRES);
77: KSPRegisterDynamic(KSPMINRES, path,"KSPCreate_MINRES", KSPCreate_MINRES);
78: KSPRegisterDynamic(KSPSYMMLQ, path,"KSPCreate_SYMMLQ", KSPCreate_SYMMLQ);
79: KSPRegisterDynamic(KSPLGMRES, path,"KSPCreate_LGMRES", KSPCreate_LGMRES);
80: KSPRegisterDynamic(KSPLCD, path,"KSPCreate_LCD", KSPCreate_LCD);
81: return(0);
82: }