Advertisement

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

  • A. Ortiz-BernardinEmail author
  • C. Alvarez
  • N. Hitschfeld-Kahler
  • A. Russo
  • R. Silva-Valenzuela
  • E. Olate-Sanzana
Original Paper
  • 16 Downloads

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.

Keywords

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

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.

References

  1. 1.
  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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)CrossRefzbMATHGoogle 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)MathSciNetCrossRefGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Dolbow, J., Belytschko, T.: Numerical integration of Galerkin weak form in meshfree methods. Comput. Mech. 23(3), 219–230 (1999)MathSciNetCrossRefzbMATHGoogle 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)CrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefGoogle 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)MathSciNetCrossRefGoogle 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)Google Scholar
  26. 26.
    Rycroft, C.H.: Voro++: a three-dimensional Voronoi cell library in C++, Chaos, pp. 19 (2009)Google Scholar
  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)zbMATHGoogle Scholar
  29. 29.
    Sutton, O.J.: The virtual element method in 50 lines of MATLAB. Numer. Algor. 75(4), 1141–1159 (2017)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar
  33. 33.
    Timoshenko, S.P., Goodier, J.N.: Theory of elasticity, 3rd. McGraw-Hill, New York (1970)Google Scholar
  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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)Google Scholar
  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)Google Scholar
  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)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Department of Mechanical EngineeringUniversidad de ChileSantiagoChile
  2. 2.Computational and Applied Mechanics Laboratory, Center for Modern Computational Engineering, Facultad de Ciencias Físicas y MatemáticasUniversidad de ChileSantiagoChile
  3. 3.Department of Computer ScienceUniversidad de ChileSantiagoChile
  4. 4.Meshing for Applied Science Laboratory, Center for Modern Computational Engineering, Facultad de Ciencias Físicas y MatemáticasUniversidad de ChileSantiagoChile
  5. 5.Dipartimento di Matematica e ApplicazioniUniversità di Milano-BicoccaMilanoItaly
  6. 6.Istituto di Matematica Applicata e Tecnologie Informatiche del CNRPaviaItaly

Personalised recommendations