Hermes hp-FEM & hp-DG Library
Hermes is a C++ library for rapid development of adaptive hp-FEM / hp-DG solvers. Novel hp-adaptivity algorithms help solve a large variety of problems ranging from ODE and stationary linear PDE to complex time-dependent nonlinear multiphysics PDE systems.
Current Release
Hermes version 3.1 (bugfix release) has been released.
It contains the 3.0 features, such as DG limiters, Taylor L2 shapeset, MATIO import / export of algebraic structures, as well as lots of optimizations, both CPU-related, and memory-related.
This is primarily a bugfix, stable release, with all examples, tutorials, documentation etc.
See the section Download below for download.
Download
-
Library Repository
git clone https://github.com/hpfem/hermes.git -
Tutorials
git clone https://github.com/hpfem/hermes-tutorial.git -
Examples
git clone https://github.com/hpfem/hermes-examples.git -
Windows prebuilt dependencies and libraries
git clone https://github.com/l-korous/hermes-windows.git -
Debian package download
Launchpad repository -
Instructions for building and using Hermes on Windows
Documentation
- Library:
- Tutorial & Examples:
- Doxygen Documentation:
Highlights
- L2, H1, HCurl, HDiv Sobolev spaces, polynomial degree up to 10
- Hanging nodes of arbitrary order
- Multimesh: component-specific meshes w/o projections or interpolations
- Time-adaptivity with multitude of pre-implemented Runge-Kutta methods
- Coupled problems solved together with hp-DG and hp-FEM
- hp-Adaptivity based on reference solution and local projections
Space-time adaptivity | Dynamical meshes | Curved elements | Adaptive multimesh |
See more in the Gallery. |
- OpenMP parallelization
- C++ templates for unified handling of real and complex problems
- Own OpenGL visualization & VTK outputs of meshes, spaces, solutions
- User-friendly written easy-to-grasp code
- XML, BSON save / load of the most important classes
- Solvers interfaces: UMFPACK, PARALUTION, PETSc, MUMPS, …
- GMSH, ExodusII mesh formats
- Matlab, MatrixMarket matrix exports
- Well arranged doxygen documentation
- Exception safe API