Actual source code: mfnregis.c

slepc-3.18.0 2022-10-01
Report Typos and Errors
  1: /*
  2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
  4:    Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain

  6:    This file is part of SLEPc.
  7:    SLEPc is distributed under a 2-clause BSD license (see LICENSE).
  8:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  9: */

 11: #include <slepc/private/mfnimpl.h>

 13: SLEPC_EXTERN PetscErrorCode MFNCreate_Krylov(MFN);
 14: SLEPC_EXTERN PetscErrorCode MFNCreate_Expokit(MFN);

 16: /*@C
 17:   MFNRegisterAll - Registers all the matrix functions in the MFN package.

 19:   Not Collective

 21:   Level: advanced

 23: .seealso: MFNRegister()
 24: @*/
 25: PetscErrorCode MFNRegisterAll(void)
 26: {
 27:   if (MFNRegisterAllCalled) return 0;
 28:   MFNRegisterAllCalled = PETSC_TRUE;
 29:   MFNRegister(MFNKRYLOV,MFNCreate_Krylov);
 30:   MFNRegister(MFNEXPOKIT,MFNCreate_Expokit);
 31:   return 0;
 32: }

 34: /*@C
 35:   MFNMonitorRegisterAll - Registers all the monitors in the MFN package.

 37:   Not Collective

 39:   Level: advanced

 41: .seealso: MFNMonitorRegister()
 42: @*/
 43: PetscErrorCode MFNMonitorRegisterAll(void)
 44: {
 45:   if (MFNMonitorRegisterAllCalled) return 0;
 46:   MFNMonitorRegisterAllCalled = PETSC_TRUE;

 48:   MFNMonitorRegister("error_estimate",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,MFNMonitorDefault,NULL,NULL);
 49:   MFNMonitorRegister("error_estimate",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,MFNMonitorDefaultDrawLG,MFNMonitorDefaultDrawLGCreate,NULL);
 50:   return 0;
 51: }