Actual source code: pepregis.c

slepc-3.17.1 2022-04-11
Report Typos and Errors
  1: /*
  2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
  4:    Copyright (c) 2002-, 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: {
 33:   if (PEPRegisterAllCalled) PetscFunctionReturn(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: #if defined(PETSC_USE_COMPLEX)
 41:   PEPRegister(PEPCISS,PEPCreate_CISS);
 42: #endif
 43:   PetscFunctionReturn(0);
 44: }

 46: /*@C
 47:   PEPMonitorRegisterAll - Registers all the monitors in the PEP package.

 49:   Not Collective

 51:   Level: advanced

 53: .seealso: PEPMonitorRegister()
 54: @*/
 55: PetscErrorCode PEPMonitorRegisterAll(void)
 56: {
 57:   if (PEPMonitorRegisterAllCalled) PetscFunctionReturn(0);
 58:   PEPMonitorRegisterAllCalled = PETSC_TRUE;

 60:   PEPMonitorRegister("first_approximation",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorFirst,NULL,NULL);
 61:   PEPMonitorRegister("first_approximation",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorFirstDrawLG,PEPMonitorFirstDrawLGCreate,NULL);
 62:   PEPMonitorRegister("all_approximations",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorAll,NULL,NULL);
 63:   PEPMonitorRegister("all_approximations",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorAllDrawLG,PEPMonitorAllDrawLGCreate,NULL);
 64:   PEPMonitorRegister("convergence_history",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,PEPMonitorConverged,PEPMonitorConvergedCreate,PEPMonitorConvergedDestroy);
 65:   PEPMonitorRegister("convergence_history",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,PEPMonitorConvergedDrawLG,PEPMonitorConvergedDrawLGCreate,PEPMonitorConvergedDestroy);
 66:   PetscFunctionReturn(0);
 67: }