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