diff --git a/CHANGELOG b/CHANGELOG index d5d71fd628..e3ceab1f21 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -115,7 +115,7 @@ New and updated examples and miniapps equations of incompressible fluid dynamics. See the miniapps/navier directory for more details. -- Ported example 11p to SLEPc, to demonstrate solving the Laplace eigenvalue +- Ported Example 11p to SLEPc, to demonstrate solving the Laplace eigenvalue equation with the shift-and-invert spectral transformation method. - Added a simple meshing miniapp, Twist, which demonstrates MFEM's strategy of diff --git a/INSTALL b/INSTALL index 7ac6accdc9..6fdc5c4360 100644 --- a/INSTALL +++ b/INSTALL @@ -604,8 +604,8 @@ The specific libraries and their options are: - SLEPc (optional), used when MFEM_USE_SLEPC = YES. SLEPc depends on PETSc and uses some of the PETSc options when compiled. URL: https://slepc.upv.es/ - Options: SLEPC_OPT, SLEPC_LIB - Versions: SLEPc >= 3.8.0 + Options: SLEPC_OPT, SLEPC_LIB. + Versions: SLEPc >= 3.8.0. - Sidre (optional), part of LLNL's axom project, used when MFEM_USE_SIDRE = YES. Starting with MFEM v4.1, Axom version 0.3.1 or later is required. diff --git a/examples/petsc/ex11p.cpp b/examples/petsc/ex11p.cpp index 4ea735abad..b5ed4a1acc 100644 --- a/examples/petsc/ex11p.cpp +++ b/examples/petsc/ex11p.cpp @@ -1,4 +1,5 @@ // MFEM Example 11 - Parallel Version +// PETSc Modification // // Compile with: make ex11p // diff --git a/linalg/slepc.cpp b/linalg/slepc.cpp index 34fb0575b2..d2bdc4f722 100644 --- a/linalg/slepc.cpp +++ b/linalg/slepc.cpp @@ -25,6 +25,7 @@ static PetscErrorCode ierr; namespace mfem { + void MFEMInitializeSlepc() { MFEMInitializeSlepc(NULL,NULL,NULL,NULL); @@ -182,7 +183,6 @@ int SlepcEigenSolver::GetNumConverged() return num_conv; } - void SlepcEigenSolver::SetWhichEigenpairs(SlepcEigenSolver::Which which) { switch (which) diff --git a/linalg/slepc.hpp b/linalg/slepc.hpp index 6dd9025e21..7f8911ba21 100644 --- a/linalg/slepc.hpp +++ b/linalg/slepc.hpp @@ -77,7 +77,8 @@ public: void GetEigenvector(unsigned int i, Vector & vr) const; void GetEigenvector(unsigned int i, Vector & vr, Vector & vc) const; - /// Target spectrum for the eigensolver. Target imaginary is not supported without complex support in SLEPc, and intervals are not implemented. + /// Target spectrum for the eigensolver. Target imaginary is not supported + /// without complex support in SLEPc, and intervals are not implemented. enum Which { LARGEST_MAGNITUDE, @@ -108,6 +109,7 @@ public: }; } + #endif // MFEM_USE_MPI #endif // MFEM_USE_SLEPC