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/nepimpl.h> /*I "slepcnep.h" I*/ 12 : 13 : SLEPC_EXTERN PetscErrorCode NEPCreate_RII(NEP); 14 : SLEPC_EXTERN PetscErrorCode NEPCreate_SLP(NEP); 15 : SLEPC_EXTERN PetscErrorCode NEPCreate_NArnoldi(NEP); 16 : SLEPC_EXTERN PetscErrorCode NEPCreate_Interpol(NEP); 17 : #if defined(PETSC_USE_COMPLEX) 18 : SLEPC_EXTERN PetscErrorCode NEPCreate_CISS(NEP); 19 : #endif 20 : SLEPC_EXTERN PetscErrorCode NEPCreate_NLEIGS(NEP); 21 : 22 : /*@C 23 : NEPRegisterAll - Registers all the solvers in the NEP package. 24 : 25 : Not Collective 26 : 27 : Level: advanced 28 : 29 : .seealso: NEPRegister() 30 : @*/ 31 205 : PetscErrorCode NEPRegisterAll(void) 32 : { 33 205 : PetscFunctionBegin; 34 205 : if (NEPRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 35 103 : NEPRegisterAllCalled = PETSC_TRUE; 36 103 : PetscCall(NEPRegister(NEPRII,NEPCreate_RII)); 37 103 : PetscCall(NEPRegister(NEPSLP,NEPCreate_SLP)); 38 103 : PetscCall(NEPRegister(NEPNARNOLDI,NEPCreate_NArnoldi)); 39 103 : PetscCall(NEPRegister(NEPINTERPOL,NEPCreate_Interpol)); 40 : #if defined(PETSC_USE_COMPLEX) 41 : PetscCall(NEPRegister(NEPCISS,NEPCreate_CISS)); 42 : #endif 43 103 : PetscCall(NEPRegister(NEPNLEIGS,NEPCreate_NLEIGS)); 44 103 : PetscFunctionReturn(PETSC_SUCCESS); 45 : } 46 : 47 : /*@C 48 : NEPMonitorRegisterAll - Registers all the monitors in the NEP package. 49 : 50 : Not Collective 51 : 52 : Level: advanced 53 : 54 : .seealso: NEPMonitorRegister() 55 : @*/ 56 103 : PetscErrorCode NEPMonitorRegisterAll(void) 57 : { 58 103 : PetscFunctionBegin; 59 103 : if (NEPMonitorRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 60 103 : NEPMonitorRegisterAllCalled = PETSC_TRUE; 61 : 62 103 : PetscCall(NEPMonitorRegister("first_approximation",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,NEPMonitorFirst,NULL,NULL)); 63 103 : PetscCall(NEPMonitorRegister("first_approximation",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,NEPMonitorFirstDrawLG,NEPMonitorFirstDrawLGCreate,NULL)); 64 103 : PetscCall(NEPMonitorRegister("all_approximations",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,NEPMonitorAll,NULL,NULL)); 65 103 : PetscCall(NEPMonitorRegister("all_approximations",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,NEPMonitorAllDrawLG,NEPMonitorAllDrawLGCreate,NULL)); 66 103 : PetscCall(NEPMonitorRegister("convergence_history",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,NEPMonitorConverged,NEPMonitorConvergedCreate,NEPMonitorConvergedDestroy)); 67 103 : PetscCall(NEPMonitorRegister("convergence_history",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,NEPMonitorConvergedDrawLG,NEPMonitorConvergedDrawLGCreate,NEPMonitorConvergedDestroy)); 68 103 : PetscFunctionReturn(PETSC_SUCCESS); 69 : }