Now that we have a feeling for how the finite element method works on a theoretical level, let's now work up the practical machinery for handling 2D problems. We note that the extension to 3D is straightforward in terms of the theory and algorithms. The difficulties when extending to 3D (the so-called curse of dimensionality) have to do with the size of the resulting system and in creating the finite element mesh.
Let's start with an arbitrary 2D planar domain and break it up into discrete elements to form a finite dimensional subspace, . For 2D planar domains we have the choice of representing our function (if we assume for now that we will use linear elements) as either triangles,
or as quadralaterals,