Veamy: an extensible object-oriented C++ library for the virtual element method

Abstract

This paper summarizes the development of Veamy, an object-oriented C++ library for the virtual element method (VEM) on general polygonal meshes, whose modular design is focused on its extensibility. The linear elastostatic and Poisson problems in two dimensions have been chosen as the starting stage for the development of this library. The theory of the VEM, upon which Veamy is built, is presented using a notation and a terminology that resemble the language of the finite element method (FEM) in engineering analysis. Several examples are provided to demonstrate the usage of Veamy, and in particular, one of them features the interaction between Veamy and the polygonal mesh generator PolyMesher. A computational performance comparison between VEM and FEM is also conducted. Veamy is free and open source software.

This is a preview of subscription content, log in to check access.

References

  1. 1.

    Delynoi v1.0. http://camlab.cl/research/software/delynoi/

  2. 2.

    Alnæs, M.S., Blechta, J., Hake, J., Johansson, A., Kehlet, B., Logg, A., Richardson, C., Ring, J., Rognes, M.E., Wells, G.N.: The FEniCS Project Version 1.5. Arch. Numer. Softw. 3(100), 9–23 (2015)

    Google Scholar 

  3. 3.

    Artioli, E., Beirão da Veiga, L., Lovadina, C., Sacco, E.: Arbitrary order 2D virtual elements for polygonal meshes: part II, inelastic problem. Comput. Mech. 60(4), 643–657 (2017)

    MathSciNet  MATH  Article  Google Scholar 

  4. 4.

    Babuška, I., Banerjee, U., Osborn, J.E., Li, Q.L.: Quadrature for meshless methods. Int. J. Numer. Methods Eng. 76(9), 1434–1470 (2008)

    MathSciNet  MATH  Article  Google Scholar 

  5. 5.

    Babuška, I., Banerjee, U., Osborn, J.E., Zhang, Q.: Effect of numerical integration on meshless methods. Comput. Methods Appl. Mech. Eng. 198(37–40), 2886–2897 (2009)

    MathSciNet  MATH  Article  Google Scholar 

  6. 6.

    Cangiani, A., Manzini, G., Russo, A., Sukumar, N.: Hourglass stabilization and the virtual element method. Int. J. Numer. Methods Eng. 102(3–4), 404–436 (2015)

    MathSciNet  MATH  Article  Google Scholar 

  7. 7.

    Chen, J.S., Wu, C.T., Yoon, S., You, Y.: A stabilized conforming nodal integration for Galerkin mesh-free methods. Int. J. Numer. Methods Eng. 50 (2), 435–466 (2001)

    MATH  Article  Google Scholar 

  8. 8.

    Chi, H., Beirão da Veiga, L., Paulino, G.: Some basic formulations of the virtual element method (VEM) for finite deformations. Comput. Methods Appl. Mech. Eng. 318, 148–192 (2017)

    MathSciNet  Article  Google Scholar 

  9. 9.

    Beirão da Veiga, L., Manzini, G.: A virtual element method with arbitrary regularity. IMA. J. Numer. Anal. 34(2), 759–781 (2014)

    MathSciNet  MATH  Article  Google Scholar 

  10. 10.

    Dolbow, J., Belytschko, T.: Numerical integration of Galerkin weak form in meshfree methods. Comput. Mech. 23(3), 219–230 (1999)

    MathSciNet  MATH  Article  Google Scholar 

  11. 11.

    Duan, Q., Gao, X., Wang, B., Li, X., Zhang, H., Belytschko, T., Shao, Y.: Consistent element-free G,alerkin method. Int. J. Numer. Methods Eng. 99(2), 79–101 (2014)

    MATH  Article  Google Scholar 

  12. 12.

    Duan, Q., Gao, X., Wang, B., Li, X., Zhang, H.: A four-point integration scheme with quadratic exactness for three-dimensional element-free Galerkin method based on variationally consistent formulation. Comput. Methods Appl. Mech. Eng. 280, 84–116 (2014)

    MathSciNet  MATH  Article  Google Scholar 

  13. 13.

    Duan, Q., Li, X., Zhang, H., Belytschko, T.: Second-order accurate derivatives and integration schemes for meshfree methods. Int. J. Numer. Methods Eng. 92(4), 399–424 (2012)

    MathSciNet  MATH  Article  Google Scholar 

  14. 14.

    Francis, A., Ortiz-Bernardin, A., Bordas, S., Natarajan, S.: Linear smoothed polygonal and polyhedral finite elements. Int. J. Numer. Methods Eng. 109(9), 1263–1288 (2017)

    MathSciNet  Article  Google Scholar 

  15. 15.

    Gain, A.L., Talischi, C., Paulino, G.H.: On the virtual element method for three-dimensional linear elasticity problems on arbitrary polyhedral meshes. Comput. Methods Appl. Mech. Eng. 282, 132–160 (2014)

    MathSciNet  MATH  Article  Google Scholar 

  16. 16.

    Guennebaud, G., Jacob, B., et al.: Eigen v3. http://eigen.tuxfamily.org (2010)

  17. 17.

    Hecht, F.: New development in FreeFem++. J. Numer. Math. 20(3–4), 251–265 (2012)

    MathSciNet  MATH  Google Scholar 

  18. 18.

    Johnson, A.: Clipper - an open source freeware library for clipping and offsetting lines and polygons (version: 6.1.3). http://www.angusj.com/delphi/clipper.php (2014)

  19. 19.

    Manzini, G., Russo, A., Sukumar, N.: New perspectives on polygonal and polyhedral finite element methods. Math. Models Methods Appl. Sci. 24(08), 1665–1699 (2014)

    MathSciNet  MATH  Article  Google Scholar 

  20. 20.

    Ortiz, A., Puso, M.A., Sukumar, N.: Maximum-entropy meshfree method for compressible and near-incompressible elasticity. Comput. Methods Appl. Mech. Eng. 199(25–28), 1859–1871 (2010)

    MathSciNet  MATH  Article  Google Scholar 

  21. 21.

    Ortiz, A., Puso, M.A., Sukumar, N.: Maximum-entropy meshfree method for incompressible media problems. Finite Elem. Anal. Des. 47(6), 572–585 (2011)

    MathSciNet  Article  Google Scholar 

  22. 22.

    Ortiz-Bernardin, A., Hale, J.S., Cyron, C.J.: Volume-averaged nodal projection method for nearly-incompressible elasticity using meshfree and bubble basis functions. Comput. Methods Appl. Mech. Engrg. 285, 427–451 (2015)

    MathSciNet  MATH  Article  Google Scholar 

  23. 23.

    Ortiz-Bernardin, A., Puso, M.A., Sukumar, N.: Improved robustness for nearly-incompressible large deformation meshfree simulations on Delaunay tessellations. Comput. Methods Appl. Mech. Eng. 293, 348–374 (2015)

    MathSciNet  MATH  Article  Google Scholar 

  24. 24.

    Ortiz-Bernardin, A., Russo, A., Sukumar, N.: Consistent and stable meshfree Galerkin methods using the virtual element decomposition. Int. J. Numer. Methods Eng. 112(7), 655–684 (2017)

    MathSciNet  Article  Google Scholar 

  25. 25.

    Prud’Homme, C., Chabannes, V., Doyeux, V., Ismail, M., Samake, A., Pena, G.: Feel++: A Computational Framework for Galerkin Methods and Advanced Numerical Methods. In: ESAIM: Proceedings, vol. 38, pp. 429–455. EDP Sciences (2012)

  26. 26.

    Rycroft, C.H.: Voro++: a three-dimensional Voronoi cell library in C++, Chaos, pp. 19 (2009)

  27. 27.

    Shewchuk, J.R.: Triangle: engineering a 2D quality mesh generator and delaunay triangulator. In: Lin, M.C., Manocha, D. (eds.) Applied Computational Geometry: Towards Geometric Engineering, Lecture Notes in Computer Science, vol. 1148, pp. 203–222, Springer. From the First ACM Workshop on Applied Computational Geometry (1996)

    Google Scholar 

  28. 28.

    Strang, G., Fix, G.: An analysis, 2nd. Wellesley-Cambridge Press, New York (2008)

    Google Scholar 

  29. 29.

    Sutton, O.J.: The virtual element method in 50 lines of MATLAB. Numer. Algor. 75(4), 1141–1159 (2017)

    MathSciNet  MATH  Article  Google Scholar 

  30. 30.

    Talischi, C., Paulino, G.H.: Addressing integration error for polygonal finite elements through polynomial projections: a patch test connection. Math. Models Methods Appl. Sci. 24(08), 1701–1727 (2014)

    MathSciNet  MATH  Article  Google Scholar 

  31. 31.

    Talischi, C., Paulino, G.H., Pereira, A., Menezes, I.F.M.: PolyMesher,: a general-purpose mesh generator for polygonal elements written in Matlab. Struct. Multidisc. Optim. 45(3), 309–328 (2012)

    MathSciNet  MATH  Article  Google Scholar 

  32. 32.

    Talischi, C., Pereira, A., Menezes, I., Paulino, G.: Gradient correction for polygonal and polyhedral finite elements. Int. J. Numer. Meth. Engng. 102(3–4), 728–747 (2015)

    MathSciNet  MATH  Article  Google Scholar 

  33. 33.

    Timoshenko, S.P., Goodier, J.N.: Theory of elasticity, 3rd. McGraw-Hill, New York (1970)

  34. 34.

    Beirão da Veiga, L., Brezzi, F., Cangiani, A., Manzini, G., Marini, L.D., Russo, A.: Basic principles of virtual element methods. Math. Models Methods Appl. Sci. 23(1), 199–214 (2013)

    MathSciNet  MATH  Article  Google Scholar 

  35. 35.

    Beirão da Veiga, L., Brezzi, F., Marini, L.D.: Virtual elements for linear elasticity problems. SIAM J. Numer. Anal. 51(2), 794–812 (2013)

    MathSciNet  MATH  Article  Google Scholar 

  36. 36.

    Beirão da Veiga, L., Lovadina, C., Mora, D.: A virtual element method for elastic and inelastic problems on polytope meshes. Comput. Methods Appl. Mech. Eng. 295, 327–346 (2015)

    MathSciNet  MATH  Article  Google Scholar 

  37. 37.

    Wriggers, P., Reddy, B.D., Rust, W., Hudobivnik, B.: Efficient virtual element formulations for compressible and incompressible finite deformations. Comput. Mech. 60(2), 253–268 (2017)

    MathSciNet  MATH  Article  Google Scholar 

  38. 38.

    Artioli, E., Beirão da Veiga, L., Lovadina, C., Sacco, E.: Arbitrary order 2D virtual elements for polygonal meshes: part i, elastic problem. Comput. Mech. 60(3), 355–377 (2017)

    MathSciNet  MATH  Article  Google Scholar 

  39. 39.

    Lie, K.-A.: An introduction to reservoir simulation using MATLAB: user guide for the matlab reservoir simulation toolbox (MRST) SINTEF ICT (2016)

  40. 40.

    Klemetsdal, Ø.S.: The virtual element method as a common framework for finite element and finite difference methods — Numerical and theoretical analysis NTNU (2016)

  41. 41.

    Cangiani, A., Georgoulis, E.H., Pryer, T., Sutton, O.J.: A posteriori error estimates for the virtual element method. Numer. Math. 137(4), 857–893 (2017)

    MathSciNet  MATH  Article  Google Scholar 

Download references

Acknowledgements

AOB acknowledges the support provided by Universidad de Chile through the “Programa VID Ayuda de Viaje 2017” and the Chilean National Fund for Scientific and Technological Development (FONDECYT) through grant CONICYT/FONDECYT No. 1181192. The work of CA is supported by CONICYT-PCHA/Magíster Nacional/2016-22161437. NHK is grateful for the support provided by the Chilean National Fund for Scientific and Technological Development (FONDECYT) through grant CONICYT/FONDECYT No. 1181506.

Author information

Affiliations

Authors

Corresponding author

Correspondence to A. Ortiz-Bernardin.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Ortiz-Bernardin, A., Alvarez, C., Hitschfeld-Kahler, N. et al. Veamy: an extensible object-oriented C++ library for the virtual element method. Numer Algor 82, 1189–1220 (2019). https://doi.org/10.1007/s11075-018-00651-0

Download citation

Keywords

  • Virtual element method
  • Polygonal meshes
  • Object-oriented programming
  • C++