Description

ViennaMesh is based on a set of mesh related tools and algorithms for generation, adaptation, and classification. Due to the diversity of the input geometries there is no global optimal tool chain which results in high-quality meshes for all different input meshes. The student should investigate a generic algorithm to find an optimum for the mesh generation tool chain in regard to arbitrary coupled properties, for example, reducing the mesh element size by simultanously increasing the mesh quality.

Benefit for the Student

The student will get a deep understanding of the different interfaces of meshing kernels and gain experience in developing a common, unified interface for these. Moreover, C++ skills will be polished considerably during the project.

Benefit for the Project

ViennaMesh will become simpler and more convenient to use for library users. In particular, a manual search for optimal parameters by trial and error will be replaced by automatic methods.

Requirements

Aside from skills in generic programming in C++ the student should have some basic experience with certain Boost Libraries, like Fusion and MPL. Techniques like, Traits, Tag Dispatching, and basic Meta-Programming skills are required.

Mentors

Josef Weinbub, Karl Rupp