A Sparse Generalized Eigenvalue Solver intended to be used with the fem_2d library
Linux is highly recomended, but it should be possible to install Slepc and Petsc on Windows or Mac if needed.
- Install Petsc. Follow the instructions here
- Install Slepc (an extension of Petsc). Follow the instructions in the installation section of this pdf
- Download this repository into your directory of choice
- Navigate to your dicrectory in a terminal and run
make
. This should produce a binary file called solve_gep - Set the environment variable
GEP_SOLVE_DIR
to the directory where solve_gep is located. This will allow fem_2d to find the solver.
The environment variable can be set perminantly on Linux by adding the line: GEP_SOLVE_DIR="the/actual/path/on/your/system/slepc_gep_solver/" to your
.environment
file in/etc/
Please include one or more of the following citations in any academic or commercial work based on this repository:
- Corrado, Jeremiah; Harmon, Jake; Notaros, Branislav; Ilic, Milan M. (2022): FEM_2D: A Rust Package for 2D Finite Element Method Computations with Extensive Support for hp-refinement. TechRxiv. Preprint. https://doi.org/10.36227/techrxiv.19166339.v1
- Corrado, Jeremiah; Harmon, Jake; Notaros, Branislav (2021): A Refinement-by-Superposition Approach to Fully Anisotropic hp-Refinement for Improved Efficiency in CEM. TechRxiv. Preprint. https://doi.org/10.36227/techrxiv.16695163.v1
- Harmon, Jake; Corrado, Jeremiah; Notaros, Branislav (2021): A Refinement-by-Superposition hp-Method for H(curl)- and H(div)-Conforming Discretizations. TechRxiv. Preprint. https://doi.org/10.36227/techrxiv.14807895.v1