User login

Navigation

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: https://www.researchgate.net/publication/319057392_Veamy_an_extensible_object-oriented_C_library_for_the_virtual_element_method


Click here to get and browse the source code

 

-A.

Comments

Alejandro Ortiz-Bernardin's picture

Unicorn

Veamy v1.1.1 is out. 

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

http://camlab.cl/research/software/veamy/

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.

Features:

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.
Alejandro Ortiz-Bernardin's picture

Veamy v2.0 is out.

http://camlab.cl/research/software/veamy/

Veamy 2.0 (23-Jan-2018)

 From Veamy v1.1.1 to Veamy 2.0:

  • Add documentation to the source code.
  • Implement VEM for the two-dimensional Poisson problem.
  • Implement Feamy, a FEM module that uses three-node triangular finite elements for the solution of the two dimensional linear elastostatic problem.
  • Add methods to compute the L2-norm and H1-seminorm of the error.
  • Improve the in-built polygonal mesh generator.
  • Change to Eigen’s sparse solver for the solution of the system of linear equations.
  • Add additional test files.
  • New simplified methods to impose essential and Neumann boundary conditions.
  • Fix several bugs.

From Veamy 1.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
Subscribe to Comments for "Veamy: an extensible object-oriented C++ library for the virtual element method"

Recent comments

More comments

Syndicate

Subscribe to Syndicate