It contains a C++ based library implementing hybrid discontinuous Galerkin methods on extremely general domains — that is, all standard (volume) domains, graphs, intersecting surfaces, and several other types of "domains" that can be interpreted as hypergraphs.
The C++ library can be embedded to C++ programs and/or Python scripts using Cython. This makes the library a good choice for writing both, high performance codes and easy to handle teaching scripts/programs.
For more details on HyperHDG, you may visit the website of HyperHDG, the Doxygen page, or its Wiki. In particular, if you want to know how to setup HyperHDG, we recommend to visit the Wiki's setup page.
The status given in the table refers to the main
branch. The build test covers building the
library and testing it with several compilers. For more details on the tests, please refer to the
files .github/workflows
.
This directory contains the HyperHDG library.
The HyperHDG library is copyrighted by the HyperHDG authors. This term refers to the people listed on the Wiki's page: Authors.
The HyperHDG library is free software; you can use it, redistribute it, and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The full text of the GNU Lesser General Public version 2.1 is quoted in License.txt.
As a contributor to this project, you agree that all of your contributions be governed by the Developer Certificate of Origin version 1.1. The HyperHDG project does not require copyright assignments for contributions. This means that the copyright for code contributions in the HyperHDG project is held by its respective contributors who have each agreed to release their contributed code under a compatible open source license (LGPL v2.1 for library code). The full text of the Developer Certificate of Origin version 1.1 is quoted in DeveloperCertificateOfOrigin.txt.
In addition to the terms imposed by the LGPL v2.1 or later, we ask for the following courtesy:
Every publication presenting numerical results obtained with the help of HyperHDG should state the name of the library and cite appropriate HyperHDG references listed at the top of the Wiki's page: Publications.
This is the usual, fair way of giving credit to contributors to a scientific result. In addition, it helps us justify our effort in developing HyperHDG as an academic undertaking.
We keep a list of publications using HyperHDG. Let us know about your publications so that we can add them to the aforementioned list. You can do this by emailing the reference information to one of the principal developers of HyperHDG, cf. Wiki's authors page.
The subdirectory submodules/
contains third party software. Please note that the software
located there is copyrighted by their respective authors (independent of the HyperHDG authors)
and are covered by different licenses.
The libraries listed above are all open source and as such place few restrictions on their use.
However, if you want to distribute software developed with HyperHDG (in source or binary form) and
you are using the packages above (with source code in submodules/
), then they may impose
different terms. Please consult the licenses of these packages for more information.
Alternatively, the configuration process of HyperHDG allows you to remove the submodules/
directory entirely, or disable any or all of these bundled libraries. In that case, you cannot use
their functionality but you also are not restricted by their license.
For further questions regarding licensing and commercial use please contact the principal developers of HyperHDG, cf. authors page, directly.
- The license can be found in License.txt. It contains the GNU Lesser General Public License version 2.1.
- The developer certificate of origin can be found in DeveloperCertificateOfOrigin.txt. It contains the Developer Certificate of Origin version 1.1.
- The list of authors and publications can be found on the authors page and the publications page, respectively.