2D Finite Element project with mesh2d
This project was posed at the conclusion of a finite elements course that I took in the spring of 2013. The goal was to look into some sort of finite element related areas outside of the generic course content.
For the final project we were given a number of options to choose from ranging from purely theoretical to purely computational. I choose to investigate the use of the Finite Element Method on non-rectangular or polygonal domains. To accomplish this, an existing MATLAB package called mesh2d was used to create a grid of points given an outline of a domain. Mesh2d was written by Danny Engwirda and is available through the MATLAB file exchange.
Often we wish to solve problems where the boundaries cannot be represented by a rectangular domain so it becomes necessary for us to find some other method of discretizing our domain. Mesh2d implements a Delaunay triangulation method to split up the domain into a set of triangles that will become our finite elements. The aim of Delaunay triangulation is to increase the minimum angle of any triangle within the domain, this avoids long and skinny triangles which we noted in class were not particularly good elements. Using just a few commands we can create a non-rectangular domain and use the mesh2d function to automatically discretize it, adjusting the size and shape of our elements as necessary. The following sections will go through some background of the mesh2d program, some simple test cases, an analysis of two non-rectangular domains and any results gathered.
If you would like to look through the results and methodology the work, you can download the tar-zipped folder here.