dolfin_dg provides utility functions for the automatic generation of nonlinear
DG FEM formulations using UFL.
dolfin_dg derives its name from original development with the DOLFIN
component of the FEniCS project. However, the core components of dolfin_dg now
solely depend on UFL.
dolfin_dg has been successfully employed with:
Consider the nonlinear conservation equation
Here
The DG FEM formulation of the above equation is notoriously verbose to define.
Programming the code to compute the DG FEM approximation dolfin_dg provides utility functions for the automatic formulation of
the DG FEM discretisation of the weak formulation. These functions work with
UFL to facilitate simple implementation and efficient computation of the DG
approximation of nonlinear FEM problems.
Paul Houston and Nathan Sime,
Automatic symbolic computation for discontinuous Galerkin finite element methods,
SIAM Journal on Scientific Computing, 2018, 40(3), C327–C357
(arXiv)
Nathan Sime and Cian R. Wilson,
Automatic weak imposition of free slip boundary conditions via Nitsche's method: application to
nonlinear problems in geodynamics
(arXiv)
- UFL
- python 3
- For
dolfin_dg.dolfinxand thedolfinxdemos: the core components of the FEniCSx project. - For
dolfin_dg.dolfinand thedolfindemos: the core components of the legacy FEniCS project.- For the hybrid discontinuous Galerkin (HDG) solvers employing static
condensation with
dolfin, this LEoPart fork is required.
- For the hybrid discontinuous Galerkin (HDG) solvers employing static
condensation with
- For
firedrakesupport the core components of the Firedrake project
Navigate to the dolfin_dg directory and install with
pip install .A docker image facilitating compilation and execution of dolfin_dg examples
with the legacy version of dolfin and leopart is available:
docker run -it quay.io/natesime/dolfin_dg:master- Nate Sime nsime@carnegiescience.edu
- Paul Houston Paul.Houston@nottingham.ac.uk
- Patrick E. Farrell patrick.farrell@maths.ox.ac.uk
- Robert Klöfkorn robert.klofkorn@math.lu.se
GNU LGPL, version 3.