About ViennaGrid
Various areas impose a broad range of different requirements on a mesh library, which certainly cannot be fulfilled by a single, predetermined datastructure. ViennaGrid employs a highly configurable internal representation of meshes, while providing a uniform interface for the storage and access of data on mesh elements as well as STL-compatible iteration over such elements.
A non-exhaustive list of features is as follows:
- Open source library written in C++ using modern template metaprogramming techniques for highest usability without sacrificing performance
 - Header-only library for simple integration to existing projects
 - No external dependencies
 - Multi-dimensional (in particular 1d, 2d and 3d) management of unstructured grids
 - Arbitrary iterations over mesh elements (vertices, edges, faces, etc.)
 - Support for triangular, quadrilateral, tetrahedral and hexahedral meshes in arbitrary dimensions
 - Support for piecewise linear complexes (PLCs)
 - Highly customizable internal datastructure. A user has fine-grained control over the internal data structures of ViennaGrid in order to optimize the performance and/or memory footprint for a particular application
 - Triangular and tetrahedral mesh refinement
 - Computation of Voronoi diagrams for Delaunay meshes
 - Reader for Neper, Netgen, Tetgen, Synopsys .bnd, and VTK files
 - Writer for COMSOL .mphtxt, OpenDX and VTK (Paraview)
 - Permissive MIT/X11 license
 


