Actual source code: lmeregis.c

      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/lmeimpl.h>

     13: SLEPC_EXTERN PetscErrorCode LMECreate_Krylov(LME);

     15: /*@C
     16:   LMERegisterAll - Registers all the matrix functions in the `LME` package.

     18:   Not Collective

     20:   Level: advanced

     22: .seealso: [](ch:lme), `LMERegister()`
     23: @*/
     24: PetscErrorCode LMERegisterAll(void)
     25: {
     26:   PetscFunctionBegin;
     27:   if (LMERegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
     28:   LMERegisterAllCalled = PETSC_TRUE;
     29:   PetscCall(LMERegister(LMEKRYLOV,LMECreate_Krylov));
     30:   PetscFunctionReturn(PETSC_SUCCESS);
     31: }

     33: /*@C
     34:   LMEMonitorRegisterAll - Registers all the monitors in the `LME `package.

     36:   Not Collective

     38:   Level: advanced

     40: .seealso: [](ch:lme), `LMEMonitorRegister()`
     41: @*/
     42: PetscErrorCode LMEMonitorRegisterAll(void)
     43: {
     44:   PetscFunctionBegin;
     45:   if (LMEMonitorRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
     46:   LMEMonitorRegisterAllCalled = PETSC_TRUE;

     48:   PetscCall(LMEMonitorRegister("error_estimate",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,LMEMonitorDefault,NULL,NULL));
     49:   PetscCall(LMEMonitorRegister("error_estimate",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,LMEMonitorDefaultDrawLG,LMEMonitorDefaultDrawLGCreate,NULL));
     50:   PetscFunctionReturn(PETSC_SUCCESS);
     51: }