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.
Similar content being viewed by others
References
Delynoi v1.0. http://camlab.cl/research/software/delynoi/
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)
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)
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)
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)
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)
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)
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)
Beirão da Veiga, L., Manzini, G.: A virtual element method with arbitrary regularity. IMA. J. Numer. Anal. 34(2), 759–781 (2014)
Dolbow, J., Belytschko, T.: Numerical integration of Galerkin weak form in meshfree methods. Comput. Mech. 23(3), 219–230 (1999)
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)
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)
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)
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)
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)
Guennebaud, G., Jacob, B., et al.: Eigen v3. http://eigen.tuxfamily.org (2010)
Hecht, F.: New development in FreeFem++. J. Numer. Math. 20(3–4), 251–265 (2012)
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)
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)
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)
Ortiz, A., Puso, M.A., Sukumar, N.: Maximum-entropy meshfree method for incompressible media problems. Finite Elem. Anal. Des. 47(6), 572–585 (2011)
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)
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)
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)
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)
Rycroft, C.H.: Voro++: a three-dimensional Voronoi cell library in C++, Chaos, pp. 19 (2009)
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)
Strang, G., Fix, G.: An analysis, 2nd. Wellesley-Cambridge Press, New York (2008)
Sutton, O.J.: The virtual element method in 50 lines of MATLAB. Numer. Algor. 75(4), 1141–1159 (2017)
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)
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)
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)
Timoshenko, S.P., Goodier, J.N.: Theory of elasticity, 3rd. McGraw-Hill, New York (1970)
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)
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)
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)
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)
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)
Lie, K.-A.: An introduction to reservoir simulation using MATLAB: user guide for the matlab reservoir simulation toolbox (MRST) SINTEF ICT (2016)
Klemetsdal, Ø.S.: The virtual element method as a common framework for finite element and finite difference methods — Numerical and theoretical analysis NTNU (2016)
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)
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
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11075-018-00651-0