User login

You are here

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

Alejandro Ortiz-Bernardin's picture

This paper summarizes the development of an object-oriented C++ library for the virtual element method (VEM) named Veamy, whose modular design is focused on its extensibility. The two-dimensional linear elastostatic problem has been chosen as the starting stage for the development of this library. In contrast to the standard finite element method, the VEM in two dimensions uses polygonal finite element meshes. The theory of the VEM in which Veamy is based upon is presented using a notation and a terminology that is commonly found in the finite element literature, thereby allowing potential users that are familiar with finite elements to understand and implement the virtual element method under the object-oriented paradigm. A complete sample usage of Veamy is provided for a cantilever beam subjected to a parabolic end load. A displacement patch test is also solved using Veamy. A third example features the interaction between Veamy and the polygonal mesh generator PolyMesher. Step-by-step guidelines for the implementation of a problem that is currently not available in Veamy (the two-dimensional Poisson problem) are also provided. The source code is made freely available so that interested users can make free use of it, and possibly, extend Veamy to a wider class of problems. 

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

Available from:

Click here to get and browse the source code




Alejandro Ortiz-Bernardin's picture


Veamy v1.1.1 is out. 

Download the source code + Veamy Primer v1.1 (PDF Manual):

From Veamy v1.0 to Veamy v1.1.1:

  • Add documentation.
  • Add method to include custom precision for printing output data.
  • Add plane stress material formulation.
  • Update installation instructions.
  • Include more tests and mesh examples.
  • Fix several bugs.


Free and open source C++ library that implements the virtual element method. The current release of this library allows the solution of 2D linear elastostatic problems.

  • Includes its own mesher based on the computation of the constrained Voronoi diagram. The meshes can be created in arbitrary domains, with or without holes, with procedurally generated points.
  • Meshes can also be read from OFF-style text files (an example can be found in the test folder).
  • Allows easy input of boundary conditions by constraining domain segments and nodes.
  • The results of the computation can be either written into a file or used directly.
  • PolyMesher meshes and boundary conditions can be read straightforwardly in Veamy to solve 2D linear elastostatic problems.
Subscribe to Comments for "Veamy: an extensible object-oriented C++ library for the virtual element method"

Recent comments

More comments


Subscribe to Syndicate