Actual source code: kspmatregi.c

      1: #include <petsc/private/kspimpl.h>
      2: #include <../src/ksp/ksp/utils/schurm/schurm.h>
      3: #include <../src/ksp/ksp/utils/lmvm/lmvm.h>

      5: static PetscBool KSPMatRegisterAllCalled = PETSC_FALSE;

      7: /*@C
      8:   KSPMatRegisterAll - Registers all matrix implementations in the KSP package.

     10:   Not Collective

     12:   Level: advanced

     14: .seealso: MatRegisterAll(),  KSPInitializePackage()
     15: @*/
     16: PetscErrorCode KSPMatRegisterAll(void)
     17: {

     21:   if (KSPMatRegisterAllCalled) return(0);
     22:   KSPMatRegisterAllCalled = PETSC_TRUE;
     23:   MatRegister(MATSCHURCOMPLEMENT,       MatCreate_SchurComplement);
     24:   MatRegister(MATLMVMDFP,               MatCreate_LMVMDFP);
     25:   MatRegister(MATLMVMBFGS,              MatCreate_LMVMBFGS);
     26:   MatRegister(MATLMVMSR1,               MatCreate_LMVMSR1);
     27:   MatRegister(MATLMVMBROYDEN,           MatCreate_LMVMBrdn);
     28:   MatRegister(MATLMVMBADBROYDEN,        MatCreate_LMVMBadBrdn);
     29:   MatRegister(MATLMVMSYMBROYDEN,        MatCreate_LMVMSymBrdn);
     30:   MatRegister(MATLMVMSYMBADBROYDEN,     MatCreate_LMVMSymBadBrdn);
     31:   MatRegister(MATLMVMDIAGBROYDEN,       MatCreate_LMVMDiagBrdn);
     32:   return(0);
     33: }