2021.11

#### 6.3Automatic creasing of U-splines

Preliminary definitions:

• An extraordinary vertex on a 2D mesh is any interior vertex adjacent to three edges, or more than four edges, or any boundary vertex adjacent to more than three edges. Similarly in 3D, an extraordinary edge is any edge adjacent to three faces, or more than four faces, or any boundary edge adjacent to more than three faces.

• A regular vertex is any interior vertex adjacent to exactly four edges, or any boundary vertex adjacent to exactly two or exactly three edges.There is a similar definition for edges in 3D.

• A continuity transition on a 2D mesh occurs at any regular vertex where the two edges on opposite sides of the vertex are assigned different continuities. A continuity transition on a 3D mesh occurs at any regular edge where the two faces on opposite sides of the edge are assigned different continuities.

The build uspline command allows users to specify the base degree and continuity to be uniformly applied to the input mesh in the construction of the U-spline.

However, because mesh continuity must conform to certain conditions in order for the mesh to be admissible, the user-prescribed continuity is subject to automatic, mandatory adjustments on some interfaces. These adjustments are made when necessary to ensure mesh admissibility and the local linear independence of the resulting U-spline basis functions.

In particular, the U-spline algorithm will automatically perform the following operations to ensure a U-spline mesh is admissible.

1. Creasing of extraordinary vertices

2. Continuity grading near creased vertices

3. Maintaining distance between perpendicular continuity transitions

Each of these is explained in detail below. Descriptions are given for the 2D case, but equivalent operations apply in 3D as well.

##### 6.3.1Creasing of extraordinary vertices

In order for a U-spline mesh to be admissible, all edges directly adjacent to an extraordinary vertex must be creased—that is, their interface must be set to $C^{0}$ continuity. An algorithm in Coreform Cubit performs additional creasing to ensure all edges directly adjacent to an extraordinary vertex are set to $C^{0}$ .

##### 6.3.2Continuity grading near creased vertices

Continuity transitions in the mesh must conform to certain conditions in order for the mesh to be admissible. One of these conditions applies to creased vertices.

A creased vertex is any vertex (whether an extraordinary vertex or a regular vertex) such that all edges immediately adjacent are creased to $C^{0}$ .

CONDITION: On a mesh with a maximum continuity of $C^{ p - 1}$, an edge n bays away from a creased vertex must be assigned a continuity less than or equal to $C^{n}$, on the line of edges emanating radially outward from the creased vertex.

If any of the edges in the neighborhood of a creased vertex are assigned a continuity that violates this condition, Coreform Cubit’s creasing algorithm will adjust the continuity of these edges as needed to enforce compliance.

Two examples of meshes with continuity grading near creased vertices are seen in figure 471 .

Figure 471: Two admissible meshes with creased vertices. The continuities of the edges on the lines emanating from the creased vertices are graded such that an edge n bays away from the creased vertex is assigned a continuity less than or equal to $C^{n}$.

##### 6.3.3Maintaining distance between perpendicular continuity transitions

Continuity transitions along perpendicular edge lines are required to maintain a sufficient distance from each other, as dictated by the degree and continuity on the mesh.

This distance is measured by drawing a line called a ray from the continuity transition in the direction of lower continuity. The length of a ray is determined by the degree and continuity on the mesh near the ray. On a mesh with a maximum continuity of $C^{ p - 1 }$ , the length of the ray will not exceed the prescribed degree p on the mesh (but may be shorter if a creased edge is encountered) .

The rays emanating from two perpendicular continuity transitions may not meet or intersect except when the intersection is tail-to-tail or head-to-tail. An algorithm in Coreform Cubit will analyze the input mesh and detect any pair of continuity transitions that have intersecting rays. The algorithm will then crease edges near these continuity transtions to shift the transition locations away from each other to resolve the issue.

An example of automatic creasing to avoid crossing continuity transition rays is seen in figure 472 .

Figure 472: The mesh on the left is not admissible because two perpendicular continuity transitions are close enough that their rays intersect (in this case, they meet head-to-head which is disallowed). On the right, two additional edges are creased in the mesh so that the rays now meet tail-to-tail, forming an admissible mesh configuration.

##### 6.3.4Global creasing options

The command for building a U-spline in Coreform Cubit includes the option {creasing, which can take values of minimal or full. The default value is minimal..

When the creasing option is set to full, the U-spline will be creased to remove all continuity transitions. If, after the additional set of edges specified by the user are creased and after the edges adjacent to extraordinary vertices are creased, there are still continuity transitions in the mesh, an algorithm in Coreform Cubit will perform additional creasing to ensure each line of edges are assigned the same continuity—thus removing all continuity transitions from the mesh.

Because all continuity transitions will be removed, the issue of continuity grading near creased vertices and intersecting continuity transition rays is avoided, albeit at the cost of possibly creasing a much larger set of edges on the mesh.

An example of a mesh with all continuity transitions removed is seen in figure 473.

Figure 473: The mesh on the left includes two user-specified edges which were creased to $C^{0}$. If, however, the flag creasing is set to full, additional creasing will automatically be applied to remove all continuity transitions, as seen on the right.

##### 6.3.5Automatic minimal creasing example on a Cubit mesh

To see automatic creasing at work on a relatable example, observe the mesh shown on the left in figure 474. All cells in this mesh are quadratic p = 2, and all edges were initially set to a continuity of $C^{1}$.

On the right, the thicker black lines indicate the default minimal creasing that will be automatically performed around the mesh’s four extraordinary vertices in order to render it admissible.

Figure 474: An example Cubit mesh. The cells are quadratic (p = 2), and all edges are initially set to $C^{1}$ continuity. All extraordinary vertices are always automatically creased to $C^{0}$.

##### 6.3.6Automatic full creasing on a Cubit mesh

If the option creasing is set to full, then continuity transitions are disallowed in the mesh, requiring all edge-lines to have the same continuity.

Figure 475 depicts the further automatic creasing performed when creasing is changed from the default minimum to full. This option creases not only the twelve edges that touch an extraordinary vertex, but also every edge-line that adjoins a creased edge.

Figure 475: If the option creasing is set to full, we see that all edge-lines originating at the extraordinary vertices will be automatically creased to remove all continuity transitions from the mesh.

##### 6.3.7Automatic full creasing with user-specified creased edges

The creasing full procedure described above applies not only to the default creasing required for admissibility, but also to any additional, user-specified creasing. That is, if a user causes additional edges to be creased, the creasing full option will automatically crease all edge-lines adjoining these user-creased edges as well.

The results of full creasing are shown in figure 476. The meshes on the left each feature one user-specified creased edge beyond the minimal default required around extraodinary points.

The images on the right show the subsequent, additional creasing automatically performed when the creasing full option is selected and the creasing of all edge-lines adjoining creased edges is enforced.

##### 6.3.8Automatic minimial creasing with user-specified creased edges

Figure 476: Examples of automatic creasing when the option creasing is set to full in cases where extra edges were initially creased by the user. On the left are the meshes prior to enforcing the creasing option, and on the right are the meshes after the extra edges are automatically creased.

Finally, figure 477 shows a case where user-specified creasing results in additional automatic creasing when the creasing option is set to minimal.

In the center image, the circled vertices show where the user-creased edges has resulted in perpendicular continuity transition rays that are intersecting in a way that is not admissible, as explained above in Maintaining distance between perpendicular continuity transitions. The image to the right shows one possible way the minimal automatic creasing algorithms may resolve this problem.

Figure 477: An example of automatic creasing when the option creasing is set to minimal and the user has specified additional edges to be creased in a way that resulted in an inadmissible configuration. On the left we see the mesh after the extraordinary vertices are creased and the extra edges specified by the user are creased. In the middle the vertices where admissibility violations are occuring (due to intersecting continuity transition rays) are circled. On the right we see one possible resolution to the issue, resulting in an admissible mesh.

##### 6.3.9.1build uspline crease group

A tolerance is available to specify a norm difference in normal vector on either side of the curve to determine if a curve is on a kinked surface.

[build] uspline crease group [tolerance <real>tol]

Remark: If the tolerance keyword is not supplied, a default value of 10-3 is used.