In this presentation an introduction to Finite Element Methods will be given. We will show
the flexibility of this method and show different applications in high performance
computing. Even today's computing power does not allow us to uniformly refine the
mesh to get a desired accuracy. Adaptive refinement techniques are necessary. We
will give an introduction to error estimation to control the adaptive mesh
refinement optimally. Furthermore we will present the open source software in which
this functionality is implemented.