Ameshref: A Matlab-Toolbox for Adaptive Mesh Refinement in Two Dimensions

  • Stefan A. Funken
  • Anja SchmidtEmail author
Conference paper
Part of the Lecture Notes in Computational Science and Engineering book series (LNCSE, volume 131)


This paper presents a Matlab-Toolbox named ameshref that provides an efficient implementation of various adaptive mesh refinement strategies allowing triangular and quadrilateral grids with and without hanging nodes. For selected methods, we give an insight into the strategy itself and the core ideas for an efficient realization. This is achieved by utilization of reasonable data structure, use of Matlab built-in functions and vectorization. To serve educational purposes on how to implement a method efficiently, the code is kept accessible but short. Numerical experiments underline the efficiency of the code and show the flexible deployment in different contexts where adaptive mesh refinement is in use. Our implementation is accessible and easy-to-understand and thus considered to be a valuable tool in research and education.


  1. 1.
    Alberty, J., Carstensen, C., Funken, S.A.: Remarks around 50 lines of Matlab: short finite element implementation. Numer. Algorithm. 20(2–3), 117–137 (1999)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Bank, R.E., Sherman, A.H.: An adaptive, multi-level method for elliptic boundary value problems. Computing 26(2), 91–105 (1981)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Bank, R.E., Sherman, A.H., Weiser, A.: Some refinement algorithms and data structures for regular local mesh refinement. In: Stepleman, R., et al. (eds.) Scientific Computing, vol. 1, pp. 3–17. IMACS, North-Holland (1983)Google Scholar
  4. 4.
    Carstensen, C.: An adaptive mesh-refining algorithm allowing for an H 1-stable L 2-projection onto Courant finite element spaces. Constr. Approx. 20(4), 549–564 (2004)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Chen, L.: iFEM: an innovative finite element methods package in MATLAB. Preprint, University of Maryland (2008)Google Scholar
  6. 6.
    Chen, L.: Short implementation of bisection in MATLAB. In: Adv. Comput. Math.: Selected Papers from the International Workshop on Computational Sciences and Its Education, pp. 318–332. World Scientific, Singapore (2008)Google Scholar
  7. 7.
    Funken, S.A., Schmidt, A.: Adaptive mesh refinement in 2D — an efficient implementation in MATLAB. Submitted to Comput. Methods Appl. Math. (2018)Google Scholar
  8. 8.
    Funken, S.A., Schmidt, A.: Ameshref – Efficient Implementation of Adaptive Mesh Refinement in 2D. Software download at
  9. 9.
    Funken, S.A., Praetorius, D., Wissgott, P.: Efficient implementation of adaptive P1-FEM in Matlab. Comput. Methods Appl. Math. 11(4), 460–490 (2011)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Kobbelt, L.: Interpolatory subdivision on open quadrilateral nets with arbitrary topology. In: Comput. Graph. Forum, vol. 15, pp. 409–420. Wiley, Edinburgh (1996)Google Scholar
  11. 11.
    Schmidt, A.: Adaptive mesh refinement in 2D — an efficient implementation in Matlab for triangular and quadrilateral meshes. Master’s thesis, Universität Ulm (2018)Google Scholar
  12. 12.
    Schneiders, R.: Algorithms for quadrilateral and hexahedral mesh generation. Proc. VKI-LS Comput. Fluid Dyn. 4, 31–43 (2000)Google Scholar
  13. 13.
    Schneiders, R.: Mesh generation and grid generation on the web. Accessed 21 Aug 2018
  14. 14.
    Sewell, E.: Automatic Generation of Triangulations for Piecewise Polynomial Approximation. Purdue University, West Lafayette (1972)Google Scholar
  15. 15.
    Verfürth, R.: A Review of a Posteriori Error Estimation and Adaptive Mesh-Refinement Techniques. Wiley, Chichester (1996)zbMATHGoogle Scholar
  16. 16.
    Zhao, X., Mao, S., Shi, Z.: Adaptive finite element methods on quadrilateral meshes without hanging nodes. SIAM J. Sci. Comput. 32(4), 2099–2120 (2010)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Institut für Numerische Mathematik, Universität UlmUlmGermany

Personalised recommendations