Hermes2D 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.
Highlights of Hermes capabilities
- mathematical point of view
- L2, H1, HCurl, HDiv Sobolev spaces approximation with element-wise polynomial degree up to 10
- Hanging nodes of arbitrary order
- Multimesh = assembling over component-specific meshes without projections or interpolations in multiphysics problems
- Time-adaptive capabilities with a large number (~30) of pre-implemented Runge-Kutta methods
- Coupled problems solved together with hp-DG and hp-FEM
- Adaptivity based on reference solution and local projections
- Calculations with physical quantities defined in different subdomains
- implementation point of view
- OpenMP parallelization
- Unified library for handling both real and complex problems using advanced C++ templating
- Own OpenGl based visualization & VTK outputs of meshes, spaces, solutions
- Division of the library's code into easy-to-manage namespaces
- XML save / load of the most important classes using provided XML schemas
- Well arranged doxygen documentation
- Exception safe API