# MITCHELL_FENICS Mitchell Elliptic Test Problems for FENICS

MITCHELL_FENICS, example scripts which set up and solve Mitchell's 2D Elliptic Partial Differential Equations (PDE's) using the FENICS package.

Mitchell proposed these problems as a test suite for adaptive PDE solvers. An adaptive solver is one that constructs a proposed solution, estimates the error in this proposed solution, and then modifies its approach, perhaps by refining the mesh or using higher order elements, to reduce the error.

In this directory, we simply attempt to set up a fixed mesh and finite element space and solve the problem once.

Mitchell's problems include:

1. "Analytic Solution"
2. "Reentrant Corner"
3. "Linear Elasticity"
4. "Peak"
5. "Battery"
6. "Boundary Layer"
7. "Boundary Line Singularity"
8. "Oscillatory"
9. "Wave Front"
10. "Interior Line Singularity"
11. "Intersecting Interfaces"
12. "Multiple Difficulties"

### Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

### Related Data and Programs:

DOLFIN-CONVERT, a Python program which can convert a mesh file from a given format to an XML format suitable for use by DOLFIN or FENICS, by Anders Logg.

DOLFIN_XML, a data directory which contains examples of XML files that describe 3D finite element meshes as used by DOLFIN and FENICS.

FENICS, examples which illustrate the use of FENICS, a collection of software for the automatic and efficient solution of partial differential equations (PDE's)using the finite element method.

GMSH, examples which illustrate the use of the gmsh program, a 3D mesh generator for the finite element method (FEM).

MESH2D, a MATLAB library which can automatically create a triangular mesh for a given polygonal region, by Darren Engwirda.

MESHFACES, a MATLAB library which can automatically create a triangular mesh for a given polygonal region that has been subdivided into multiple faces, by Darren Engwirda.

MESHLAB, examples which illustrate the use of the meshlab program, an advanced mesh processing system for automatic or user-assisted editing, cleaning, filtering, converting and rendering of large unstructured 3D triangular meshes. MESHLAB can read and write 3DS, OBJ, OFF, PLY, and STL graphics files.

MITCHELL_DEALII, examples which illustrate the implementation of the Mitchell 2D elliptic partial differential equation (PDE) test problems using DEAL.II.

MITCHELL_FREEFEM++, examples which illustrate the implementation of the Mitchell 2D elliptic partial differential equation (PDE) test problems using FREEFEM++.

PARAVIEW, examples which illustrate the use of the paraview interactive visualization program.

TETGEN, examples which illustrate the use of TETGEN, a program which can compute the convex hull and Delaunay tetrahedralization of a set of 3D points, or can start with a 3D region defined by its boundaries, and construct a boundary-constrained conforming quality Delaunay mesh, by Hang Si.

TRIANGULATION_TO_XML, a MATLAB program which reads information defining a trinagulation, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding DOLFIN XML mesh file.

VISIT, examples which illustrate the use of the visit interactive graphics program.

VTK, a data directory which contains examples of legacy VTK files, a file format used by the Visual Toolkit, and which can be displayed by programs such as paraview and visit;

### Reference:

A web site at NIST describes these and many other problems: http://math.nist.gov/amr-benchmark/index.html

1. Anders Logg, Kent-Andre Mardal, Garth Wells,
Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book,
Lecture Notes in Computational Science and Engineering,
Springer, 2011,
ISBN13: 978-3642230981.
2. William Mitchell,
A collection of 2D elliptic problems for testing adaptive grid refinement algorithms,
Applied Mathematics and Computation,
Volume 220, 1 September 2013, pages 350-364.

### Examples and Tests:

TEST01 defines the "analytic solution" problem, with the Poisson equation on the unit square [0,1]x[0,1] with zero boundary conditions.

• test01.py, a Python script to solve the problem with FENICS.
• test010000.vtu, a VTK graphics file of the solution.

TEST02 defines the "reentrant corner" problem, defined on the "upside down L" shaped region.

• test02.py, a Python script to solve the problem with FENICS.
• test02.geo, an input file to Gmsh to create the mesh.
• test02.msh, the mesh, in Gmsh format.
• test02.xml, the mesh, converted to XML format by dolfin-convert.

TEST03 defines the "linear elasticity" problem, defined on the [-1,+1]x[-1,+1] square with a slit from (0,0) to (1,0).

• test03.py, a Python script to solve the problem with FENICS.
• test03.geo, an input file to Gmsh to create the mesh.
• test03.msh, the mesh, in Gmsh format.
• test03.xml, the mesh, converted to XML format by dolfin-convert.

TEST04 defines the "peak" problem on the unit square [0,1]x[0,1].

• test04.py, a Python script to solve the problem with FENICS.
• test040000.vtu, a VTK graphics file of the solution.

TEST05 defines the "battery" problem. This problem is defined on a rectangle which has been subdivided into seven subregions. The entire region must be meshed, but the mesh is constrained to have only element boundaries along the subregion boundaries. The mesh was created in MESHFACES (a variant of MESH2D). The nodes and elements were written to files, and then TRIANGULATION_TO_XML converted them to an appropriate XML file.

TEST06 defines the "boundary layer" problem on the [-1,+1]x[-1,+1] square.

• test06.py, a Python script to solve the problem with FENICS.

TEST07 defines the "boundary line singularity" problem on the unit square [0,1]x[0,1]. There is a singularity in the right hand side function F(X,Y), at the left boundary where X=0.

• test07.py, a Python script to solve the problem with FENICS.
• test070000.vtu, a VTK graphics file of the solution.

TEST08 defines the "oscillatory" problem on the unit square [0,1]x[0,1].

• test08.py, a Python script to solve the problem with FENICS.

TEST09 defines the "wave front" problem on the unit square [0,1]x[0,1].

• test09.py, a Python script to solve the problem with FENICS.

TEST10 defines the "interior line singularity" problem on the [-1,+1]x[-1,+1] square.

• test10.py, a Python script to solve the problem with FENICS.

TEST11 defines the "intersecting interfaces" problem on the [-1,+1]x[-1,+1] square.

• test11.py, a Python script to solve the problem with FENICS.

TEST12 defines the "multiple difficulties" problem, on the "upside down L" shaped region.

• test12.py, a Python script to solve the problem with FENICS.
• test12.geo, an input file to Gmsh to create the mesh.
• test12.msh, the mesh, in Gmsh format.
• test12.xml, the mesh, converted to XML format by dolfin-convert.

You can go up one level to the Examples directory.

Last revised on 26 August 2014.