Actual source code: kspmatregi.c

petsc-master 2020-11-30
Report Typos and Errors
  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: }