Actual source code: pepregis.c
slepc-3.15.1 2021-05-28
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2021, 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/pepimpl.h>
13: SLEPC_EXTERN PetscErrorCode PEPCreate_Linear(PEP);
14: SLEPC_EXTERN PetscErrorCode PEPCreate_QArnoldi(PEP);
15: SLEPC_EXTERN PetscErrorCode PEPCreate_TOAR(PEP);
16: SLEPC_EXTERN PetscErrorCode PEPCreate_STOAR(PEP);
17: SLEPC_EXTERN PetscErrorCode PEPCreate_JD(PEP);
19: /*@C
20: PEPRegisterAll - Registers all the solvers in the PEP package.
22: Not Collective
24: Level: advanced
26: .seealso: PEPRegister()
27: @*/
28: PetscErrorCode PEPRegisterAll(void)
29: {
33: if (PEPRegisterAllCalled) return(0);
34: PEPRegisterAllCalled = PETSC_TRUE;
35: PEPRegister(PEPLINEAR,PEPCreate_Linear);
36: PEPRegister(PEPQARNOLDI,PEPCreate_QArnoldi);
37: PEPRegister(PEPTOAR,PEPCreate_TOAR);
38: PEPRegister(PEPSTOAR,PEPCreate_STOAR);
39: PEPRegister(PEPJD,PEPCreate_JD);
40: return(0);
41: }
43: /*@C
44: PEPMonitorRegisterAll - Registers all the monitors in the PEP package.
46: Not Collective
48: Level: advanced
49: @*/
50: PetscErrorCode PEPMonitorRegisterAll(void)
51: {
55: if (PEPMonitorRegisterAllCalled) return(0);
56: PEPMonitorRegisterAllCalled = PETSC_TRUE;
58: PEPMonitorRegister("first_approximation",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorFirst,NULL,NULL);
59: PEPMonitorRegister("first_approximation",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorFirstDrawLG,PEPMonitorFirstDrawLGCreate,NULL);
60: PEPMonitorRegister("all_approximations",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorAll,NULL,NULL);
61: PEPMonitorRegister("all_approximations",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorAllDrawLG,PEPMonitorAllDrawLGCreate,NULL);
62: PEPMonitorRegister("convergence_history",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorConverged,PEPMonitorConvergedCreate,PEPMonitorConvergedDestroy);
63: PEPMonitorRegister("convergence_history",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorConvergedDrawLG,PEPMonitorConvergedDrawLGCreate,PEPMonitorConvergedDestroy);
64: return(0);
65: }