Actual source code: itregis.c
1: /*$Id: itregis.c,v 1.55 2001/03/23 23:23:29 balay Exp $*/
3: #include src/sles/ksp/kspimpl.h
5: EXTERN_C_BEGIN
6: EXTERN int KSPCreate_Richardson(KSP);
7: EXTERN int KSPCreate_Chebychev(KSP);
8: EXTERN int KSPCreate_CG(KSP);
9: EXTERN int KSPCreate_TCQMR(KSP);
10: EXTERN int KSPCreate_GMRES(KSP);
11: EXTERN int KSPCreate_BCGS(KSP);
12: EXTERN int KSPCreate_CGS(KSP);
13: EXTERN int KSPCreate_TFQMR(KSP);
14: EXTERN int KSPCreate_LSQR(KSP);
15: EXTERN int KSPCreate_PREONLY(KSP);
16: EXTERN int KSPCreate_CR(KSP);
17: EXTERN int KSPCreate_QCG(KSP);
18: EXTERN int KSPCreate_BiCG(KSP);
19: EXTERN int KSPCreate_FGMRES(KSP);
20: EXTERN int KSPCreate_MINRES(KSP);
21: EXTERN int KSPCreate_SYMMLQ(KSP);
22: EXTERN_C_END
23:
24: /*
25: This is used by KSPSetType() to make sure that at least one
26: KSPRegisterAll() is called. In general, if there is more than one
27: DLL, then KSPRegisterAll() may be called several times.
28: */
29: EXTERN PetscTruth KSPRegisterAllCalled;
31: #undef __FUNCT__
33: /*@C
34: KSPRegisterAll - Registers all of the Krylov subspace methods in the KSP package.
36: Not Collective
38: Level: advanced
40: .keywords: KSP, register, all
42: .seealso: KSPRegisterDestroy()
43: @*/
44: int KSPRegisterAll(char *path)
45: {
49: KSPRegisterAllCalled = PETSC_TRUE;
51: KSPRegisterDynamic(KSPCG, path,"KSPCreate_CG", KSPCreate_CG);
52: KSPRegisterDynamic(KSPRICHARDSON, path,"KSPCreate_Richardson",KSPCreate_Richardson);
53: KSPRegisterDynamic(KSPCHEBYCHEV, path,"KSPCreate_Chebychev", KSPCreate_Chebychev);
54: KSPRegisterDynamic(KSPGMRES, path,"KSPCreate_GMRES", KSPCreate_GMRES);
55: KSPRegisterDynamic(KSPTCQMR, path,"KSPCreate_TCQMR", KSPCreate_TCQMR);
56: KSPRegisterDynamic(KSPBCGS, path,"KSPCreate_BCGS", KSPCreate_BCGS);
57: KSPRegisterDynamic(KSPCGS, path,"KSPCreate_CGS", KSPCreate_CGS);
58: KSPRegisterDynamic(KSPTFQMR, path,"KSPCreate_TFQMR", KSPCreate_TFQMR);
59: KSPRegisterDynamic(KSPCR, path,"KSPCreate_CR", KSPCreate_CR);
60: KSPRegisterDynamic(KSPLSQR, path,"KSPCreate_LSQR", KSPCreate_LSQR);
61: KSPRegisterDynamic(KSPPREONLY, path,"KSPCreate_PREONLY", KSPCreate_PREONLY);
62: KSPRegisterDynamic(KSPQCG, path,"KSPCreate_QCG", KSPCreate_QCG);
63: KSPRegisterDynamic(KSPBICG, path,"KSPCreate_BiCG", KSPCreate_BiCG);
64: KSPRegisterDynamic(KSPFGMRES, path,"KSPCreate_FGMRES", KSPCreate_FGMRES);
65: KSPRegisterDynamic(KSPMINRES, path,"KSPCreate_MINRES", KSPCreate_MINRES);
66: KSPRegisterDynamic(KSPSYMMLQ, path,"KSPCreate_SYMMLQ", KSPCreate_SYMMLQ);
67: return(0);
68: }