| 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);
|