Actual source code: pepregis.c

slepc-3.16.1 2021-11-17
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);
 18: #if defined(PETSC_USE_COMPLEX)
 19: SLEPC_EXTERN PetscErrorCode PEPCreate_CISS(PEP);
 20: #endif

 22: /*@C
 23:    PEPRegisterAll - Registers all the solvers in the PEP package.

 25:    Not Collective

 27:    Level: advanced

 29: .seealso:  PEPRegister()
 30: @*/
 31: PetscErrorCode PEPRegisterAll(void)
 32: {

 36:   if (PEPRegisterAllCalled) return(0);
 37:   PEPRegisterAllCalled = PETSC_TRUE;
 38:   PEPRegister(PEPLINEAR,PEPCreate_Linear);
 39:   PEPRegister(PEPQARNOLDI,PEPCreate_QArnoldi);
 40:   PEPRegister(PEPTOAR,PEPCreate_TOAR);
 41:   PEPRegister(PEPSTOAR,PEPCreate_STOAR);
 42:   PEPRegister(PEPJD,PEPCreate_JD);
 43: #if defined(PETSC_USE_COMPLEX)
 44:   PEPRegister(PEPCISS,PEPCreate_CISS);
 45: #endif
 46:   return(0);
 47: }

 49: /*@C
 50:   PEPMonitorRegisterAll - Registers all the monitors in the PEP package.

 52:   Not Collective

 54:   Level: advanced
 55: @*/
 56: PetscErrorCode PEPMonitorRegisterAll(void)
 57: {

 61:   if (PEPMonitorRegisterAllCalled) return(0);
 62:   PEPMonitorRegisterAllCalled = PETSC_TRUE;

 64:   PEPMonitorRegister("first_approximation",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorFirst,NULL,NULL);
 65:   PEPMonitorRegister("first_approximation",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorFirstDrawLG,PEPMonitorFirstDrawLGCreate,NULL);
 66:   PEPMonitorRegister("all_approximations",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorAll,NULL,NULL);
 67:   PEPMonitorRegister("all_approximations",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorAllDrawLG,PEPMonitorAllDrawLGCreate,NULL);
 68:   PEPMonitorRegister("convergence_history",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorConverged,PEPMonitorConvergedCreate,PEPMonitorConvergedDestroy);
 69:   PEPMonitorRegister("convergence_history",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorConvergedDrawLG,PEPMonitorConvergedDrawLGCreate,PEPMonitorConvergedDestroy);
 70:   return(0);
 71: }