********************************
**** ViennaGrid Change Logs ****
********************************
*** Version 2.x.y ***
-- Version 2.1.0 --
In addition to the usual internal improvements, this minor version updates brings a couple of new features and a change of one header file location:
- scale(): Moved from file viennagrid/algorithm/scale.hpp to viennagrid/algorithm/geometric_transform.hpp.
- Refinement: Added support for specifying the location of the new vertex for each edge to be refined.
- Refinement: Added optional vertex copy map, which returns the new vertex in the refined mesh given a vertex from the original mesh.
- Refinement: Added refinement towards a hyperplane, so that no element of the refined mesh is intersected by the hyperplane.
- Added thin mesh configurations, where only the cells and the vertices are stored. This leads to a much lower memory footprint provided that edges, facets, etc. are not needed.
- Added segmented_mesh class, which encapsulates one mesh and an associated segmentation.
- Added support for named segments. Rather than only providing a numeric ID, segments can be identified by a string.
- Removed plc_2d_* typedefs since they might cause confusion. Introduced boundary representation typedefs brep_*d_* instead.
- IO: Added reader for .bnd files, which are created by Synopsys tools.
- IO: Added reader for .tess files (produced by Neper polycrystal generation and meshing library).
- IO: Added writer for .mphtxt files (consumed by COMSOL).
- IO: Added preliminary writer for .vmesh legacy files.
- IO: VTK writer now writes only one .vtu file if the segmentation is empty or only one segment is present.
- Added convenience routine for copying elements based on an element iterator range or element handle iterator range.
- Algorithms: Added boundary/hull extraction.
- Algorithms: Generalized geometric transformations (scale, affine transform).
- Algorithms: Added bounding box computation, normal vector computation, and determinant of points/vectors.
- Algorithms: Added inclusion tests for points inside triangles or tetrahedra.
- Algorithms: Added distance between segment boundary and line.
- Bugfix: Fixed logic error in computation of Voronoi quantities.
- Bugfix: Compilation error for closest_point() for boundary distance.
- Bugfix: Element handles were not resolved correctly when elements were deleted from a mesh.
-- Version 2.0.0 --
The ViennaGrid internals have been completely redesigned for higher flexibility.
Some rather significent adjustments to the user API were necessary.
- Renamed the old domain_t to mesh in order to avoid ambiguities with the mathematical problem domain.
- Replaced viennagrid::ncells<>() with viennagrid::elements<>() to obtain range objects.
- As a consequence of moving away from ncells<>, now element tags are used instead of the topologic dimension to select elements.
- Added support for two dynamic element types: polygon and PLCs.
- Added support for neighbor iteration. This way one no longer needs to code the boundary/coboundary iterations by hand.
- Added support for multiple segmentations. This is a generalization of the old segment concept, where elements could be part of at most one segment.
- New algorithms: angles, intersection, scaling, seed point segmenting.
- Accessors are now consistently used for accessing quantities rather than ViennaData. This makes the implementation more generic and provides better support for user storage.
- New storage layer, re-wrote most of the internals.
*** Version 1.0.x ***
-- Version 1.0.1 --
This is a maintenance release, mostly fixing minor compilation problems on some compilers and opererating systems. Other notable changes
- Added distance() function for computing the distance between points, cell, etc.
- Voronoi quantities can now also be accessed in a more fine-grained manner: Volume and contributions for each cell attached to a vertex or edge.
- Added quantity transfer: Interpolates quantities on a $m$-cells can be transferred to $n$-cells. Both $mm$ are supported.
-- Version 1.0.0 --
First release