Numerical Software
In the working group we also work on (i.e. develop and use) numerical software packages.
Netgen
/NGSolve
NGSolve
is a high performance multiphysics finite element software.
It is widely used to analyze models from solid mechanics, fluid dynamics and electromagnetics.
Due to its flexible Python interface new physical equations and solution algorithms can be implemented easily.
NGSolve
is our main working horse when it comes to developing finite element based discretizations or solving PDEs numerically in general.
For more related content see here and here. For people from the Göttingen campus, setup instructions for the use of NGSolve
on the HPC cluster are given here.
Instructions for installing NGSolve
on the GWDG Jupyter Cloud are given here.
ngsxfem
ngsxfem
is an Add-on library to Netgen
/NGSolve
which enables the use of unfitted finite element technologies known as XFEM, CutFEM, TraceFEM, Finite Cell, ... . ngsxfem is an academic software. Its primary intention is to facilitate the development and validation of new numerical methods. ngsxfem
is our working horse for the research on unfitted FEM. For more related content see here.
regpy
regpy
is a python toolbox for regularization methods. We interface NGSolve
to regpy
to solve forward problems in NGSolve
that are needed for an inverse problem that is solved for in regpy
. For more related content see here.
Additional content (documentation, demos, examples)
Here, we collect a list of additional content that is related to one of the previously mentioned packages. You may benefit from this list when looking for code examples, documentation or further explanations. Note that some content is newer and frequently updated while other content may be compatible mainly (or only) with an older version. The version/date in the following table refers to the latest compatible version tested, i.e. newer version may or may not work. Reproduction files are another source for code examples that we consider in a separate paragraph below.
content / link | description | version / date |
---|---|---|
| ||
documented jupyter-notebook examples of essentially all |
latest |
|
videos of lectures on |
— |
|
New tutorial materials including some iterative solver tutorials |
March 2021 |
|
An introduction to FEM for engineers based on NGSolve by Joachim Schöberl from a course given in September 2017. |
Sept 2017 |
|
The |
— |
|
An Introduction into C++ Programming with |
— |
|
|
— |
|
Jay Gopalakrishnan has some nice examples on |
Winter 2015 |
|
Introductory material for Discontinuous Galerkin for hyperbolic problems with |
June 2018 |
|
Quick crash course to FEM in 1D/2D (Poisson only) by Christoph Lehrenfeld. |
Nov. 2019 |
|
Course on physics modeling, experiments and simulation with ODEs and PDEs for high school kids (in german) by Christoph Lehrenfeld and Carsten Nowak. A live demonstration can be found here (using binder). |
v6.2.2008 |
|
Some simple example discretizations (with possible room for solving tasks) for the teaching course "Numerics of PDEs 2) by Christoph Lehrenfeld in the summer term 2020. Interactive access can be found here (using binder). A starting point is the mini tutorial. |
April 2020 |
|
| ||
Special functions of SLATEC for |
— |
|
A convenience layer on top of |
v6.2.2008 |
|
A class of spectral projectors for implementing FEAST algorithm with various discretizations, including the DPG discretization. Filters are constructed using approximations of operator-values contour integrals. Authored by Jay Gopalakrishnan and Dow Drake. |
August 2020 |
|
Implementation of the Arnold-Falk-Winther and Gopalakrishnan-Guzman stress finite element spaces in 2D and 3D (with weakly imposed symmetry). Further facilities to experiment with mixed methods are provided. Authored by Jay Gopalakrishnan and Paulina Sepulveda. |
March 2019 |
|
Implementation of Algebraic Multigrid Preconditioners for |
Sept 2020 |
|
Implementation of learned infinite elements based on |
v6.2.2008 |
|
documented jupyter-notebook examples of some |
latest |
|
| ||
A rudimentary interactive online example of the coupling of |
ngs:v6.2.2008 regpy:4d4e3611 |
Reproduction files
For reproducibility of research results it is good style to publish scientific results alongside the code and data that can be used to reproduce the results. An advantage of this procedure is that these reproduction files can serve also as a starting point for your investigations and developments. Here, we gather a few of these reproduction files that are using one of the previously mentioned software packages.
paper / link | description | package / version / date |
---|---|---|
M.Neunteufel, A.Pechstein, J.Schöberl, Three-field mixed finite element methods for nonlinear elasticity, arXiv:2009.03928, [reproduction code](github) |
Nonlinear elasticity using the tangential-displacement normal-normal-stress continuous (TDNNS) method, provided examples: cooks membrane, cylindrical shell |
Sept 2022 |
BDF time stepping in unfitted finite element methods for unsteady Stokes using ghost penalty stabilization. |
February 2020 |
|
Sweeping preconditioners for wave equations in stratified media. Moving PML and DtN-FE with |
e805ab54 (v6.2.1910+) |
|
Exactly tangential DG, HDG and \(H(\operatorname{div}_\Gamma)\)-conforming HDG methods for the Vector-Laplacian and the unsteady incompressible Navier-Stokes equations on surfaces with |
Sept. 2019 |
|
Simplified fluid-structure interaction problem. Steady and unsteady incompressible Navier-Stokes equations for flow around a (rotating) circle (2D) and a (rotating) sphere (3D). Discretizations with Taylor-Hood and \(H(\operatorname{div})\)-conforming HDG elements |
v6.2.1906 (+patch) |
|
Model order reduction for an ALE formulation of a free boundary osmotic cell swelling problem. ALE problem solved using |