Subversion Repositories slepc-dev

Rev

Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1937 Rev 1940
Line 67... Line 67...
 
 
    Level: beginner
    Level: beginner
 
 
.seealso: EPSSetProblemType(), EPSGetProblemType()
.seealso: EPSSetProblemType(), EPSGetProblemType()
E*/
E*/
typedef enum { EPS_HEP=1,  EPS_GHEP,
typedef enum { EPS_HEP=1,
               EPS_NHEP,   EPS_GNHEP,
               EPS_GHEP,
               EPS_PGNHEP, EPS_GHIEP } EPSProblemType;
               EPS_NHEP,
 
               EPS_GNHEP,
 
               EPS_PGNHEP,
 
               EPS_GHIEP } EPSProblemType;
 
 
/*E
/*E
    EPSExtraction - determines the type of extraction technique employed
    EPSExtraction - determines the type of extraction technique employed
    by the eigensolver
    by the eigensolver
 
 
    Level: beginner
    Level: beginner
 
 
.seealso: EPSSetExtraction(), EPSGetExtraction()
.seealso: EPSSetExtraction(), EPSGetExtraction()
E*/
E*/
typedef enum { EPS_RITZ=1,   EPS_HARMONIC,
typedef enum { EPS_RITZ=1,
               EPS_REFINED,  EPS_REFINED_HARMONIC } EPSExtraction;
               EPS_HARMONIC,
 
               EPS_REFINED,
 
               EPS_REFINED_HARMONIC } EPSExtraction;
 
 
/*E
/*E
    EPSClass - determines if the eigensolver is one- or two-sided
    EPSClass - determines if the eigensolver is one- or two-sided
 
 
    Level: intermediate
    Level: intermediate
 
 
.seealso: EPSSetClass(), EPSGetClass()
.seealso: EPSSetClass(), EPSGetClass()
E*/
E*/
typedef enum { EPS_ONE_SIDE, EPS_TWO_SIDE } EPSClass;
typedef enum { EPS_ONE_SIDE,
 
               EPS_TWO_SIDE } EPSClass;
 
 
/*E
/*E
    EPSWhich - determines which part of the spectrum is requested
    EPSWhich - determines which part of the spectrum is requested
 
 
    Level: intermediate
    Level: intermediate
 
 
.seealso: EPSSetWhichEigenpairs(), EPSGetWhichEigenpairs()
.seealso: EPSSetWhichEigenpairs(), EPSGetWhichEigenpairs()
E*/
E*/
typedef enum { EPS_LARGEST_MAGNITUDE, EPS_SMALLEST_MAGNITUDE,
typedef enum { EPS_LARGEST_MAGNITUDE,
               EPS_LARGEST_REAL,      EPS_SMALLEST_REAL,
               EPS_SMALLEST_MAGNITUDE,
               EPS_LARGEST_IMAGINARY, EPS_SMALLEST_IMAGINARY,
               EPS_LARGEST_REAL,
               EPS_TARGET_MAGNITUDE,  EPS_TARGET_REAL,
               EPS_SMALLEST_REAL,
               EPS_TARGET_IMAGINARY,  EPS_USER } EPSWhich;
               EPS_LARGEST_IMAGINARY,
 
               EPS_SMALLEST_IMAGINARY,
 
               EPS_TARGET_MAGNITUDE,
 
               EPS_TARGET_REAL,
 
               EPS_TARGET_IMAGINARY,
 
               EPS_USER } EPSWhich;
 
 
/*E
/*E
    EPSBalance - the type of balancing used for non-Hermitian problems
    EPSBalance - the type of balancing used for non-Hermitian problems
 
 
    Level: intermediate
    Level: intermediate
 
 
.seealso: EPSSetBalance()
.seealso: EPSSetBalance()
E*/
E*/
typedef enum { EPSBALANCE_NONE=1,
typedef enum { EPS_BALANCE_NONE=1,
               EPSBALANCE_ONESIDE,
               EPS_BALANCE_ONESIDE,
               EPSBALANCE_TWOSIDE,
               EPS_BALANCE_TWOSIDE,
               EPSBALANCE_USER    } EPSBalance;
               EPS_BALANCE_USER } EPSBalance;
 
 
EXTERN PetscErrorCode EPSCreate(MPI_Comm,EPS *);
EXTERN PetscErrorCode EPSCreate(MPI_Comm,EPS *);
EXTERN PetscErrorCode EPSDestroy(EPS);
EXTERN PetscErrorCode EPSDestroy(EPS);
EXTERN PetscErrorCode EPSSetType(EPS,const EPSType);
EXTERN PetscErrorCode EPSSetType(EPS,const EPSType);
EXTERN PetscErrorCode EPSGetType(EPS,const EPSType*);
EXTERN PetscErrorCode EPSGetType(EPS,const EPSType*);
Line 242... Line 253...
 
 
    Level: advanced
    Level: advanced
 
 
.seealso: EPSPowerSetShiftType(), EPSPowerGetShiftType()
.seealso: EPSPowerSetShiftType(), EPSPowerGetShiftType()
E*/
E*/
typedef enum { EPSPOWER_SHIFT_CONSTANT, EPSPOWER_SHIFT_RAYLEIGH,
typedef enum { EPS_POWER_SHIFT_CONSTANT,
               EPSPOWER_SHIFT_WILKINSON } EPSPowerShiftType;
               EPS_POWER_SHIFT_RAYLEIGH,
 
               EPS_POWER_SHIFT_WILKINSON } EPSPowerShiftType;
 
 
EXTERN PetscErrorCode EPSPowerSetShiftType(EPS,EPSPowerShiftType);
EXTERN PetscErrorCode EPSPowerSetShiftType(EPS,EPSPowerShiftType);
EXTERN PetscErrorCode EPSPowerGetShiftType(EPS,EPSPowerShiftType*);
EXTERN PetscErrorCode EPSPowerGetShiftType(EPS,EPSPowerShiftType*);
 
 
EXTERN PetscErrorCode EPSArnoldiSetDelayed(EPS,PetscTruth);
EXTERN PetscErrorCode EPSArnoldiSetDelayed(EPS,PetscTruth);
Line 259... Line 271...
 
 
    Level: advanced
    Level: advanced
 
 
.seealso: EPSLanczosSetReorthog(), EPSLanczosGetReorthog()
.seealso: EPSLanczosSetReorthog(), EPSLanczosGetReorthog()
E*/
E*/
typedef enum { EPSLANCZOS_REORTHOG_LOCAL,
typedef enum { EPS_LANCZOS_REORTHOG_LOCAL,
               EPSLANCZOS_REORTHOG_FULL,
               EPS_LANCZOS_REORTHOG_FULL,
               EPSLANCZOS_REORTHOG_SELECTIVE,
               EPS_LANCZOS_REORTHOG_SELECTIVE,
               EPSLANCZOS_REORTHOG_PERIODIC,
               EPS_LANCZOS_REORTHOG_PERIODIC,
               EPSLANCZOS_REORTHOG_PARTIAL,
               EPS_LANCZOS_REORTHOG_PARTIAL,
               EPSLANCZOS_REORTHOG_DELAYED } EPSLanczosReorthogType;
               EPS_LANCZOS_REORTHOG_DELAYED } EPSLanczosReorthogType;
 
 
EXTERN PetscErrorCode EPSLanczosSetReorthog(EPS,EPSLanczosReorthogType);
EXTERN PetscErrorCode EPSLanczosSetReorthog(EPS,EPSLanczosReorthogType);
EXTERN PetscErrorCode EPSLanczosGetReorthog(EPS,EPSLanczosReorthogType*);
EXTERN PetscErrorCode EPSLanczosGetReorthog(EPS,EPSLanczosReorthogType*);
 
 
EXTERN PetscErrorCode EPSBlzpackSetBlockSize(EPS,PetscInt);
EXTERN PetscErrorCode EPSBlzpackSetBlockSize(EPS,PetscInt);
Line 280... Line 292...
 
 
    Level: advanced
    Level: advanced
 
 
.seealso: EPSPRIMMESetMethod(), EPSPRIMMEGetMethod()
.seealso: EPSPRIMMESetMethod(), EPSPRIMMEGetMethod()
E*/
E*/
typedef enum {
typedef enum { EPS_PRIMME_DYNAMIC,
  EPSPRIMME_DYNAMIC,
               EPS_PRIMME_DEFAULT_MIN_TIME,
  EPSPRIMME_DEFAULT_MIN_TIME,
               EPS_PRIMME_DEFAULT_MIN_MATVECS,
  EPSPRIMME_DEFAULT_MIN_MATVECS,
               EPS_PRIMME_ARNOLDI,
  EPSPRIMME_ARNOLDI,
               EPS_PRIMME_GD,
  EPSPRIMME_GD,
               EPS_PRIMME_GD_PLUSK,
  EPSPRIMME_GD_PLUSK,
               EPS_PRIMME_GD_OLSEN_PLUSK,
  EPSPRIMME_GD_OLSEN_PLUSK,
               EPS_PRIMME_JD_OLSEN_PLUSK,
  EPSPRIMME_JD_OLSEN_PLUSK,
               EPS_PRIMME_RQI,
  EPSPRIMME_RQI,
               EPS_PRIMME_JDQR,
  EPSPRIMME_JDQR,
               EPS_PRIMME_JDQMR,
  EPSPRIMME_JDQMR,
               EPS_PRIMME_JDQMR_ETOL,
  EPSPRIMME_JDQMR_ETOL,
               EPS_PRIMME_SUBSPACE_ITERATION,
  EPSPRIMME_SUBSPACE_ITERATION,
               EPS_PRIMME_LOBPCG_ORTHOBASIS,
  EPSPRIMME_LOBPCG_ORTHOBASIS,
               EPS_PRIMME_LOBPCG_ORTHOBASISW } EPSPRIMMEMethod;
  EPSPRIMME_LOBPCG_ORTHOBASISW
 
} EPSPRIMMEMethod;
 
 
 
/*E
/*E
    EPSPRIMMEPrecond - determines the type of preconditioning
    EPSPRIMMEPrecond - determines the type of preconditioning
    used in the PRIMME library
    used in the PRIMME library
 
 
    Level: advanced
    Level: advanced
 
 
.seealso: EPSPRIMMESetPrecond(), EPSPRIMMEGetPrecond()
.seealso: EPSPRIMMESetPrecond(), EPSPRIMMEGetPrecond()
E*/
E*/
typedef enum {
typedef enum { EPS_PRIMME_PRECOND_NONE,
  EPSPRIMME_NONE,
               EPS_PRIMME_PRECOND_DIAGONAL } EPSPRIMMEPrecond;
  EPSPRIMME_DIAGONAL
 
} EPSPRIMMEPrecond;
 
 
 
EXTERN PetscErrorCode EPSPRIMMESetBlockSize(EPS eps,PetscInt bs);
EXTERN PetscErrorCode EPSPRIMMESetBlockSize(EPS eps,PetscInt bs);
EXTERN PetscErrorCode EPSPRIMMESetMethod(EPS eps, EPSPRIMMEMethod method);
EXTERN PetscErrorCode EPSPRIMMESetMethod(EPS eps, EPSPRIMMEMethod method);
EXTERN PetscErrorCode EPSPRIMMESetPrecond(EPS eps, EPSPRIMMEPrecond precond);
EXTERN PetscErrorCode EPSPRIMMESetPrecond(EPS eps, EPSPRIMMEPrecond precond);
EXTERN PetscErrorCode EPSPRIMMEGetBlockSize(EPS eps,PetscInt *bs);
EXTERN PetscErrorCode EPSPRIMMEGetBlockSize(EPS eps,PetscInt *bs);