# Two Techniques for Meshing Complex CAD

Geometry modeling is to meshing what turbulence modeling is to computational fluid dynamics (CFD)–a mathematically complex model of something important that we try to treat as the proverbial black box. The history of how things got this way is not the subject of this article, nor does this article consider the use of faceted geometry representations. Instead, the article summarizes two methods used in Pointwise that make your use of analytically represented geometry models (i.e. NURBS from MCAD software) as painless as possible. Specifically, you have two choices when it comes to surface meshing a geometry model. The first is mesh-centric and the second is geometry-centric. Which one you use is up to you, and you can use both on the same mesh. It is all a matter of flexibility and what works best for you and your mesh.

## Pointwise's Geometry Modeling Terminology

Database: Pointwise makes a distinction between the geometry model (what Pointwise calls the database or DB) and the mesh generated on it. The database and mesh are two completely separate classes of entities.

Connectors, Domains, and Blocks: Pointwise's mesh entities are connectors (curve meshes), domains (surface meshes), and blocks (volume meshes). Connectors and domains can adhere and conform to the database's shape.

Curves and Surfaces: Geometric representations in the most widely used mechanical computer aided design (MCAD) systems are based on mathematical representations known as NURBS: non-uniform rational B-Splines. This is also how Pointwise internally represents geometry.

Trimmed Surfaces: Curves and surfaces are further sculpted using a topological technique called trimming. For example, consider an aircraft's wing that is drawn in the MCAD software so that it pierces the fuselage. The two components' surfaces can be intersected and the intersection curve used both to cut a hole in the fuselage and cut off the portion of the wing inside the fuselage. In other words, trimming removes the unrealistic portions of the geometry.

Quilts: Trimmed surfaces are wrapped in entities called quilts. Furthermore, individual quilts can be joined together to make a composite quilt. The benefit of creating composite quilts is that they will be meshed with a single domain.

Solid Models: All of the quilts in a single body can be joined topologically to form a solid model, also known simply as a model. The adjective “solid” conveys that the entity is watertight because the seams between its constituent quilts are closed (in a topological sense). For example, a single model can be created from the union of the trimmed wing and fuselage described above. Models can be open (e.g. hemisphere) or closed (e.g. sphere).

## Two Techniques for Meshing Geometry Models

Geometry models from MCAD software are notorious for being challenging to mesh. The main sources of frustration are slight gaps and overlaps between geometrically adjacent surfaces. Suffice it to say, these gaps can be a result of representation, translation, and/or tolerance differences between the MCAD software and mesher. Most importantly, these gaps can be large relative to the surface mesh cell size and the size of the first off-body cell (the latter especially so for viscous simulations).

With database gaps in mind, the challenge becomes one of generating a surface mesh in which all the domains are connected and watertight such that they form the foundation for volume meshing. Two techniques available to you in Pointwise are known as Fault Tolerant Meshing and Solid Meshing. The former is a mesh-centric technique that deals explicitly with the gaps. The latter involves creating a solid model from the database which deals implicitly with the gaps.

## Fault Tolerant Meshing

The Fault Tolerant Meshing approach uses the database as imported; you do not have to modify it in any way. In the case of the reusable launch vehicle (RLV) shown in Figure 1, each surface denoted by the black outlines is imported as a single quilt as shown by the color coding in Figure 2.

For demonstration purposes, only the nose of the RLV is meshed using the Delaunay unstructured technique. There is a 1-to-1 correspondence of domains to quilts with the resulting meshes shown in Figure 3.

The seven domains in Figure 3 cannot be used as the face of a block because they do not connect. They do not connect because the domains have inherited the gaps between the underlying quilts in the database. This cannot be detected visually in the figure but Pointwise has a tool for revealing those gaps.

The Merge command in the Grid menu provides several methods for identifying and merging connectors across gaps in the geometry model. When Merge is invoked for the mesh in Figure 3, the result is shown in Figure 4 where the colors indicate connector usage as follows.

• Cyan means the connectors are manifold; they are used by two domains. This is exactly what you would expect to see between adjacent surface domains.
• Red connectors are free; they are used only once or not at all. You would expect to see this for connectors around the perimeter. But the two red connectors on the interior of this surface mesh indicate problems.
• Yellow connectors are non-manifold; they are used by three or more domains. There are none in this example.

Merge has identified two locations where adjacent domains do not connect because of a gap in the underlying database. But Merge is more than a visualization tool; it gives you three methods for fixing this problem.

• Auto Merge: You enter a tolerance within which connectors are to be considered equivalent and the Merge command does the rest for you automatically and globally. Automatic merging performed in an iterative manner so that merging small gaps is not unnecessarily influenced by a large gap.
• Merge by Picking: You select the two connectors to be merged. This is done without specifying a tolerance so you can close the gap no matter what.
• Merge Pairs of Entities: Because Merge does not work only on connectors, you enter a tolerance and whether you want to merge pairs of connectors, pairs of nodes, or a connector and a node. For a connector and a node, imagine two connectors forming the shape of an uppercase T.

In Figure 5, Merge Pairs of Entities is shown being used to merge the free connectors in Figure 4. The result is a watertight collection of domains that adhere to the database despite its gaps and are ready for use in a volume mesh.

## Solid Meshing

In the Solid Meshing technique, you assemble the database into a solid model so that it is topologically watertight; hence the name, Solid Meshing. Referring back to the RLV geometry in Figure 2, the colors not only indicate the quilt topology but also the default model topology. The entire geometry model consists of 33 model entities, each with one quilt. With 33 individual models, it is no surprise that the geometry is not watertight, as indicated by the mesh in Figure 4.

Therefore, the first step in Solid Meshing is to assemble the 33 models into a single model using the Assemble Models command in the Create menu. While the Assemble Models command includes many options to control how it works, the RLV geometry can be assembled into a single, watertight solid with a single click of a toolbar button. The resulting model is shown in Figure 6.

You can verify the geometry model is watertight by meshing the nose region as before and using Merge to visualize the connector topology and look for free connectors. As shown in Figure 7, the only free (red) edges are the ones around the perimeter; all internal edges are manifold (cyan) meaning the domains are all properly connected.

## Meshing Quilts Within A Model

Use of Solid Meshing has a second benefit that is as beneficial as creating watertight geometry. Because meshing generates one domain per quilt and because a quilt can be an assemblage of multiple quilts, you can generate a domain topology that is much simpler than the geometry model’s topology. For example, consider the quilts on the RLV's nose shown in Figure 8.

Suppose that the mesh needed to preserve the fore-to-aft feature line that runs from the nose, aft between the red and purple surfaces and then between the green and blue surfaces. The Assemble Quilts command in the Create menu can be used to create two composite quilts: one for the lower and upper regions of the nose as illustrated in Figure 9. All that is involved in assembling quilts is to select them and press a single toolbar button.

With the new quilt topology assembled, the resulting surface mesh consists of the two domains shown in Figure 10. Note that the upper domain's mesh includes no artifacts of the underlying component quilts (i.e. the black lines within the purple composite quilt in Figure 9).

It is important to note that quilts should be assembled in a manner such that hard edges and feature lines (in other words, places where there are slope discontinuities) are along the perimeter of the quilt. If not, those features will be faired-over by the mesh when it is likely they need to be resolved explicitly. Robustness of quilt meshing is also enhanced by assembling them such that their collective normal vectors generally point in the same direction.

## Automatic Quilt and Model Assembly

As mentioned previously, the Solid Meshing technique involves assembling models and quilts before you start meshing. Fortunately, this step can be performed automatically during database import. By specifying just two parameters you can have a solid model of your database automatically assembled with quilts assembled to follow feature lines in the geometry.

Figure 11 shows the two parameters for automatic solid model assembly during database import. The Model Assemble Tolerance can be thought of as the largest gap you will allow in the database. Any gaps below this value will be considered to be zero. Specifying something here will assemble as many models as possible upon import.

The Quilt Assemble Angle is the relative turning angle of the normal vectors at the shared edge of two quilts. Turning angles above the value you specify (i.e. what will likely represent hard edges or feature lines in the geometry model) will be preserved. Adjacent quilts with relative turning angles at their common boundary that are lower than the value specified will be assembled into a composite quilt.

## Which Technique to Use

The relative benefits of Solid Meshing are:

• You only have to assemble the model and quilts once, at the beginning of your project.
• Model and quilt assembly can be done automatically during import.
• Assembling composite quilts gives you the ability to simplify your mesh's topology relative to the database topology.

The relative benefits of Fault Tolerant Meshing are:

• There's no up-front preparation involved.
• Merging lets you be quite explicit in how entities are merged and where.

## Try Pointwise on Your Geometry Models

Request a no-cost, no-obligation trial license of Pointwise and see how Fault Tolerant Meshing and Solid Meshing address the challenges of meshing your geometry models.