Date: 2022-08-02T03:14:50+00:00

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: {
     18:   if (KSPMatRegisterAllCalled) return 0;
     19:   KSPMatRegisterAllCalled = PETSC_TRUE;
     20:   MatRegister(MATSCHURCOMPLEMENT,       MatCreate_SchurComplement);
     21:   MatRegister(MATLMVMDFP,               MatCreate_LMVMDFP);
     22:   MatRegister(MATLMVMBFGS,              MatCreate_LMVMBFGS);
     23:   MatRegister(MATLMVMSR1,               MatCreate_LMVMSR1);
     24:   MatRegister(MATLMVMBROYDEN,           MatCreate_LMVMBrdn);
     25:   MatRegister(MATLMVMBADBROYDEN,        MatCreate_LMVMBadBrdn);
     26:   MatRegister(MATLMVMSYMBROYDEN,        MatCreate_LMVMSymBrdn);
     27:   MatRegister(MATLMVMSYMBADBROYDEN,     MatCreate_LMVMSymBadBrdn);
     28:   MatRegister(MATLMVMDIAGBROYDEN,       MatCreate_LMVMDiagBrdn);
     29:   return 0;
     30: }