An Overview of the Simplicial Mesh Package.

Introduction.

This package contains a suite of hill-climbing methods for mesh optimization. That is, each method sweeps over the mesh, investigating local changes. If the proposed transformation locally improves the quality of the mesh, then the change is accepted. The local changes are comprised of geometric transformations (moving vertices) and topological transformations (changing the connectivities).

There are also refinement and coarsening capabilities. Refinement is done with edge splitting; coarsening with edge collapse. These are used for error control and efficiency, respectively.

A feature-based representation of the boundary is used in many of the mesh optimization algorithms. For a 3-D mesh, the boundary is represented as a triangle mesh that has surface features, edge features, and corner features. Sharp edges and corners are preserved as nodes are moved and cells are modified.

One can use either an explicit (parametric) or an implicit (level set) description of the boundary. The explicit description is useful for moving points along the boundary. For the level set description, the boundary is stored in a bounding box tree, which supports efficient minimum distance queries. In this manner the distance to the boundary and the closest point on the boundary may be determined for any point in space. This representation of the boundary enables moving nodes onto the boundary.

Algorithms.

The following algorithms are currently implemented in 2-D and 3-D.

Data Structures.

There are mesh data structures for both static topology and dynamic topology. (See the data structures page for details and comparisons.) The static topology data structures (geom::IndSimpSet and geom::IndSimpSetIncAdj) are used in geometric optimization, the level set capability, and boundary description. The dynamic topology data structure (geom::SimpMeshRed) is used in topological optimization, refinement and coarsening. The data structures are light-weight, and flexible. The space dimension, simplex dimension (triangle, tetrahedron, etc.), as well as the node and element types are specified as template parameters. We anticipate that these data structures will be sufficient for future algorithmic development.

The boundary manifold data structures are geom::PointsOnManifold<3,2,1,T> and geom::PointsOnManifold<N,1,1,T>, for 3-D and 2-D, respectively. They capture the features of the boundary. In 3-D, the boundary has surface, edge, and corner features. Nodes may be moved along the boundary, inserted in the boundary, or deleted from the boundary.

Future Work.

Generated on Thu Jun 30 02:14:57 2016 for Computational Geometry Package by  doxygen 1.6.3