Actual source code: pepregis.c

slepc-3.15.0 2021-03-31
Report Typos and Errors
  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: }