Subversion Repositories slepc-dev

Rev

Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1376 slepc 1
/*
2
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1672 slepc 3
   SLEPc - Scalable Library for Eigenvalue Problem Computations
2116 eromero 4
   Copyright (c) 2002-2010, Universidad Politecnica de Valencia, Spain
6 dsic.upv.es!jroman 5
 
1672 slepc 6
   This file is part of SLEPc.
7
 
8
   SLEPc is free software: you can redistribute it and/or modify it under  the
9
   terms of version 3 of the GNU Lesser General Public License as published by
10
   the Free Software Foundation.
11
 
12
   SLEPc  is  distributed in the hope that it will be useful, but WITHOUT  ANY
13
   WARRANTY;  without even the implied warranty of MERCHANTABILITY or  FITNESS
14
   FOR  A  PARTICULAR PURPOSE. See the GNU Lesser General Public  License  for
15
   more details.
16
 
17
   You  should have received a copy of the GNU Lesser General  Public  License
18
   along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
1376 slepc 19
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20
*/
21
 
2283 jroman 22
#include <private/epsimpl.h>  /*I "slepceps.h" I*/
6 dsic.upv.es!jroman 23
 
24
EXTERN_C_BEGIN
2324 jroman 25
extern PetscErrorCode EPSCreate_Power(EPS);
26
extern PetscErrorCode EPSCreate_Subspace(EPS);
27
extern PetscErrorCode EPSCreate_Arnoldi(EPS);
28
extern PetscErrorCode EPSCreate_Lanczos(EPS);
29
extern PetscErrorCode EPSCreate_KrylovSchur(EPS);
30
extern PetscErrorCode EPSCreate_DSITRLanczos(EPS);
6 dsic.upv.es!jroman 31
#if defined(SLEPC_HAVE_ARPACK)
2240 jroman 32
extern PetscErrorCode EPSCreate_ARPACK(EPS);
6 dsic.upv.es!jroman 33
#endif
2240 jroman 34
extern PetscErrorCode EPSCreate_LAPACK(EPS);
6 dsic.upv.es!jroman 35
#if defined(SLEPC_HAVE_BLZPACK) && !defined(PETSC_USE_COMPLEX)
2240 jroman 36
extern PetscErrorCode EPSCreate_BLZPACK(EPS);
6 dsic.upv.es!jroman 37
#endif
38
#if defined(SLEPC_HAVE_TRLAN) && !defined(PETSC_USE_COMPLEX)
2240 jroman 39
extern PetscErrorCode EPSCreate_TRLAN(EPS);
6 dsic.upv.es!jroman 40
#endif
1974 eromero 41
#if defined(PETSC_HAVE_BLOPEX)
2240 jroman 42
extern PetscErrorCode EPSCreate_BLOPEX(EPS);
630 dsic.upv.es!antodo 43
#endif
1187 slepc 44
#if defined(SLEPC_HAVE_PRIMME)
2240 jroman 45
extern PetscErrorCode EPSCreate_PRIMME(EPS eps);
1187 slepc 46
#endif
2240 jroman 47
extern PetscErrorCode EPSCreate_GD(EPS eps);
48
extern PetscErrorCode EPSCreate_JD(EPS eps);
6 dsic.upv.es!jroman 49
EXTERN_C_END
50
 
51
#undef __FUNCT__  
52
#define __FUNCT__ "EPSRegisterAll"
53
/*@C
54
  EPSRegisterAll - Registers all the eigenvalue solvers in the EPS package.
55
 
56
  Not Collective
57
 
58
  Level: advanced
59
 
842 dsic.upv.es!antodo 60
.seealso:  EPSRegisterDynamic()
6 dsic.upv.es!jroman 61
@*/
2212 jroman 62
PetscErrorCode EPSRegisterAll(const char *path)
6 dsic.upv.es!jroman 63
{
476 dsic.upv.es!antodo 64
  PetscErrorCode ierr;
6 dsic.upv.es!jroman 65
 
66
  PetscFunctionBegin;
2324 jroman 67
  ierr = EPSRegisterDynamic(EPSPOWER,path,"EPSCreate_POWER",EPSCreate_Power);CHKERRQ(ierr);
68
  ierr = EPSRegisterDynamic(EPSSUBSPACE,path,"EPSCreate_SUBSPACE",EPSCreate_Subspace);CHKERRQ(ierr);
69
  ierr = EPSRegisterDynamic(EPSARNOLDI,path,"EPSCreate_ARNOLDI",EPSCreate_Arnoldi);CHKERRQ(ierr);
70
  ierr = EPSRegisterDynamic(EPSLANCZOS,path,"EPSCreate_LANCZOS",EPSCreate_Lanczos);CHKERRQ(ierr);
71
  ierr = EPSRegisterDynamic(EPSKRYLOVSCHUR,path,"EPSCreate_KRYLOVSCHUR",EPSCreate_KrylovSchur);CHKERRQ(ierr);
72
  ierr = EPSRegisterDynamic(EPSDSITRLANCZOS,path,"EPSCreate_DSITRLANCZOS",EPSCreate_DSITRLanczos);CHKERRQ(ierr);
6 dsic.upv.es!jroman 73
#if defined(SLEPC_HAVE_ARPACK)
2316 jroman 74
  ierr = EPSRegisterDynamic(EPSARPACK,path,"EPSCreate_ARPACK",EPSCreate_ARPACK);CHKERRQ(ierr);
6 dsic.upv.es!jroman 75
#endif
2316 jroman 76
  ierr = EPSRegisterDynamic(EPSLAPACK,path,"EPSCreate_LAPACK",EPSCreate_LAPACK);CHKERRQ(ierr);
6 dsic.upv.es!jroman 77
#if defined(SLEPC_HAVE_BLZPACK) && !defined(PETSC_USE_COMPLEX)
2316 jroman 78
  ierr = EPSRegisterDynamic(EPSBLZPACK,path,"EPSCreate_BLZPACK",EPSCreate_BLZPACK);CHKERRQ(ierr);
6 dsic.upv.es!jroman 79
#endif
80
#if defined(SLEPC_HAVE_TRLAN) && !defined(PETSC_USE_COMPLEX)
2316 jroman 81
  ierr = EPSRegisterDynamic(EPSTRLAN,path,"EPSCreate_TRLAN",EPSCreate_TRLAN);CHKERRQ(ierr);
6 dsic.upv.es!jroman 82
#endif
1974 eromero 83
#if defined(PETSC_HAVE_BLOPEX)
2316 jroman 84
  ierr = EPSRegisterDynamic(EPSBLOPEX,path,"EPSCreate_BLOPEX",EPSCreate_BLOPEX);CHKERRQ(ierr);
630 dsic.upv.es!antodo 85
#endif
1187 slepc 86
#if defined(SLEPC_HAVE_PRIMME)
2316 jroman 87
  ierr = EPSRegisterDynamic(EPSPRIMME,path,"EPSCreate_PRIMME",EPSCreate_PRIMME);CHKERRQ(ierr);
1187 slepc 88
#endif
2316 jroman 89
  ierr = EPSRegisterDynamic(EPSGD,path,"EPSCreate_GD",EPSCreate_GD);CHKERRQ(ierr);
90
  ierr = EPSRegisterDynamic(EPSJD,path,"EPSCreate_JD",EPSCreate_JD);CHKERRQ(ierr);
6 dsic.upv.es!jroman 91
  PetscFunctionReturn(0);
92
}