Surface Wrapping for Simulation
Introduction
In the global marketplace, development of a highly technological object (like skyscraper or airplane) involves a collaboration of a large set of sub-contractors: designers, CAD-engineers, specialists in numerical simulations, specialists in field tests and so on. Usually, these sub-contractors are different companies who provide their own production processes and standards. Thus, the development workflow requires an intensive exchange of data in a neutral format. Regarding the CAD industry, the most widespread formats are STEP and IGES for the precise geometry and STL (stereolithography) for meshes.
Typical engineering workflow from an idea to production.
Mesh data is commonly used in such industries as computational fluid dynamics, additive manufacturing, medicine, geology, and architecture. The input data may originate from modeling systems that output STL files or directly from scanning devices. The STL format describes a 3D object as a collection of triangles with no explicit topology information (i.e., there are no such entities as parts, bodies, faces, etc.). Because mesh data is an approximated representation of an object, there are often imperfections in the data which may become a showstopper for many downstream workflows. These imperfections can include missing triangles, overlapping zones, self-intersections, and you never know what else. In the worst case, your model becomes inapplicable for the downstream use. All of these potential issues with imported tessellated data make healing mandatory. Generally, specific tools are used at the pre-processing stage to avoid imperfections and to provide adequate mesh for further analysis. There are two possible approaches to healing:
- Local healing to accomplish fine-grained data modifications in specific areas. This approach requires user interaction across hundreds of thousands of triangles. The major drawback to this method is its inherent complexity and lack of automation.
- Global (automatic) healing, the approach taken by OPEN CASCADE. The primary method is the shrink-wrapping procedure that provides a powerful pushbutton solution.
Shrink wrapping
The solution offered by OPEN CASCADE for construction of a simulation-ready mesh is the Surface Wrapping library. Our solution is designed to generate watertight mesh near the input "dirty" tessellation. The Surface Wrapping technology operates in either inner or outer mode. The outer wrapping mode produces a watertight shell covering the exterior of the input geometry. The inner wrapping mode is designed to envelop the models placed within a bounding volume. For example, it is well suited for the models positioned within a wind tunnel.
Outer wrapping. |
Inner wrapping. |
The coarseness of the wrapped model is controlled by the cell size parameter which limits the minimal scale of triangles in the result.The wrapped mesh consists of elements of variable size. For example, the flat areas of input mesh will be wrapped by larger triangles in the interior and smaller triangles near the boundary.
Wrapping process
The wrapping procedure performs the following steps to construct a watertight mesh:
- Cartesian wrapping (voxelization).
- Mesh transformation to follow the original geometry (projection).
- Mesh quality optimizations (refinement).
Each step produces a watertight mesh with various accuracy. Cartesian wrapping step produces a watertight shell of elements parallel to coordinate axes.
Voxelization stage for converting the original model to a Cartesian grid.
Mesh transformation moves the mesh nodes to place them as close to the original triangulation as possible.
Projection stage.
After such transformation, the skewness property of the resulting mesh is usually not sufficient. Thus, an extra mesh optimization step is employed to improve the skewness by applying a customizable set of local operators. The refinement operators include Laplacian smoothing, edge flip, face collapse, etc.
Refinement operators
The Surface Wrapping library furnishes a set of local operators aimed at improving the mesh quality:
- Collapse edges shorter than the given threshold.
- Collapse narrow faces whose skewness is greater than the given threshold.
- Swap edge shared by a pair of triangles to minimize the local skewness.
- Fix self-intersected area of the mesh.
- Smoothing by iteratively moving the mesh nodes hence eliminating local folds and refining skewness.
Collapse edge. |
Collapse face. |
Swap edge. |
Fix self-intersections. |
Smoothing. |
Examples
The following examples illustrate all the steps being passed by the wrapping workflow.
Input car model (courtesy of Pragnesh Patel via GrabCAD).
The voxelization step produces an adaptive mesh whose elements are parallel to the global coordinate planes:
Car model after voxelization.
The mesh transformation step provides a tessellation wrapping the original model:
Car model after projection.
The following animation illustrates the different stages of the wrapping procedure on another model for various cell sizes (color map denotes aspect ratio of mesh elements):
Wrapping fighter plane model (courtesy of Chris Shakal via GrabCAD).
Try out Surface Wrapping
The Surface Wrapping module is currently available as a part of our CAD Processor software: https://www.opencascade.com/content/cad-processor
Surface Wrapping in CAD Processor.