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 Addon 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 jupyternotebook 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 operatorvalues contour integrals. Authored by Jay Gopalakrishnan and Dow Drake. 
August 2020 

Implementation of the ArnoldFalkWinther and GopalakrishnanGuzman 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 jupyternotebook 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, Threefield mixed finite element methods for nonlinear elasticity, arXiv:2009.03928, [reproduction code](github) 
Nonlinear elasticity using the tangentialdisplacement normalnormalstress 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 DtNFE with 
e805ab54 (v6.2.1910+) 

Exactly tangential DG, HDG and \(H(\operatorname{div}_\Gamma)\)conforming HDG methods for the VectorLaplacian and the unsteady incompressible NavierStokes equations on surfaces with 
Sept. 2019 

Simplified fluidstructure interaction problem. Steady and unsteady incompressible NavierStokes equations for flow around a (rotating) circle (2D) and a (rotating) sphere (3D). Discretizations with TaylorHood 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 