Log in

A numerical implementation for the high-order 2D virtual element method in MATLAB

  • Original Paper
  • Published:
Numerical Algorithms Aims and scope Submit manuscript

Abstract

We present a numerical implementation for the Virtual Element Method that incorporates high order spaces. We include all the required computations in order to assemble the stiffness and mass matrices, and right hand side. Convergence of the method is verified for different polygonal partitions. An specific mesh-free application that allows to approximate harmonic functions is discussed, which is based on high-order projections onto polynomial spaces of degree k; this approach only requires to solve a k(k − 1)/2 linear system, reducing significantly the number of operations compared to usual finite or virtual element methods, and can be modified for different virtual spaces and elliptic partial differential equations.

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

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Germany)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Ahmad, B., Alsaedi, A., Brezzi, F., Marini, L.D., Russo, A.: Equivalent projectors for virtual element methods. Comput. Math. Appl. 66(3), 376–391 (2013). https://doi.org/10.1016/j.camwa.2013.05.015

    Article  MathSciNet  MATH  Google Scholar 

  2. Alvarez, S.N., Bokil, V., Gyrya, V., Manzini, G.: The virtual element method for resistive magnetohydrodynamics. Comput. Methods Appl. Mech. Engrg. 381, 113815 (2021). https://doi.org/10.1016/j.cma.2021.113815

    Article  MathSciNet  MATH  Google Scholar 

  3. Antonietti, P.F., Beirão da Veiga, L., Mora, D., Verani, M.: A stream virtual element formulation of the Stokes problem on polygonal meshes. SIAM J. Numer. Anal. 52(1), 386–404 (2014). https://doi.org/10.1137/13091141X

    Article  MathSciNet  MATH  Google Scholar 

  4. Artioli, E., Beirão da Veiga, L., Dassi, F.: Curvilinear virtual elements for 2D solid mechanics applications. Comput. Methods Appl. Mech. Engrg. 359(112667), 19 (2020). https://doi.org/10.1016/j.cma.2019.112667

    MathSciNet  MATH  Google Scholar 

  5. 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). https://doi.org/10.1142/S0218202512500492

    Article  MathSciNet  MATH  Google Scholar 

  6. 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). https://doi.org/10.1137/120874746

    Article  MathSciNet  MATH  Google Scholar 

  7. Beirão da Veiga, L., Brezzi, F., Marini, L.D., Russo, A.: The hitchhiker’s guide to the virtual element method. Math. Models Methods Appl. Sci. 24(8), 1541–1573 (2014). https://doi.org/10.1142/S021820251440003X

    Article  MathSciNet  MATH  Google Scholar 

  8. Beirão da Veiga, L., Chernov, A., Mascotto, L., Russo, A.: Basic principles of hp virtual elements on quasiuniform meshes. Math. Models Methods Appl. Sci. 26(8), 1567–1598 (2016). https://doi.org/10.1142/S021820251650038X

    Article  MathSciNet  MATH  Google Scholar 

  9. Beirão da Veiga, L., Pichler, A., Vacca, G.: A virtual element method for the miscible displacement of incompressible fluids in porous media. Comput. Methods Appl. Mech. Engrg. 375(113649), 35 (2021). https://doi.org/10.1016/j.cma.2020.113649

    MathSciNet  MATH  Google Scholar 

  10. Berrone, S., Borio, A.: Orthogonal polynomials in badly shaped polygonal elements for the virtual element method. Finite Elem. Anal. Des. 129, 14–31 (2017). https://doi.org/10.1016/j.finel.2017.01.006

    Article  MathSciNet  Google Scholar 

  11. “Bicocca Team”: Start-up pack. https://sites.google.com/view/vembic/start-up-pack?authuser=0. Accessed: 2021-10-08

  12. Brezzi, F., Marini, L.D.: Virtual element methods for plate bending problems. Comput. Methods Appl. Mech. Engrg. 253, 455–462 (2013). https://doi.org/10.1016/j.cma.2012.09.012

    Article  MathSciNet  MATH  Google Scholar 

  13. Calvo, J.G.: On the approximation of a virtual coarse space for domain decomposition methods in two dimensions. Math. Models Methods Appl. Sci. 28(07), 1267–1289 (2018). https://doi.org/10.1142/S0218202518500343

    Article  MathSciNet  MATH  Google Scholar 

  14. Calvo, J.G.: An overlap** Schwarz method for virtual element discretizations in two dimensions. Comput. Math. Appl. 77(4), 1163–1177 (2019). https://doi.org/10.1016/j.camwa.2018.10.043

    Article  MathSciNet  MATH  Google Scholar 

  15. Chen, L.: iFEM: an integrated finite element methods package in MATLAB. University of California at Irvine, Tech. rep. (2008)

    Google Scholar 

  16. Golub, G.H., Welsch, J.H.: Calculation of Gauss quadrature rules. Math. Comp. 23, 221–221 (1969). https://doi.org/10.2307/2004418

    Article  MathSciNet  MATH  Google Scholar 

  17. Herrera, C., Corrales-Barquero, R., Arroyo-Esquivel, J., Calvo, J.G.: VEM Library. www.github.com/jgcalvo/vem2d Accessed: 2021-11-01 (2021)

  18. Lepe, F., Rivera, G.: A virtual element approximation for the pseudostress formulation of the Stokes eigenvalue problem. Comput. Methods Appl. Mech. Engrg. 113753, 379 (2021). https://doi.org/10.1016/j.cma.2021.113753

    MathSciNet  MATH  Google Scholar 

  19. Ortiz-Bernardin, A.: VEMLab version 2.3. Department of Mechanical Engineering, Universidad de Chile, Santiago, Chile. Accessed: 2021-11-01 https://camlab.cl/software/vemlab (2020)

  20. Prada, D., Bertoluzza, S., Pennacchio, M., Livesu, M.: FETI-DP preconditioners for the virtual element method on general 2D meshes. In: Radu, F. A., Kumar, K., Berre, I., Nordbotten, J. M., Pop, I. S. (eds.) Numerical Mathematics and Advanced Applications ENUMATH 2017, Lect. Notes Comput. Sci. Eng., vol. 126, pp 157–164. Springer, Cham (2019)

  21. Sievers, J.: VoronoiLimit(varargin) (2019 (MATLAB Central File Exchange. Retrieved June 15, 2019.)) Accessed: 2019-06-15 . https://www.mathworks.com/matlabcentral/fileexchange/34428-voronoilimit-varargin

  22. Sutton, O.J.: The virtual element method in 50 lines of MATLAB. Numer. Algorithms 75(4), 1141–1159 (2017). https://doi.org/10.1007/s11075-016-0235-3

    Article  MathSciNet  MATH  Google Scholar 

  23. The Mathworks, I.: MATLAB version 9.8.0.1451342 (R2020a). The Mathworks, Inc., Natick (2020)

    Google Scholar 

  24. Wang, F., Zhao, J.: Conforming and nonconforming virtual element methods for a Kirchhoff plate contact problem. IMA J. Numer. Anal. 41(2), 1458–1483 (2021). https://doi.org/10.1093/imanum/draa005

    Article  MathSciNet  Google Scholar 

  25. Zhu, Y.: Auxiliary space preconditioners for linear virtual element method. In: Haynes, R., MacLachlan, S., Cai, X. C., Halpern, L., Kim, H. H., Klawonn, A., Widlund, O. (eds.) Domain Decomposition Methods in Science and Engineering XXV, Lect. Notes Comput. Sci. Eng. https://doi.org/10.1007/978-3-030-56750-7, vol. 138, pp 383–390. Springer, Cham (2020)

Download references

Acknowledgements

The authors gratefully acknowledge the institutional support for the project B8290 subscribed to the Vice-Rectory for Research, University of Costa Rica.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to César Herrera.

Ethics declarations

Conflict of interest

The authors declare no competing interests.

Additional information

Data availability

Data sharing not applicable to this article as no data sets were generated or analyzed during the current study.

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

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Herrera, C., Corrales-Barquero, R., Arroyo-Esquivel, J. et al. A numerical implementation for the high-order 2D virtual element method in MATLAB. Numer Algor 92, 1707–1721 (2023). https://doi.org/10.1007/s11075-022-01361-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11075-022-01361-4

Keywords

Mathematics Subject Classification (2010)

Navigation