Line data Source code
1 : /* 2 : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 : SLEPc - Scalable Library for Eigenvalue Problem Computations 4 : Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain 5 : 6 : This file is part of SLEPc. 7 : SLEPc is distributed under a 2-clause BSD license (see LICENSE). 8 : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9 : */ 10 : 11 : #include <slepc/private/mfnimpl.h> /*I "slepcmfn.h" I*/ 12 : 13 : SLEPC_EXTERN PetscErrorCode MFNCreate_Krylov(MFN); 14 : SLEPC_EXTERN PetscErrorCode MFNCreate_Expokit(MFN); 15 : 16 : /*@C 17 : MFNRegisterAll - Registers all the matrix functions in the MFN package. 18 : 19 : Not Collective 20 : 21 : Level: advanced 22 : 23 : .seealso: MFNRegister() 24 : @*/ 25 33 : PetscErrorCode MFNRegisterAll(void) 26 : { 27 33 : PetscFunctionBegin; 28 33 : if (MFNRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 29 16 : MFNRegisterAllCalled = PETSC_TRUE; 30 16 : PetscCall(MFNRegister(MFNKRYLOV,MFNCreate_Krylov)); 31 16 : PetscCall(MFNRegister(MFNEXPOKIT,MFNCreate_Expokit)); 32 16 : PetscFunctionReturn(PETSC_SUCCESS); 33 : } 34 : 35 : /*@C 36 : MFNMonitorRegisterAll - Registers all the monitors in the MFN package. 37 : 38 : Not Collective 39 : 40 : Level: advanced 41 : 42 : .seealso: MFNMonitorRegister() 43 : @*/ 44 16 : PetscErrorCode MFNMonitorRegisterAll(void) 45 : { 46 16 : PetscFunctionBegin; 47 16 : if (MFNMonitorRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 48 16 : MFNMonitorRegisterAllCalled = PETSC_TRUE; 49 : 50 16 : PetscCall(MFNMonitorRegister("error_estimate",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,MFNMonitorDefault,NULL,NULL)); 51 16 : PetscCall(MFNMonitorRegister("error_estimate",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,MFNMonitorDefaultDrawLG,MFNMonitorDefaultDrawLGCreate,NULL)); 52 16 : PetscFunctionReturn(PETSC_SUCCESS); 53 : }