We present an easily accessible, object oriented code (written exclusively in Matlab) for adaptive finite element simulations in 2D. It features various refinement routines for triangular meshes as well as fully vectorized FEM ansatz spaces of arbitrary polynomial order and allows for problems with very general coefficients. In particular, our code can handle problems typically arising from iterative linearization methods used to solve nonlinear PDEs. Due to the object oriented programming paradigm, the code can be used easily and is readily extensible. We explain the basic principles of our code and give numerical experiments that underline its flexibility as well as its efficiency.
翻译:我们为2D的适应性有限要素模拟提供了一个容易获取的、面向对象的代码(专门用Matlab编写)。它为三角贝壳提供了各种改进常规,以及任意多式排列的完全矢量化FEM ansatz空间,并允许出现非常普通的系数问题,特别是,我们的代码可以处理用于解决非线性PDE的迭代线性方法通常引起的问题。由于面向目标的编程模式,该代码可以很容易地使用,并且可以随时推广。我们解释了我们代码的基本原则,并提供数字实验,强调其灵活性和效率。