Actual source code: pcregis.c

  2: #include <private/pcimpl.h>          /*I   "petscpc.h"   I*/


 33: #if defined(PETSC_HAVE_BOOST) && defined(PETSC_CLANGUAGE_CXX)
 35: #endif
 36: #if defined(PETSC_HAVE_ML)
 38: #endif
 39: #if defined(PETSC_HAVE_TRIANGLE) && defined(PETSC_USE_REAL_DOUBLE) && defined(PETSC_USE_SCALAR_REAL)
 41: #endif
 42: #if defined(PETSC_HAVE_SPAI)
 44: #endif
 46: #if defined(PETSC_HAVE_HYPRE)
 50: #endif
 51: #if !defined(PETSC_USE_COMPLEX)
 53: #endif
 54: #if defined(PETSC_HAVE_PROMETHEUS)
 56: #endif
 57: #if defined(PETSC_HAVE_CUSP_SMOOTHED_AGGREGATION) && defined(PETSC_HAVE_CUSP)
 62: #endif
 63: #if defined(PETSC_HAVE_PARMS)
 65: #endif


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

 74:    Not Collective

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

 79:    Level: advanced

 81: .keywords: PC, register, all

 83: .seealso: PCRegisterDynamic(), PCRegisterDestroy()
 84: @*/
 85: PetscErrorCode  PCRegisterAll(const char path[])
 86: {

 90:   PCRegisterAllCalled = PETSC_TRUE;

 92:   PCRegisterDynamic(PCNONE         ,path,"PCCreate_None",PCCreate_None);
 93:   PCRegisterDynamic(PCJACOBI       ,path,"PCCreate_Jacobi",PCCreate_Jacobi);
 94:   PCRegisterDynamic(PCPBJACOBI     ,path,"PCCreate_PBJacobi",PCCreate_PBJacobi);
 95:   PCRegisterDynamic(PCBJACOBI      ,path,"PCCreate_BJacobi",PCCreate_BJacobi);
 96:   PCRegisterDynamic(PCSOR          ,path,"PCCreate_SOR",PCCreate_SOR);
 97:   PCRegisterDynamic(PCLU           ,path,"PCCreate_LU",PCCreate_LU);
 98:   PCRegisterDynamic(PCSHELL        ,path,"PCCreate_Shell",PCCreate_Shell);
 99:   PCRegisterDynamic(PCMG           ,path,"PCCreate_MG",PCCreate_MG);
100:   PCRegisterDynamic(PCEISENSTAT    ,path,"PCCreate_Eisenstat",PCCreate_Eisenstat);
101:   PCRegisterDynamic(PCILU          ,path,"PCCreate_ILU",PCCreate_ILU);
102:   PCRegisterDynamic(PCICC          ,path,"PCCreate_ICC",PCCreate_ICC);
103:   PCRegisterDynamic(PCCHOLESKY     ,path,"PCCreate_Cholesky",PCCreate_Cholesky);
104:   PCRegisterDynamic(PCASM          ,path,"PCCreate_ASM",PCCreate_ASM);
105:   PCRegisterDynamic(PCGASM         ,path,"PCCreate_GASM",PCCreate_GASM);
106:   PCRegisterDynamic(PCKSP          ,path,"PCCreate_KSP",PCCreate_KSP);
107:   PCRegisterDynamic(PCCOMPOSITE    ,path,"PCCreate_Composite",PCCreate_Composite);
108:   PCRegisterDynamic(PCREDUNDANT    ,path,"PCCreate_Redundant",PCCreate_Redundant);
109:   PCRegisterDynamic(PCNN           ,path,"PCCreate_NN",PCCreate_NN);
110:   PCRegisterDynamic(PCMAT          ,path,"PCCreate_Mat",PCCreate_Mat);
111:   PCRegisterDynamic(PCFIELDSPLIT   ,path,"PCCreate_FieldSplit",PCCreate_FieldSplit);
112:   PCRegisterDynamic(PCGALERKIN     ,path,"PCCreate_Galerkin",PCCreate_Galerkin);
113:   PCRegisterDynamic(PCEXOTIC       ,path,"PCCreate_Exotic",PCCreate_Exotic);
114:   PCRegisterDynamic(PCHMPI         ,path,"PCCreate_HMPI",PCCreate_HMPI);
115:   PCRegisterDynamic(PCASA          ,path,"PCCreate_ASA",PCCreate_ASA);
116:   PCRegisterDynamic(PCCP           ,path,"PCCreate_CP",PCCreate_CP);
117:   PCRegisterDynamic(PCLSC          ,path,"PCCreate_LSC",PCCreate_LSC);
118:   PCRegisterDynamic(PCREDISTRIBUTE ,path,"PCCreate_Redistribute",PCCreate_Redistribute);
119:   PCRegisterDynamic(PCSVD          ,path,"PCCreate_SVD",PCCreate_SVD);
120: #if defined(PETSC_HAVE_BOOST) && defined(PETSC_CLANGUAGE_CXX)
121:   PCRegisterDynamic(PCSUPPORTGRAPH ,path,"PCCreate_SupportGraph",PCCreate_SupportGraph);
122: #endif
123: #if defined(PETSC_HAVE_ML)
124:   PCRegisterDynamic(PCML           ,path,"PCCreate_ML",PCCreate_ML);
125: #endif
126: #if defined(PETSC_HAVE_TRIANGLE) && defined(PETSC_USE_REAL_DOUBLE) && defined(PETSC_USE_SCALAR_REAL)
127:   PCRegisterDynamic(PCGAMG         ,path,"PCCreate_GAMG",PCCreate_GAMG);
128: #endif
129: #if defined(PETSC_HAVE_SPAI)
130:   PCRegisterDynamic(PCSPAI         ,path,"PCCreate_SPAI",PCCreate_SPAI);
131: #endif
132: #if defined(PETSC_HAVE_HYPRE)
133:   PCRegisterDynamic(PCHYPRE        ,path,"PCCreate_HYPRE",PCCreate_HYPRE);
134:   PCRegisterDynamic(PCPFMG         ,path,"PCCreate_PFMG",PCCreate_PFMG);
135:   PCRegisterDynamic(PCSYSPFMG      ,path,"PCCreate_SysPFMG",PCCreate_SysPFMG);
136: #endif
137: #if !defined(PETSC_USE_COMPLEX)
138:   PCRegisterDynamic(PCTFS          ,path,"PCCreate_TFS",PCCreate_TFS);
139: #endif
140: #if defined(PETSC_HAVE_PROMETHEUS)
141:   PCRegisterDynamic(PCPROMETHEUS   ,path,"PCCreate_Prometheus",PCCreate_Prometheus);
142: #endif
143: #if defined(PETSC_HAVE_CUSP_SMOOTHED_AGGREGATION) && defined(PETSC_HAVE_CUSP)
144:   PCRegisterDynamic(PCSACUSP       ,path,"PCCreate_SACUSP",PCCreate_SACUSP);
145:   PCRegisterDynamic(PCAINVCUSP     ,path,"PCCreate_AINVCUSP",PCCreate_AINVCUSP);
146:   PCRegisterDynamic(PCBICGSTABCUSP ,path,"PCCreate_BiCGStabCUSP",PCCreate_BiCGStabCUSP);
147:   PCRegisterDynamic(PCSACUSPPOLY    ,path,"PCCreate_SACUSPPoly",PCCreate_SACUSPPoly);
148: #endif
149: #if defined(PETSC_HAVE_PARMS)
150:   PCRegisterDynamic(PCPARMS   ,path,"PCCreate_PARMS",PCCreate_PARMS);
151: #endif
152:   return(0);
153: }