Actual source code: itregis.c

 2:  #include src/ksp/ksp/kspimpl.h

  5: EXTERN PetscErrorCode KSPCreate_Richardson(KSP);
  6: EXTERN PetscErrorCode KSPCreate_Chebychev(KSP);
  7: EXTERN PetscErrorCode KSPCreate_CG(KSP);
  8: EXTERN PetscErrorCode KSPCreate_CGNE(KSP);
  9: EXTERN PetscErrorCode KSPCreate_TCQMR(KSP);
 10: EXTERN PetscErrorCode KSPCreate_GMRES(KSP);
 11: EXTERN PetscErrorCode KSPCreate_BCGS(KSP);
 12: EXTERN PetscErrorCode KSPCreate_BCGSL(KSP);
 13: EXTERN PetscErrorCode KSPCreate_CGS(KSP);
 14: EXTERN PetscErrorCode KSPCreate_TFQMR(KSP);
 15: EXTERN PetscErrorCode KSPCreate_LSQR(KSP);
 16: EXTERN PetscErrorCode KSPCreate_PREONLY(KSP);
 17: EXTERN PetscErrorCode KSPCreate_CR(KSP);
 18: EXTERN PetscErrorCode KSPCreate_QCG(KSP);
 19: EXTERN PetscErrorCode KSPCreate_BiCG(KSP);
 20: EXTERN PetscErrorCode KSPCreate_FGMRES(KSP);
 21: EXTERN PetscErrorCode KSPCreate_MINRES(KSP);
 22: EXTERN PetscErrorCode KSPCreate_SYMMLQ(KSP);
 23: EXTERN PetscErrorCode KSPCreate_LGMRES(KSP);
 25: 
 26: /*
 27:     This is used by KSPSetType() to make sure that at least one 
 28:     KSPRegisterAll() is called. In general, if there is more than one
 29:     DLL, then KSPRegisterAll() may be called several times.
 30: */
 31: EXTERN PetscTruth KSPRegisterAllCalled;

 35: /*@C
 36:   KSPRegisterAll - Registers all of the Krylov subspace methods in the KSP package.

 38:   Not Collective

 40:   Level: advanced

 42: .keywords: KSP, register, all

 44: .seealso:  KSPRegisterDestroy()
 45: @*/
 46: PetscErrorCode KSPRegisterAll(const char path[])
 47: {

 51:   KSPRegisterAllCalled = PETSC_TRUE;

 53:   KSPRegisterDynamic(KSPCG,         path,"KSPCreate_CG",        KSPCreate_CG);
 54:   KSPRegisterDynamic(KSPCGNE,       path,"KSPCreate_CGNE",      KSPCreate_CGNE);
 55:   KSPRegisterDynamic(KSPRICHARDSON, path,"KSPCreate_Richardson",KSPCreate_Richardson);
 56:   KSPRegisterDynamic(KSPCHEBYCHEV,  path,"KSPCreate_Chebychev", KSPCreate_Chebychev);
 57:   KSPRegisterDynamic(KSPGMRES,      path,"KSPCreate_GMRES",     KSPCreate_GMRES);
 58:   KSPRegisterDynamic(KSPTCQMR,      path,"KSPCreate_TCQMR",     KSPCreate_TCQMR);
 59:   KSPRegisterDynamic(KSPBCGS,       path,"KSPCreate_BCGS",      KSPCreate_BCGS);
 60:   KSPRegisterDynamic(KSPBCGSL,      path,"KSPCreate_BCGSL",     KSPCreate_BCGSL);
 61:   KSPRegisterDynamic(KSPCGS,        path,"KSPCreate_CGS",       KSPCreate_CGS);
 62:   KSPRegisterDynamic(KSPTFQMR,      path,"KSPCreate_TFQMR",     KSPCreate_TFQMR);
 63:   KSPRegisterDynamic(KSPCR,         path,"KSPCreate_CR",        KSPCreate_CR);
 64:   KSPRegisterDynamic(KSPLSQR,       path,"KSPCreate_LSQR",      KSPCreate_LSQR);
 65:   KSPRegisterDynamic(KSPPREONLY,    path,"KSPCreate_PREONLY",   KSPCreate_PREONLY);
 66:   KSPRegisterDynamic(KSPQCG,        path,"KSPCreate_QCG",       KSPCreate_QCG);
 67:   KSPRegisterDynamic(KSPBICG,       path,"KSPCreate_BiCG",      KSPCreate_BiCG);
 68:   KSPRegisterDynamic(KSPFGMRES,     path,"KSPCreate_FGMRES",    KSPCreate_FGMRES);
 69:   KSPRegisterDynamic(KSPMINRES,     path,"KSPCreate_MINRES",    KSPCreate_MINRES);
 70:   KSPRegisterDynamic(KSPSYMMLQ,     path,"KSPCreate_SYMMLQ",    KSPCreate_SYMMLQ);
 71:   KSPRegisterDynamic(KSPLGMRES,     path,"KSPCreate_LGMRES",    KSPCreate_LGMRES);
 72:   return(0);
 73: }