Date: 2021-09-20T09:43:50+00:00

Actual source code: epsregis.c
slepc-3.15.2 2021-09-20
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/epsimpl.h>

     13: SLEPC_EXTERN PetscErrorCode EPSCreate_Power(EPS);
     14: SLEPC_EXTERN PetscErrorCode EPSCreate_Subspace(EPS);
     15: SLEPC_EXTERN PetscErrorCode EPSCreate_Arnoldi(EPS);
     16: SLEPC_EXTERN PetscErrorCode EPSCreate_Lanczos(EPS);
     17: SLEPC_EXTERN PetscErrorCode EPSCreate_KrylovSchur(EPS);
     18: SLEPC_EXTERN PetscErrorCode EPSCreate_GD(EPS);
     19: SLEPC_EXTERN PetscErrorCode EPSCreate_JD(EPS);
     20: SLEPC_EXTERN PetscErrorCode EPSCreate_RQCG(EPS);
     21: SLEPC_EXTERN PetscErrorCode EPSCreate_LOBPCG(EPS);
     22: SLEPC_EXTERN PetscErrorCode EPSCreate_CISS(EPS);
     23: SLEPC_EXTERN PetscErrorCode EPSCreate_LyapII(EPS);
     24: SLEPC_EXTERN PetscErrorCode EPSCreate_LAPACK(EPS);
     25: #if defined(SLEPC_HAVE_ARPACK)
     26: SLEPC_EXTERN PetscErrorCode EPSCreate_ARPACK(EPS);
     27: #endif
     28: #if defined(SLEPC_HAVE_BLZPACK)
     29: SLEPC_EXTERN PetscErrorCode EPSCreate_BLZPACK(EPS);
     30: #endif
     31: #if defined(SLEPC_HAVE_TRLAN)
     32: SLEPC_EXTERN PetscErrorCode EPSCreate_TRLAN(EPS);
     33: #endif
     34: #if defined(SLEPC_HAVE_BLOPEX)
     35: SLEPC_EXTERN PetscErrorCode EPSCreate_BLOPEX(EPS);
     36: #endif
     37: #if defined(SLEPC_HAVE_PRIMME)
     38: SLEPC_EXTERN PetscErrorCode EPSCreate_PRIMME(EPS);
     39: #endif
     40: #if defined(SLEPC_HAVE_FEAST)
     41: SLEPC_EXTERN PetscErrorCode EPSCreate_FEAST(EPS);
     42: #endif
     43: #if defined(SLEPC_HAVE_SCALAPACK)
     44: SLEPC_EXTERN PetscErrorCode EPSCreate_ScaLAPACK(EPS);
     45: #endif
     46: #if defined(SLEPC_HAVE_ELPA)
     47: SLEPC_EXTERN PetscErrorCode EPSCreate_ELPA(EPS);
     48: #endif
     49: #if defined(SLEPC_HAVE_ELEMENTAL)
     50: SLEPC_EXTERN PetscErrorCode EPSCreate_Elemental(EPS);
     51: #endif
     52: #if defined(SLEPC_HAVE_EVSL)
     53: SLEPC_EXTERN PetscErrorCode EPSCreate_EVSL(EPS);
     54: #endif

     56: /*@C
     57:   EPSRegisterAll - Registers all the eigenvalue solvers in the EPS package.

     59:   Not Collective

     61:   Level: advanced

     63: .seealso:  EPSRegister()
     64: @*/
     65: PetscErrorCode EPSRegisterAll(void)
     66: {

     70:   if (EPSRegisterAllCalled) return(0);
     71:   EPSRegisterAllCalled = PETSC_TRUE;
     72:   EPSRegister(EPSPOWER,EPSCreate_Power);
     73:   EPSRegister(EPSSUBSPACE,EPSCreate_Subspace);
     74:   EPSRegister(EPSARNOLDI,EPSCreate_Arnoldi);
     75:   EPSRegister(EPSLANCZOS,EPSCreate_Lanczos);
     76:   EPSRegister(EPSKRYLOVSCHUR,EPSCreate_KrylovSchur);
     77:   EPSRegister(EPSGD,EPSCreate_GD);
     78:   EPSRegister(EPSJD,EPSCreate_JD);
     79:   EPSRegister(EPSRQCG,EPSCreate_RQCG);
     80:   EPSRegister(EPSLOBPCG,EPSCreate_LOBPCG);
     81:   EPSRegister(EPSCISS,EPSCreate_CISS);
     82:   EPSRegister(EPSLYAPII,EPSCreate_LyapII);
     83:   EPSRegister(EPSLAPACK,EPSCreate_LAPACK);
     84: #if defined(SLEPC_HAVE_ARPACK)
     85:   EPSRegister(EPSARPACK,EPSCreate_ARPACK);
     86: #endif
     87: #if defined(SLEPC_HAVE_BLZPACK)
     88:   EPSRegister(EPSBLZPACK,EPSCreate_BLZPACK);
     89: #endif
     90: #if defined(SLEPC_HAVE_TRLAN)
     91:   EPSRegister(EPSTRLAN,EPSCreate_TRLAN);
     92: #endif
     93: #if defined(SLEPC_HAVE_BLOPEX)
     94:   EPSRegister(EPSBLOPEX,EPSCreate_BLOPEX);
     95: #endif
     96: #if defined(SLEPC_HAVE_PRIMME)
     97:   EPSRegister(EPSPRIMME,EPSCreate_PRIMME);
     98: #endif
     99: #if defined(SLEPC_HAVE_FEAST)
    100:   EPSRegister(EPSFEAST,EPSCreate_FEAST);
    101: #endif
    102: #if defined(SLEPC_HAVE_SCALAPACK)
    103:   EPSRegister(EPSSCALAPACK,EPSCreate_ScaLAPACK);
    104: #endif
    105: #if defined(SLEPC_HAVE_ELPA)
    106:   EPSRegister(EPSELPA,EPSCreate_ELPA);
    107: #endif
    108: #if defined(SLEPC_HAVE_ELEMENTAL)
    109:   EPSRegister(EPSELEMENTAL,EPSCreate_Elemental);
    110: #endif
    111: #if defined(SLEPC_HAVE_EVSL)
    112:   EPSRegister(EPSEVSL,EPSCreate_EVSL);
    113: #endif
    114:   return(0);
    115: }

    117: /*@C
    118:   EPSMonitorRegisterAll - Registers all the monitors in the EPS package.

    120:   Not Collective

    122:   Level: advanced
    123: @*/
    124: PetscErrorCode EPSMonitorRegisterAll(void)
    125: {

    129:   if (EPSMonitorRegisterAllCalled) return(0);
    130:   EPSMonitorRegisterAllCalled = PETSC_TRUE;

    132:   EPSMonitorRegister("first_approximation",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,EPSMonitorFirst,NULL,NULL);
    133:   EPSMonitorRegister("first_approximation",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,EPSMonitorFirstDrawLG,EPSMonitorFirstDrawLGCreate,NULL);
    134:   EPSMonitorRegister("all_approximations",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,EPSMonitorAll,NULL,NULL);
    135:   EPSMonitorRegister("all_approximations",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,EPSMonitorAllDrawLG,EPSMonitorAllDrawLGCreate,NULL);
    136:   EPSMonitorRegister("convergence_history",PETSCVIEWERASCII,PETSC_VIEWER_DEFAULT,EPSMonitorConverged,EPSMonitorConvergedCreate,EPSMonitorConvergedDestroy);
    137:   EPSMonitorRegister("convergence_history",PETSCVIEWERDRAW,PETSC_VIEWER_DRAW_LG,EPSMonitorConvergedDrawLG,EPSMonitorConvergedDrawLGCreate,EPSMonitorConvergedDestroy);
    138:   return(0);
    139: }