Actual source code: itregis.c

petsc-3.7.1 2016-05-15
Report Typos and Errors
  2: #include <petsc/private/kspimpl.h>  /*I "petscksp.h" I*/

  4: PETSC_EXTERN PetscErrorCode KSPCreate_Richardson(KSP);
  5: PETSC_EXTERN PetscErrorCode KSPCreate_Chebyshev(KSP);
  6: PETSC_EXTERN PetscErrorCode KSPCreate_CG(KSP);
  7: PETSC_EXTERN PetscErrorCode KSPCreate_GROPPCG(KSP);
  8: PETSC_EXTERN PetscErrorCode KSPCreate_PIPECG(KSP);
  9: PETSC_EXTERN PetscErrorCode KSPCreate_PIPECGRR(KSP);
 10: PETSC_EXTERN PetscErrorCode KSPCreate_CGNE(KSP);
 11: PETSC_EXTERN PetscErrorCode KSPCreate_NASH(KSP);
 12: PETSC_EXTERN PetscErrorCode KSPCreate_STCG(KSP);
 13: PETSC_EXTERN PetscErrorCode KSPCreate_GLTR(KSP);
 14: PETSC_EXTERN PetscErrorCode KSPCreate_TCQMR(KSP);
 15: PETSC_EXTERN PetscErrorCode KSPCreate_FCG(KSP);
 16: PETSC_EXTERN PetscErrorCode KSPCreate_PIPEFCG(KSP);
 17: PETSC_EXTERN PetscErrorCode KSPCreate_GMRES(KSP);
 18: PETSC_EXTERN PetscErrorCode KSPCreate_BCGS(KSP);
 19: PETSC_EXTERN PetscErrorCode KSPCreate_IBCGS(KSP);
 20: PETSC_EXTERN PetscErrorCode KSPCreate_FBCGS(KSP);
 21: PETSC_EXTERN PetscErrorCode KSPCreate_FBCGSR(KSP);
 22: PETSC_EXTERN PetscErrorCode KSPCreate_BCGSL(KSP);
 23: PETSC_EXTERN PetscErrorCode KSPCreate_CGS(KSP);
 24: PETSC_EXTERN PetscErrorCode KSPCreate_TFQMR(KSP);
 25: PETSC_EXTERN PetscErrorCode KSPCreate_LSQR(KSP);
 26: PETSC_EXTERN PetscErrorCode KSPCreate_PREONLY(KSP);
 27: PETSC_EXTERN PetscErrorCode KSPCreate_CR(KSP);
 28: PETSC_EXTERN PetscErrorCode KSPCreate_PIPECR(KSP);
 29: PETSC_EXTERN PetscErrorCode KSPCreate_QCG(KSP);
 30: PETSC_EXTERN PetscErrorCode KSPCreate_BiCG(KSP);
 31: PETSC_EXTERN PetscErrorCode KSPCreate_FGMRES(KSP);
 32: PETSC_EXTERN PetscErrorCode KSPCreate_PIPEFGMRES(KSP);
 33: PETSC_EXTERN PetscErrorCode KSPCreate_MINRES(KSP);
 34: PETSC_EXTERN PetscErrorCode KSPCreate_SYMMLQ(KSP);
 35: PETSC_EXTERN PetscErrorCode KSPCreate_LGMRES(KSP);
 36: PETSC_EXTERN PetscErrorCode KSPCreate_LCD(KSP);
 37: PETSC_EXTERN PetscErrorCode KSPCreate_GCR(KSP);
 38: PETSC_EXTERN PetscErrorCode KSPCreate_PIPEGCR(KSP);
 39: PETSC_EXTERN PetscErrorCode KSPCreate_PGMRES(KSP);
 40: #if !defined(PETSC_USE_COMPLEX)
 41: PETSC_EXTERN PetscErrorCode KSPCreate_DGMRES(KSP);
 42: #endif
 43: PETSC_EXTERN PetscErrorCode KSPCreate_TSIRM(KSP);
 44: PETSC_EXTERN PetscErrorCode KSPCreate_CGLS(KSP);

 46: /*
 47:     This is used by KSPSetType() to make sure that at least one
 48:     KSPRegisterAll() is called. In general, if there is more than one
 49:     DLL, then KSPRegisterAll() may be called several times.
 50: */
 51: extern PetscBool KSPRegisterAllCalled;

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

 58:   Not Collective

 60:   Level: advanced

 62: .keywords: KSP, register, all

 64: .seealso:  KSPRegisterDestroy()
 65: @*/
 66: PetscErrorCode  KSPRegisterAll(void)
 67: {

 71:   if (KSPRegisterAllCalled) return(0);
 72:   KSPRegisterAllCalled = PETSC_TRUE;

 74:   KSPRegister(KSPCG,          KSPCreate_CG);
 75:   KSPRegister(KSPGROPPCG,     KSPCreate_GROPPCG);
 76:   KSPRegister(KSPPIPECG,      KSPCreate_PIPECG);
 77:   KSPRegister(KSPPIPECGRR,    KSPCreate_PIPECGRR);
 78:   KSPRegister(KSPCGNE,        KSPCreate_CGNE);
 79:   KSPRegister(KSPNASH,        KSPCreate_NASH);
 80:   KSPRegister(KSPSTCG,        KSPCreate_STCG);
 81:   KSPRegister(KSPGLTR,        KSPCreate_GLTR);
 82:   KSPRegister(KSPRICHARDSON,  KSPCreate_Richardson);
 83:   KSPRegister(KSPCHEBYSHEV,   KSPCreate_Chebyshev);
 84:   KSPRegister(KSPGMRES,       KSPCreate_GMRES);
 85:   KSPRegister(KSPTCQMR,       KSPCreate_TCQMR);
 86:   KSPRegister(KSPFCG  ,       KSPCreate_FCG);
 87:   KSPRegister(KSPPIPEFCG,     KSPCreate_PIPEFCG);
 88:   KSPRegister(KSPBCGS,        KSPCreate_BCGS);
 89:   KSPRegister(KSPIBCGS,       KSPCreate_IBCGS);
 90:   KSPRegister(KSPFBCGS,       KSPCreate_FBCGS);
 91:   KSPRegister(KSPFBCGSR,      KSPCreate_FBCGSR);
 92:   KSPRegister(KSPBCGSL,       KSPCreate_BCGSL);
 93:   KSPRegister(KSPCGS,         KSPCreate_CGS);
 94:   KSPRegister(KSPTFQMR,       KSPCreate_TFQMR);
 95:   KSPRegister(KSPCR,          KSPCreate_CR);
 96:   KSPRegister(KSPPIPECR,      KSPCreate_PIPECR);
 97:   KSPRegister(KSPLSQR,        KSPCreate_LSQR);
 98:   KSPRegister(KSPPREONLY,     KSPCreate_PREONLY);
 99:   KSPRegister(KSPQCG,         KSPCreate_QCG);
100:   KSPRegister(KSPBICG,        KSPCreate_BiCG);
101:   KSPRegister(KSPFGMRES,      KSPCreate_FGMRES);
102:   KSPRegister(KSPPIPEFGMRES,  KSPCreate_PIPEFGMRES);
103:   KSPRegister(KSPMINRES,      KSPCreate_MINRES);
104:   KSPRegister(KSPSYMMLQ,      KSPCreate_SYMMLQ);
105:   KSPRegister(KSPLGMRES,      KSPCreate_LGMRES);
106:   KSPRegister(KSPLCD,         KSPCreate_LCD);
107:   KSPRegister(KSPGCR,         KSPCreate_GCR);
108:   KSPRegister(KSPPIPEGCR,     KSPCreate_PIPEGCR);
109:   KSPRegister(KSPPGMRES,      KSPCreate_PGMRES);
110: #if !defined(PETSC_USE_COMPLEX)
111:   KSPRegister(KSPDGMRES,      KSPCreate_DGMRES);
112: #endif
113:   KSPRegister(KSPTSIRM,       KSPCreate_TSIRM);
114:   KSPRegister(KSPCGLS,        KSPCreate_CGLS);
115:   return(0);
116: }