Date: 2022-10-01T06:40:21+00:00

Actual source code: pepregis.c
slepc-3.18.0 2022-10-01
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) 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: #if defined(PETSC_USE_COMPLEX)
     41:   PEPRegister(PEPCISS,PEPCreate_CISS);
     42: #endif
     43:   return 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) return 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:   return 0;
     67: }