Actual source code: pcregis.c

  1: /*$Id: pcregis.c,v 1.64 2001/03/23 23:23:02 balay Exp $*/

 3:  #include src/sles/pc/pcimpl.h

  5: EXTERN_C_BEGIN
  6: EXTERN int PCCreate_Jacobi(PC);
  7: EXTERN int PCCreate_BJacobi(PC);
  8: EXTERN int PCCreate_ILU(PC);
  9: EXTERN int PCCreate_None(PC);
 10: EXTERN int PCCreate_LU(PC);
 11: EXTERN int PCCreate_SOR(PC);
 12: EXTERN int PCCreate_Shell(PC);
 13: EXTERN int PCCreate_MG(PC);
 14: EXTERN int PCCreate_Eisenstat(PC);
 15: EXTERN int PCCreate_ICC(PC);
 16: EXTERN int PCCreate_ASM(PC);
 17: EXTERN int PCCreate_SLES(PC);
 18: EXTERN int PCCreate_Composite(PC);
 19: EXTERN int PCCreate_Redundant(PC);
 20: EXTERN int PCCreate_NN(PC);
 21: EXTERN int PCCreate_Cholesky(PC);
 22: #if defined(PETSC_HAVE_SPAI)
 23: EXTERN int PCCreate_SPAI(PC);
 24: #endif
 25: #if defined(PETSC_HAVE_RAMG)
 26: EXTERN int PCCreate_RAMG(PC);
 27: #endif
 28: EXTERN int PCCreate_mILU(PC);
 29: EXTERN_C_END

 31: /*@C
 32:    PCRegisterAll - Registers all of the preconditioners in the PC package.

 34:    Not Collective

 36:    Input Parameter:
 37: .  path - the library where the routines are to be found (optional)

 39:    Level: advanced

 41: .keywords: PC, register, all

 43: .seealso: PCRegisterDynamic(), PCRegisterDestroy()
 44: @*/
 45: int PCRegisterAll(char *path)
 46: {

 50:   PCRegisterAllCalled = PETSC_TRUE;

 52:   PCRegisterDynamic(PCNONE         ,path,"PCCreate_None",PCCreate_None);
 53:   PCRegisterDynamic(PCJACOBI       ,path,"PCCreate_Jacobi",PCCreate_Jacobi);
 54:   PCRegisterDynamic(PCBJACOBI      ,path,"PCCreate_BJacobi",PCCreate_BJacobi);
 55:   PCRegisterDynamic(PCSOR          ,path,"PCCreate_SOR",PCCreate_SOR);
 56:   PCRegisterDynamic(PCLU           ,path,"PCCreate_LU",PCCreate_LU);
 57:   PCRegisterDynamic(PCSHELL        ,path,"PCCreate_Shell",PCCreate_Shell);
 58:   PCRegisterDynamic(PCMG           ,path,"PCCreate_MG",PCCreate_MG);
 59:   PCRegisterDynamic(PCEISENSTAT    ,path,"PCCreate_Eisenstat",PCCreate_Eisenstat);
 60:   PCRegisterDynamic(PCILU          ,path,"PCCreate_ILU",PCCreate_ILU);
 61:   PCRegisterDynamic(PCICC          ,path,"PCCreate_ICC",PCCreate_ICC);
 62:   PCRegisterDynamic(PCCHOLESKY     ,path,"PCCreate_Cholesky",PCCreate_Cholesky);
 63:   PCRegisterDynamic(PCASM          ,path,"PCCreate_ASM",PCCreate_ASM);
 64:   PCRegisterDynamic(PCSLES         ,path,"PCCreate_SLES",PCCreate_SLES);
 65:   PCRegisterDynamic(PCCOMPOSITE    ,path,"PCCreate_Composite",PCCreate_Composite);
 66:   PCRegisterDynamic(PCREDUNDANT    ,path,"PCCreate_Redundant",PCCreate_Redundant);
 67:   PCRegisterDynamic(PCNN           ,path,"PCCreate_NN",PCCreate_NN);
 68: #if defined(PETSC_HAVE_SPAI) && !defined(__cplusplus)
 69:   PCRegisterDynamic(PCSPAI         ,path,"PCCreate_SPAI",PCCreate_SPAI);
 70: #endif
 71: #if defined(PETSC_HAVE_RAMG) && !defined(__cplusplus)
 72:   PCRegisterDynamic(PCRAMG         ,path,"PCCreate_RAMG",PCCreate_RAMG);
 73: #endif
 74:   PCRegisterDynamic(PCMILU         ,path,"PCCreate_mILU",PCCreate_mILU);
 75:   return(0);
 76: }