Next Article in Journal
SEP-HMM: A Flexible Hidden Markov Model Framework for Asymmetric and Non-Mesokurtic Emission Patterns
Previous Article in Journal
Preface to the Special Issue on “Advanced Computational Methods for Fluid Dynamics and Applications”
Previous Article in Special Issue
A Numerical Investigation of Plastic Energy Dissipation Patterns of Circular and Non-Circular Metal Thin-Walled Rings Under Quasi-Static Lateral Crushing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Automatic Generation of T-Splines with Extraordinary Points Based on Domain Decomposition of Quadrilateral Patches

by
João Carlos L. Peixoto
1,
Rafael L. Rangel
2 and
Luiz Fernando Martha
1,*
1
Department of Civil and Environmental Engineering, Pontifical Catholic University of Rio de Janeiro (PUC-Rio), R. Marquês de São Vicente, 225, Gávea, Rio de Janeiro 22451-900, RJ, Brazil
2
Department of Civil Engineering & Management, Faculty of Engineering Technology, University of Twente, Drienerlolaan 5, 7522 NB Enschede, The Netherlands
*
Author to whom correspondence should be addressed.
Mathematics 2026, 14(3), 392; https://doi.org/10.3390/math14030392
Submission received: 24 December 2025 / Revised: 20 January 2026 / Accepted: 20 January 2026 / Published: 23 January 2026
(This article belongs to the Special Issue Numerical Modeling and Applications in Mechanical Engineering)

Abstract

Isogeometric analysis (IGA) is a numerical methodology for solving differential equations by employing basis functions that preserve the exact geometry of the domain. This approach is based on a class of mathematical functions known as NURBS (Non-Uniform Rational B-Splines). Representing a domain with NURBS entities often requires multiple patches, especially for complex geometries. Bivariate NURBS, defined as tensor products, enforce global refinements within a patch and, in multi-patch models, these refinements are propagated to other model patches. The use of T-Splines with extraordinary points offers a solution to this issue by enabling local refinements through unstructured meshes. The analysis of T-Spline models is performed using a Bézier extraction technique that relies on extraction operators that map Bézier functions to T-Spline functions. When generating a T-Spline model, careful attention is required to ensure that all T-Spline functions are linearly independent—a necessary condition for IGA—in order to form T-Splines that are suitable for analysis. In this sense, this work proposes a methodology to automate the generation of bidimensional unstructured meshes for IGA through T-Splines with extraordinary points. An algorithm for generating unstructured finite element meshes, based on domain decomposition of quadrilateral patches, is adapted to construct T-Spline models. Validation models demonstrate the methodology’s flexibility in generating locally refined isogeometric models.

1. Introduction

Isogeometric analysis (IGA) is an advanced numerical technique that has recently gained significant attention and is increasingly being applied across various fields, including mechanical and civil engineering [1], aerospace engineering [2], computational biology [3,4], and the automotive industry [5]. Originally developed by Hughes et al. [6], IGA was proposed as an alternative to the traditional Finite Element Method (FEM) [7]. The primary advantage of IGA is its ability to unify Computer-Aided Design (CAD) and analysis systems, thereby integrating both modeling and simulation processes and ensuring that changes in one system are automatically reflected in the other [1]. This methodology utilizes Non-Uniform Rational B-Splines (NURBS), a class of mathematical functions, to accurately represent the model’s geometry. These same functions are also used to approximate the field variables of the analysis. As a result, this method reduces mesh approximation errors as the geometry is precisely maintained throughout the simulation. Therefore, IGA is particularly well-suited to problems involving complex geometries, for which FEM mesh generation is a meticulous, time-consuming process [6].
Bivariate NURBS surfaces are widely used in CAD due to their robustness in representing quadrilateral domains. These surfaces can be generated by defining four boundary curves using a NURBS Coons surface approach, which is particularly appealing for creating two-dimensional surfaces intended for IGA based solely on curve modeling. However, this method has a significant limitation: opposite boundary curves must share the same knot vectors. While refinement techniques—such as degree elevation and knot insertion—enable surface generation from these curves, they are applied globally. Therefore, an inherent constraint of NURBS is that it allows only global refinement across the entire domain, thereby precluding refinement of localized regions [8].
The limitation of local refinements is effectively addressed by T-Splines [9,10]—a generalization of NURBS—by introducing the concepts of T-Junctions and extraordinary points. Scott et al. [11] examined the application of T-Splines to IGA using a technique called Bézier extraction. This technique defines an operator capable of mapping Bézier functions to either NURBS [12] or T-Splines [11], therefore facilitating the adaptation of FEM algorithms to incorporate isogeometric analysis [11,12]. In this regard, a notable advancement associated with T-Splines is their ability to generate unstructured isogeometric meshes using extraordinary points, as detailed in Scott’s work [13].
Recent studies have highlighted the potential of T-Splines with extraordinary points in applications such as Kirchhoff–Love shell plates [14]. Notably, isogeometric analysis combined with Boundary Element Methods using unstructured T-Splines has been developed to effectively handle three-dimensional problems [15]. Additionally, research has focused on converting existing unstructured quadrilateral meshes into T-Splines [16,17]. An alternative approach for the automatic generation of unstructured meshes is the algorithm created by Barroso et al. [18,19], which is based on rational Bézier triangles. However, despite these recent advancements, generating analysis-ready T-Splines with extraordinary points for quadrilateral patches from boundary curves—similar to the NURBS Coons surface approach—without relying on converting FEM meshes or strict compatibility constraints remains uncharted territory.
In this context, this work proposes a methodology for automatically generating unstructured isogeometric meshes in two dimensions using T-Splines with extraordinary points [20]. The foundation for generating these T-Splines is the domain decomposition algorithm developed by Miranda and Martha [21], which is based on an automatic quadrilateral-patch decomposition and enables the generation of structured quadrilateral meshes through the use of a conventional mapping strategy in each subdomain. Miranda and Martha’s original work focused on creating unstructured meshes for finite element analysis by specifying the number of subdivisions along each patch boundary edge. The present study adapts their isogeometric analysis approach to ensure that all generated T-Splines yield linearly independent basis functions, which are essential for their effective application in numerical simulations. The proposed methodology offers a more flexible and adaptable geometric representation, addressing the limitations of conventional structured meshes while incorporating principles of isogeometric analysis.
This article is divided into five sections, with the remainder organized as follows: Section 2 introduces the preliminary concepts of B-Splines, NURBS, T-Splines, and the Bézier extraction technique, which are fundamental to the proposed approach. Section 3 presents the proposed methodology for automatically generating T-Splines for unstructured meshes in IGA. Section 4 provides an established numerical example modeled according to the presented method. Lastly, Section 5 presents concluding remarks and offers suggestions for future developments.

2. Preliminary Concepts

2.1. B-Splines

The definition of B-Spline basis functions is established through a knot vector; that is, a sequence of non-negative parametric coordinates arranged in ascending order. A knot vector has the form Ξ = ξ 1 , ξ 2 , , ξ n + p + 1 , where n represents the total number of basis functions, p is the polynomial degree, and ξ is the knot of index i = 1 , 2 , , n + p + 1 . A knot vector may contain repeated values, with the number of repetitions of a knot value referred to as its multiplicity. Specifically, open knot vectors are those with the first and last knots having a multiplicity of p + 1 . Open knot vectors are standard in both CAD systems and IGA. A knot vector can also be called uniform if the interior knots have a multiplicity of 1.
The formulation of B-Spline basis functions was originally proposed by Cox [22] and de Boor [23]. For p = 0 , the basis functions are determined by a constant piecewise equation:
N i , 0 ξ = 1 if   ξ i ξ ξ i + 1 0 Otherwise .
For p > 0 , the following recursive formula is employed:
N i , p ξ = ξ ξ i ξ i + p ξ i N i , p 1 ξ + ξ i + p + 1 ξ ξ i + p + 1 ξ i + 1 N i + 1 , p 1 ξ .
A B-Spline curve is constructed through a linear combination of a set of B-Spline basis functions N i , p i = 1 n , defined by the knot vector Ξ = ξ 1 , ξ 2 , , ξ n + p + 1 and a set of control points P i . The expression for the B-Spline curve is given by
C ξ = i = 1 n N i , p ξ P i .
A B-Spline tensor product surface is created using two sets of basis functions: the first set, N i , p i = 1 n , for the parametric direction ξ , formed by the knot vector Ξ = ξ 1 , ξ 2 , , ξ n + p + 1 ; and the second set, M j , q j = 1 m , for the parametric direction η , defined by the knot vector H = η 1 , η 2 , , η m + q + 1 . These functions are combined with a set of control points P i , j , also known as a control net. The expression for the B-Spline surface is then defined as follows:
S ξ , η = i = 1 n j = 1 m N i , p ξ M j , q η P i , j .

2.2. Non-Uniform Rational B-Splines (NURBS)

NURBS entities are formulated by assigning specific weights to each control point. These weights are utilized to derive rational basis functions, which can be mathematically represented as
R i , p ξ = N i , p ξ w i i ^ = 1 n N i ^ , p ξ w i ^ ,
where w i is the weight associated with control point P i . NURBS allow for the accurate representation of conical forms, including circles and ellipses, thereby broadening the options for geometric representations of the computational model [1].
A NURBS curve can be defined analogously to the B-Spline curve from Equation (3):
C ξ = i = 1 n R i , p ξ P i .
Similarly to Equation (4), a NURBS tensor product surface is defined as
S ξ , η = i = 1 n j = 1 m R i , j p , q ξ , η P i , j ,
where R i , j p , q ξ , η represents the bivariate basis functions, given by
R i , j p , q ξ , η = N i , p ξ M j , q η w i , j i ^ = 1 n j ^ = 1 m N i ^ , p ξ M j ^ , q η w i ^ , j ^ .

NURBS Coons Surfaces

Coons surfaces represent a specific category of surfaces that can be defined using NURBS. They are especially advantageous as they are constructed by establishing four boundary NURBS curves. To effectively create a Coons surface, certain conditions must be met for these contour curves: the opposing curves must have identical polynomial degrees and share the same knot vector [24].
The construction of a Coons surface can be approached by defining the curves C S o u t h ξ and C N o r t h ξ with the knot vector Ξ = ξ 1 , ξ 2 , , ξ n + p + 1 , alongside the curves C W e s t η and C E a s t η , which utilize the knot vector H = η 1 , η 2 , , η m + q + 1 . These four curves must form a closed region. Consequently, the formulation of the Coons surface is expressed as
S C o o n s ξ , η = i = 1 n j = 1 m N i , p ξ M j , q η P i , j C o o n s ,
where N i , p i = 1 n and M j , q j = 1 m represent the sets of basis functions obtained from Ξ and H , respectively. The control points for the Coons surface are provided by
P i , j C o o n s = P i , j 1 + P i , j 2 + P i , j 3 ,
where P i , j 1 refers to the control points of a ruled surface in ξ , defined by linear curves with a knot vector 0 , 0 , 1 , 1 in the ξ direction, and by the curves C W e s t η and C E a s t η along the η direction. Similarly, P i , j 2 consists of the control points of a ruled surface in η , defined by the curves C S o u t h ξ and C N o r t h ξ in the ξ direction, and by linear curves that use a knot vector 0 , 0 , 1 , 1 in the η direction. P i , j 3 represents the control points of a linear surface, characterized by linear curves with a knot vector 0 , 0 , 1 , 1 in both directions. Subsequently, refinements by knot insertion and degree elevation [24] are carried out until the three surfaces have the same knot vectors for ξ and η . This approach ensures that all three surfaces have the same number of control points. The creation of a Coons surface in NURBS form is illustrated in Figure 1.

2.3. T-Splines

NURBS bivariate surfaces are characterized by a tensor product structure, which is intrinsic to their mathematical framework. This inherent structure imposes a specific regularity on the configuration of control points, which are organized in a uniform grid. In contrast, T-Splines [9,10] represent an advancement of the NURBS paradigm, providing a more adaptable framework that facilitates the creation of a control net composed of rows and columns of a partial number of control points, enabled by the incorporation of T-Junctions. A significant advantage of T-Splines is their ability to facilitate local refinement, thereby enhancing flexibility in modeling complex geometries.

2.3.1. T-Mesh

A T-Spline is formed from a T-Mesh, which consists of a mesh of control points, similarly to the NURBS control net but allowing for vertices with only three connected edges, called T-Junctions. Figure 2a shows an example of a bicubic T-Mesh with T-Junctions highlighted in blue. The construction of a T-Spline goes beyond simply assigning a T-Mesh; it is also necessary to provide parametric information regarding the surface. This is accomplished by configuring a valid T-Mesh in the parameter space, as shown in Figure 2b, which is detailed later.

2.3.2. Anchors

In the case of bivariate NURBS surfaces, the basis functions are given by the tensor product of two univariate functions, each defined in its respective parametric direction. Therefore, two knot vectors are required. In contrast, T-Splines have their basis functions (or blending functions) determined through a set of local knot vectors. These local knot vectors are inferred from the T-Mesh in the parameter space. Note that the term ‘blending functions’ refers to T-Spline functions in general, whereas the term ‘basis functions’ applies only when these functions are linearly independent—an essential requirement for isogeometric analysis [25].
The local knot vectors are determined at the so-called anchors S i . For comprehension purposes, consider a univariate case first. Since a knot vector contains n + p + 1 knot values in the parameter space and there are n basis functions, we associate each basis function with a specific location in the parameter space. These locations are referred to as anchors. For the univariate context, anchors are given by
S i ξ = ξ i + p + 1 / 2 if   p   is   odd 1 2 ξ i + p / 2 + ξ i + p / 2 + 1 if   p   is   even .
Considering just open and uniform knot vectors, the position of the anchors depends on whether p is an even or an odd value. In the case when p is even, anchors are located inside the knot intervals. In the case of an odd p, the anchors are located at the knots, with additional anchors repeated at the ends. These scenarios are illustrated in Figure 3.
In T-Splines, the T-Mesh in parameter space plays a similar role to that of the knot vector in B-Splines or NURBS. If each parametric direction has an odd polynomial degree, the anchors are positioned at the vertices of the T-Mesh in parameter space, analogous to the example presented in Figure 3b. In this scenario, the T-Mesh in parameter space maintains an edge and vertex structure similar to the control-point T-Mesh. This equivalence is beneficial, as it enables a straightforward correspondence between the T-Mesh’s parameter-space anchors and its control points. If even polynomial orders were used, additional processing in the data structure would be necessary to determine the anchors. For this reason, T-Splines typically use cubic polynomials in both parametric directions, resulting in bicubic T-Splines. In this work, we focus exclusively on bicubic and uniform T-Splines.
A more compact representation for bicubic T-Splines is commonly used, known as the knot interval configuration. This approach represents the knot intervals of the T-Mesh in parameter space directly within the T-Mesh of control points, as illustrated in Figure 4.
For bicubic T-Splines, a valid T-Mesh in parameter space or a valid knot interval configuration requires that the sum of knot intervals on opposite sides along the T-Mesh is equal, as highlighted in Figure 4. Additionally, it is necessary to ensure that the outer ring contains zero-length knot intervals.

2.3.3. Local Knot Vectors and T-Splines Blending Functions

The local knot vectors are established at each anchor and then used to define the T-Spline blending functions. For bicubic T-Splines, the local knot vector is determined by finding p + 1 / 2 knot line intersections at all four directions from an anchor, which defines the domain of the anchor’s functions. The process is represented in Figure 5, where the local knot vectors for the highlighted anchor are given by Ξ = 1 , 2 , 3 , 4 , 4 and H = 2 , 3 , 3.5 , 4 , 4 .
The local knot vectors of T-Splines are generally not open. A technique is used to convert the local knot vector into an extended one, enabling the calculation of functions associated with the extended vector. The extended knot vector is obtained by repeating the first and last knots until multiplicity p + 1 is reached, forming an open knot vector. From the extended knot vector, the recursive Cox–de Boor formula [22,23] is applied, which provides a set of functions. Only one of these functions corresponds to the local knot vector of interest. This function is identified by the index n t + 1 , where n t is the number of times the first knot was added to form the extended knot vector.
Afterward, the bivariate T-Spline bending function of an anchor, S A , is given by
R A ξ , η = N A ξ M A η w A A ^ = 1 N N A ^ ξ M A ^ η w A ^ ,
where N A ξ and M A η represent the univariate functions corresponding to the local knot vectors Ξ A and H A , respectively, which are determined using the extended knot vector technique. Additionally, w A denotes the weight of the control point, P A , associated with the anchor S A .

2.3.4. Extended T-Mesh

In general, there is no correspondence between each element of the T-Spline and the elements of the T-Mesh. The elements of the T-Splines are contained in regions where the continuity of the basis functions is C [13]. These regions are delimited by lines of reduced continuity, which arise through extensions of the T-Junctions and are usually represented by dashed lines. A T-Mesh that includes all the lines of reduced continuity is known as an extended T-Mesh.
The reduced continuity lines caused by an anchor are determined by performing extensions of the knot lines along the anchor’s bending function’s domain, as illustrated in Figure 6. Applying this method to all T-Junctions results in an extended T-Mesh, and reduced continuity lines can be represented directly in the control point T-Mesh, as shown in Figure 7. Excluding the outer ring elements, there is a corresponding T-Spline element for each element of the extended T-Mesh.

2.3.5. T-Splines Suitable for Analysis

Defining a T-Mesh and setting knot intervals does not, in itself, make the T-Spline suitable for analysis without prior investigation. A T-Spline suitable for analysis is defined as one whose functions are linearly independent. Linear independence of the functions occurs when there are no intersections of the extensions of the T-Junctions [25]. The extensions of the T-Junctions are composed of face extensions and segment extensions. The face extensions are the reduced continuity lines, and the segment extensions are lines drawn in the opposite direction until they intersect with the following knot line. Figure 8 illustrates the face extensions and segment extensions processes. As there are no intersections, the T-Splines are suitable for analysis.

2.3.6. T-Splines with Extraordinary Points

Unstructured meshes offer greater flexibility and can be useful for modeling complex, irregular domains. In the context of isogeometric analysis, adequate treatment is required to generate this mesh type. In this regard, Scott [13] developed a strategy based on Bézier extraction to form unstructured cubic T-Spline patches via extraordinary points.
The so-called extraordinary points are the vertices of a T-Mesh with a valence different from four that, simultaneously, are not T-Junctions [13]. Figure 9 shows an example of a T-Mesh composed with an extraordinary point, highlighted by a red circle. The T-Mesh elements surrounding the extraordinary point are referred to as one-ring neighborhood elements. The following adjacent elements form a two-ring neighborhood. The extraordinary elements are a set formed by one-ring and two-ring elements. The other elements are called regular elements.
According to Scott [13], extraordinary points must be located away from the T-Mesh boundary, which requires the presence of both one-ring and two-ring elements. This condition was part of his formulation.

2.3.7. Bézier Extraction

Bézier extraction is a technique for expressing NURBS and T-Spline functions as Bernstein polynomials. To enable this transformation, Bézier extraction operators are computed. The process involves breaking down NURBS and T-Splines into Bézier elements with C 0 continuity, allowing for a localized representation of the basis functions. These basis functions for an element e are identified as
R e ξ , η = 1 i = 1 p + 1 q + 1 B i ξ , η w i b , e W e C e B e ξ , η ,
where W e is a diagonal matrix of the weights of the connectivity control points, C e denotes the extraction operator, and B e ξ , η refers to the vector of the Bernstein basis functions.
The mapping between the parameter space and the surface physical space of e is given by
C e ξ , η = P T R e ξ , η ,
where P is a vector of connectivity control point coordinates.
Borden et al. [12] introduced a method for calculating extraction operators for NURBS that produces operators applicable across the entire domain. However, in the case of T-Splines, generating extraction operators is more complex due to the presence of local knot vectors. Scott et al. [11] detailed a comprehensive strategy for determining these operators, which requires computing a row-extraction operator tailored to each element, taking into account its local knot vector. Scott’s work [13] also presents standardized extraction operators designed for T-Splines with extraordinary points.

3. Methodology

This research proposes a methodology for automating the generation of two-dimensional unstructured quadrilateral patch meshes for isogeometric analysis using T-Splines with extraordinary points. The process is based solely on boundary curves, following principles similar to the generation approach of NURBS Coons surfaces. Unlike traditional Coons methods, it addresses cases where differing knot vectors in opposing curves make NURBS patches impractical. By employing only boundary curves, the methodology differs from approaches that attempt to convert existing unstructured FEM meshes to IGA, such as Wang’s studies [16,17].

3.1. Domain Decomposition Algorithm

The proposed method relies on the domain decomposition algorithm developed by Miranda and Martha [21], which is designed to break quadrilateral areas into subdomains to produce unstructured finite element meshes. Figure 10 shows one of the templates used in the cited study (referred to as T1 in that work), which serves as a foundation reference for the remainder of this section. In this decomposition template, the quadrangular domain is divided into four quadrangular subdomains.
A key aspect of using the decomposition template involves defining the number of subdivisions for each boundary curve. The number of subdivisions indicates how many segments a given curve is divided into. This is achieved by defining a list of mesh points, given by their geometric coordinates, along each boundary curve, which may be uniformly spaced or not. These points constitute the actual input data and serve as the basis for determining all internal nodes of the unstructured mesh. The number of subdivisions for each curve can then be easily inferred as the number of points minus one.
In Figure 10a, the number of subdivisions of the boundary curves are labeled A , B , C , and D . The template is applied when one pair of opposite-side curves has the same number of subdivisions (i.e., C = D ), while the other pair has a different number of subdivisions (i.e., A B ), with the condition that A + B is even. Assuming that A is greater than B , the number of subdivisions, b , for the internal segments, as illustrated in Figure 10a, is calculated as b = A B / 2 . The process results in subregion 1 with A × b subdivisions, subregion 2 with b × C subdivisions, subregion 3 with A × C subdivisions, and subregion 4 with b × C subdivisions.
The geometric parameters of the model are represented by variables d 1 , d 2 , d 3 , d 4 , and d 5 , which correspond to the respective lengths along the boundary curves, as indicated in Figure 10b. Based on these geometric parameters, the parametric variables u 1 , u 2 , v 1 , and v 2 , illustrated in Figure 10a, are computed as follows:
u 1 = d 1 d 3 ;           u 2 = d 2 d 3 ;           v 1 = d 1 d 1 + d 4 ;           v 2 = d 2 d 2 + d 5
The parametric variables above define the parametric coordinates of two key points separating the subdomains in the decomposition template: u 1 , 1 v 1 and 1 u 2 , 1 v 2 . Once these points are specified, the remaining parametric coordinates of the internal points within each subdomain are computed via interpolation, resulting in a structured grid of parametric coordinates within each subdomain. These structured parametric grids, when considered together, define the unstructured mesh of the decomposition template.
With the parametric coordinates of the mesh points in hand, the geometric coordinates can be determined using the equations proposed by Gordon and Hall [26] and Harber et al. [27] for transfinite bilinear mapping, given by
F u , v = 1 v ψ 1 u + v ψ 2 u + 1 u φ 1 v + u φ 2 v   1 u 1 v F 0 , 0 1 u v F 0 , 1 u v F 1 , 1   u 1 v F 1 , 0
where ψ 1 u , ψ 2 u , φ 1 v , and φ 2 v are the functions defining the boundary curves, as illustrated in Figure 11, and ( u , v ) are given parametric coordinates. The points F 0 , 0 , F 0 , 1 , F 1 , 0 , and F 1 , 1 correspond to the geometric coordinates of the corners.
The algorithm proposed by Miranda and Martha [21] takes a set of Cartesian points along the edges of a quadrilateral as the input and generates interior Cartesian points that form an unstructured mesh as the output. The input edge points are typically created automatically by specifying a number of edge subdivisions and computing uniformly spaced points or points with a specified spacing ratio along each boundary. Figure 12 illustrates these input and output points, with dark gray dots representing the inputs and light gray dots representing the outputs.

3.2. Domain Decomposition of Quadrilateral Patches for IGA

In isogeometric analysis, the goal is to create a T-Spline with extraordinary points using Miranda and Martha’s algorithm [21] to generate a T-Mesh of control points. For this purpose, an initial closed quadrilateral region delimited by four NURBS curves with cubic polynomial degrees is required, as the T-Spline must be bicubic to accommodate the extraordinary points mentioned by Scott [13]. For simplification, these curves should also feature uniform knot vectors.
One key difference in adapting the decomposition template for IGA is the specification of the number of subdivisions for the boundary curves. In isogeometric analysis, this number of subdivisions corresponds to the number of knot spans of the curve’s knot vector since, in the IGA context, the elements are defined by knot spans.
In terms of a T-Mesh of control points, it is important to recall that T-Mesh elements resemble T-Spline elements, but they contain outer-ring elements that play a similar role to an open knot vector and do not have corresponding T-Spline elements. For this reason, using the control points of the boundary curves as the decomposition template input requires some attention. Some of the control points of the boundary curves must be excluded before executing the algorithm to guarantee that the generated T-Mesh has several elements along the boundaries that correspond to the number of knot spans of the boundary curves, while also accounting for the outer-ring T-Mesh elements.
The domain decomposition algorithm adapted for IGA is demonstrated using the model shown in Figure 13. The corresponding steps related to the algorithm are detailed in Figure 14.
Figure 14a illustrates the input to the algorithm, primarily consisting of the control points from the four NURBS curves, depicted as black dots. A minor technique is applied to exclude specific control points during the algorithm’s data input. The control points to be omitted are those closest to the vertices of the curve with the fewest knot spans, specifically, two control points of this curve and one from each of the adjacent curves, represented by the ‘X’ symbol in Figure 14a. Since these four control points are located near the contour of the subdomains, including them during the input would result in a T-Mesh with more elements along the boundary curves than the number of corresponding knot spans. For instance, along the left curve, if no control points were removed, there would be 6 T-Mesh elements instead of the 4 that correspond to the 4 knot spans. However, for the right curve, it is unnecessary to eliminate any control points as, along this curve, the two T-Mesh elements at the ends constitute some of the outer ring elements.
The algorithm’s execution generates a set of Cartesian points within the patch, which are used to create an initial T-Mesh, as shown in Figure 14b. Although this T-Mesh is consistent with the number of knot spans along each boundary curve and includes the outer-ring elements, the T-Spline surface resulting from this process would exhibit smoothed edges separating the subdomains. Consequently, the T-Spline forgoes the sharp corners, creating an appearance similar to that shown in Figure 15a.
The solution adopted in this study is to introduce T-Junctions at the T-Mesh elements in the outer ring close to the subdomain division, based on the work of Casquero et al. [28], in addition to reintroducing the initially suppressed control points to generate a final T-Mesh, as illustrated in Figure 14c. Therefore, the generated T-Spline surface contains elements with reduced continuity near the corners, thereby preserving the initial geometry of the patch, as shown in Figure 15b.
Note that the resulting T-Mesh is always suitable for analysis. This is because, when applying the T-Junction extension procedure described above, no intersections occur, as these extensions will always behave in parallel to each other.

3.3. Generation of Extended T-Mesh

The final T-Mesh obtained from the domain decomposition algorithm, shown in Figure 14c, does not provide sufficient information to create a T-Spline by itself. Therefore, additional parametric information is required. At each edge of the T-Mesh, a parametric interval is assigned, forming the T-Mesh with a knot interval configuration, as depicted in Figure 16. A parametric length of zero is assigned to edges that connect to the boundary, fulfilling a role similar to that of open knot vectors in NURBS. Additionally, a parametric length of zero is applied to edges connecting the reintroduced control points to the boundary curves’ end points, as well as to the corresponding opposite edges that connect with the T-Junctions. The presence of this null parametric length generates zero-area elements near the T-Junctions, which reduces continuity in this region while preserving the domain’s original geometry. The other segments of the T-Mesh are assigned a unit parametric length due to the assumption that the four boundary curves have uniform knot vectors. In Figure 16, edges marked with triangles are assigned a parametric length of zero, while those marked with pentagons are assigned a unit parametric length. In addition, the blue dots in the T-Mesh indicate the T-Junctions, as a reminder that these are points where a segment connects to another edge, while the red dots indicate the extraordinary points; that is, vertices with a valence different from four.
Note that the T-Spline elements do not have a one-to-one correspondence with each quadrilateral element of the T-Mesh. The T-Spline elements are delimited after the reduced continuity lines definition, provided by extensions of the T-Junctions, and must have a non-zero parametric area. The T-Junction extensions create the extended T-Mesh, as illustrated in Figure 17, with reduced continuity lines represented by dashed lines. The elements of the extended T-Mesh are highlighted in gray, while the regions with zero parametric areas are shown in white and do not form elements.

3.4. Connectivity of Extended T-Mesh Elements

Determining the connectivity of the extended T-Mesh elements is not a trivial task. The procedure consists of determining the local knot vectors at the anchors (or control points, as they are coincident in bicubic T-Splines) and verifying which elements are contained in each local knot vector’s function domain. Elements located far from T-Junctions and extraordinary points are called regular elements. As the local knot vector’s functions extend along p + 1 / 2 = 2 knot lines, the connectivity control points of a regular element are provided by those contained in its second-ring neighborhood of control points, for a total of 16 control points, as illustrated in Figure 18.
The elements near T-Junctions and extraordinary points have their connectivity control points shown in Figure 19. Despite a different point arrangement, elements near T-Junctions have their connectivity determined by the same process as regular elements by inferring the elements contained within the domains of the anchor functions, which also results in a total of 16 connectivity control points. For elements near extraordinary points, the connectivity can also be determined using the second-ring neighborhood of control points [13]. However, the number of connectivity control points varies from the standard 16 for a regular element; for the extended T-Mesh shown in Figure 17, this number is 14.
The extraction operators for the elements are predefined for all the mentioned scenarios. This is because, in this study, we have chosen to utilize uniform knot vectors exclusively, which ensures that all possible element configurations depicted in Figure 18 and Figure 19 are each associated with a fixed, pre-determined Bézier extraction operator. For regular elements, the operators are computed according to the work of Borden et al. [12]. For elements near T-Junctions, the method described in Scott et al. [11] is applied. Finally, the extraction operators for elements near extraordinary points are specified in Scott’s work [13].

3.5. Implementation Pseudocode

To summarize the process, Algorithm 1 presents the associated pseudocode. The algorithm takes a set of four NURBS curves as input, C1, C2, C3, and C4, which define a closed quadrilateral region. It begins by identifying the curve with the fewest knot spans, referred to as ‘min_curve’. Then, it determines the vertices of this curve, namely ‘v1’ and ‘v2’, and identifies the adjacent curves, which are stored in the list ‘adj_curves’. Afterward, it finds the two control points from ‘min_curve’ closest to vertices ‘v1’ and ‘v2’ and stores them in ‘excluded_points’. It also identifies the control points from the adjacent curves closest to the vertices of ‘min_curve’, and appends them to ‘excluded_points’.
Subsequently, the next step is to obtain the control points of the boundary curves, remove those in the list ‘excluded_points’, and apply the Miranda and Martha domain decomposition algorithm to generate interior points and create an initial T-Mesh. The excluded control points are then reintroduced into the T-Mesh, and T-Junction points are computed and added near ‘v1’ and ‘v2’. The process concludes by generating element connectivity, defined as the second-ring neighborhood of control points, and processing the predefined extraction operators for each element.
Algorithm 1: GenerateTMeshForIGA
1    INPUT:
2      -NURBS curves (C1, C2, C3, C4), each with degree, knot vectors, control points
3    OUTPUT:
4      -T-Mesh, element connectivity, extraction operators
5    BEGIN
6      // Step 1: Find curve with fewest knot spans
7      min_curve ← FindMinKnotIntervalsCurve(C1, C2, C3, C4)
8      v1 ← GetStartVertex(min_curve)
9      v2 ← GetEndVertex(min_curve)
10    adj_curves ← GetAdjacentCurves(min_curve)
11    // Step 2: Remove control points near endpoints of min_curve
12    points ← ExtractControlPoints(min_curve)
13    p1 ← NearestPoint(v1, points)
14    p2 ← NearestPoint(v2, points)
15    excluded_points ← [p1, p2]
16    // Step 3: Remove control points from adjacent curves near shared vertices
17    p_adj ← []
18    FOR each curve IN adj_curves DO
19      points ← ExtractControlPoints(curve)
20      v ← SharedVertex(curve, min_curve)
21      p ← NearestPoint(v, points)
22      AppendToList(p_adj, p)
23      AppendToList(excluded_points, p)
24    END-FOR
25    // Step 4: Prepare boundary points
26    boundary_points ← PrepareBoundaryPoints(C1, C2, C3, C4, excluded_points)
27    // Step 5: Run Miranda and Martha’s algorithm
28    interior_points ← DecomposeDomain(boundary_points)
29    t_mesh ← GenerateTMesh(boundary_points, interior_points)
30    // Step 6: Reintroduce excluded points and add T-Junctions
31    t_mesh ← AddPoints(t_mesh, excluded_points)
32    new_Tpoints ← ComputeTJunctionPoint(v1, v2, p1, p2, p_adj)
33    t_mesh ← AddTJunction(t_mesh, Tpoints)
34    // Step 7: Generate connectivity and extraction operators
35    connectivity ← GenerateElementConnectivity(t_mesh)
36    operators ← ExtractionOperators(t_mesh)
37    RETURN (t_mesh, connectivity, operators)
38  END

4. Results and Discussion

In this section, the proposed methodology is demonstrated through linear–elastic static analyses of solid models with isotropic material properties and plane-stress conditions. The investigation involves refining the models by inserting knots and verifying the maximum stress components of interest. This approach enables evaluation of stress convergence as a function of the number of degrees of freedom. The problem is modeled for isogeometric analysis using unstructured T-Spline meshes with extraordinary points, following the presented methodology, which enables greater refinement in critical areas. Additionally, a comparison is made between the solution provided by the IGA T-Spline model and the solutions obtained using IGA NURBS and isoparametric finite element models.

4.1. Analyzed Problem

The problem is illustrated in Figure 20, which involves a thick-walled cylinder with a circular hole subjected to constant internal pressure p . Due to symmetry, the analysis is focused on a quarter section of the cylinder. The model dimensions are defined by an internal radius, r 1 , and an external radius, r 2 . The adopted values comprise p = 1000   k N / m 2 , r 1 = 1   m , and r 2 = 2   m . The model has a constant thickness of t = 1   m , and the material properties include a modulus of elasticity set as E = 10 7   k N / m 2 , and a Poisson’s ratio set as ν = 0.25 .
The choice of this specific problem arises from its simplicity, enabling a comparative analysis with the analytical solution [29]:
σ r r r = p r 2 2 r 2 r 1 2 r 2 2 r 1 2 r 2
σ θ θ r = p r 2 2 + r 2 r 1 2 r 2 2 r 1 2 r 2
where r is the radius determined from the origin (i.e., the hole’s center).
To verify the convergence and accuracy of the numerical solutions, the stress components obtained from the numerical models are evaluated under the problem’s imposed boundary conditions. Along the circular inner face, the natural boundary condition is t ¯ = p   c o s   θ ,   p   s i n   θ T , where θ is the angle measured counterclockwise from the x-axis. The essential boundary conditions are u x = 0 on the left face and u y = 0 on the bottom face.

4.2. Generated Models

Three model types were generated for the numerical simulations of the analyzed problem, using meshes based on isoparametric Q8 finite elements, isogeometric NURBS, and isogeometric T-splines. Each one employed distinct mesh layouts and refinement levels, as summarized in Table 1 and detailed in the next sections.

4.2.1. Isoparametric FEM

Figure 21 presents meshes generated for isoparametric FEM simulations using quadratic quadrilateral (Q8) elements. These meshes were created using bilinear transfinite mapping [27] with FEMEP [30], an in-house, open-source program for generating two-dimensional solid-structure models, developed based on the HETOOL library [31]. The meshes were then exported as text files and simulated using another in-house program called FEMOOLab [30]. Figure 21a corresponds to a mesh composed of 8 × 8 elements, resulting in 450 degrees of freedom. For comparison, Figure 21b shows a more refined mesh with 22 × 22 elements and 3082 degrees of freedom, while Figure 21c depicts the most refined mesh with 36 × 36 elements and 8066 degrees of freedom.

4.2.2. Isogeometric NURBS

Regarding the isogeometric NURBS models, the meshes were generated using single patches of bicubic Coons NURBS. The boundary curves that define the models are depicted in Figure 22. The curves in parametric direction ξ—namely, C 1 ξ and C 4 ξ —are represented by the cubic NURBS arcs of a circle. The curves in parametric direction η , C 2 η and C 3 η , are composed of straight lines that were subjected to degree elevation to ensure cubic degree compatibility. Based on the definition and refinement of these boundary curves, two-dimensional Coons NURBS surfaces are generated to define the isogeometric models.
Figure 23a illustrates a mesh composed of 8 × 8 elements and 242 degrees of freedom (note the lower number of degrees of freedom compared to the isoparametric FEM model with the same number of elements). For comparison, Figure 23b presents an intermediate mesh refinement with 36 × 36 elements and 3042 degrees of freedom, and Figure 23c shows the most refined discretization, with 60 × 60 elements and 7938 degrees of freedom.

4.2.3. Isogeometric T-Splines

The T-Spline models were generated following the proposed methodology. These models are intended for isogeometric analysis using an unstructured T-Spline mesh with extraordinary points, enabling greater refinement in the critical region around the hole. In these examples, modeling was performed with two distinct regions: a patch of bicubic T-Splines with an unstructured mesh and a patch of bicubic NURBS surfaces. The T-Spline patch with extraordinary points provides a smooth transition between curves with varying levels of refinement. The NURBS surface patch is used to minimize potential geometric distortions resulting from the elements of the T-Spline region.
As illustrated in Figure 24, the boundary curves C 1 ξ and C 4 ξ formed by the cubic NURBS arcs of a circle, together with the curves C 2 η and C 3 η formed by cubic NURBS straight line segments, delimit the T-Spline region. Curve C 1 ξ has more elements, denoted by n r e f i n e d , while curve C 4 ξ has a less refined discretization, with the number of elements given by n c o a r s e . Curves C 2 η and C 3 η have the same number of elements, denoted by n s i d e _ T S p l i n e . The second region is composed of a NURBS surface, bounded by curves C 5 ξ and C 1 ξ (cubic NURBS arcs of a circle), and curves C 6 η and C 7 η (cubic NURBS straight lines). The number of elements in curve C 5 ξ is the same as in curve C 1 ξ , n r e f i n e d , and the number of elements in curves C 6 η and C 7 η is denoted by n s i d e _ N U R B S . The layout of the elements in these models can be defined by the configuration n r e f i n e d / n c o a r s e / n s i d e , where n s i d e = n s i d e _ T S p l i n e + n s i d e _ N U R B S .
The number of elements along curves C 6 η and C 7 η was determined as follows. For a given model composed of a T-Spline patch and a NURBS patch, with element layout defined by n r e f i n e d / n c o a r s e / n s i d e on the boundaries, a NURBS model with n × n discretization is considered, with n = n r e f i n e d . From this NURBS model, the number of elements, n s i d e _ N U R B S , is determined up to a previously established radial range, r . Based on the values of n s i d e _ N U R B S and r , the combined T-Spline and NURBS model is then defined. The procedure used to infer this radius is illustrated in Figure 25. The radius, r , is chosen such that its value remains approximately consistent across all models. Table 2 presents the values of r and the corresponding n s i d e _ N U R B S for the different models considered.
The model shown in Figure 26a corresponds to the coarsest discretization, with an element layout of 4/10/7 and a total of 326 degrees of freedom. The intermediate model, illustrated in Figure 26b, employs a discretization defined by 16/40/24 elements in the boundaries, resulting in 2814 degrees of freedom. The most refined mesh, presented in Figure 26c, adopts an element layout of 24/60/36 and comprises 5930 degrees of freedom. All models were constructed in accordance with the one-ring and two-ring element conditions around the extraordinary points, ensuring the validity and consistency of the T-Spline discretizations.

4.3. Results Comparison

The computational simulations were performed using FEMOOLab [30], an in-house, open-source program developed to solve thermo-mechanical problems based on FEM and IGA. In all cases, the analyses were conducted using full numerical integration. The stress component of interest for model comparisons is the maximum normal stress σ x x , which occurs near the singularity created by the hole, at coordinates r = 1 and θ = π 2 . At this point, the analytical solution from Equations (17) and (18) yields a radial stress of σ r r = 1000   k N / m 2 and a tangential stress of σ θ θ = 1250   k N / m 2 . The stress in the x -direction is then given by σ x x = σ r r cos 2 θ + σ θ θ sin 2 θ = 1250   k N / m 2 .
The distributions of the stress component σ x x are shown in Figure 27 for the three model types. They consider mesh refinements of 3082, 3042, and 2814 degrees of freedom in the isoparametric FEM, isogeometric NURBS, and isogeometric T-Spline models, respectively.
The different refinements were compared using knot insertion. The maximum value of the stress component σ x x and the corresponding number of degrees of freedom for the three model types are illustrated in Figure 28, where all models converge to the analytical solution of σ x x m a x = 1250   k N / m 2 . The relative errors associated with each model are shown in Figure 29. Notably, the isoparametric FEM model with Q8 elements presented the slowest convergence rate. In contrast, the IGA-based approaches proved more efficient, achieving faster convergence rates.
In terms of convergence rate, the isogeometric models based solely on NURBS exhibited performance slightly better than that of the unstructured T-Spline models. This behavior may be due to the presence of extraordinary points in the T-Spline meshes, which locally reduce continuity, as well as to minor mesh distortions introduced by the T-Spline construction relative to structured NURBS discretizations. Although the T-Spline-based models did not outperform the NURBS-based models in terms of convergence efficiency, they achieved similar levels of accuracy with a comparable number of degrees of freedom.
Regarding computational cost, the runtimes of both the NURBS and T-spline models were evaluated for discretizations with up to approximately 6000 degrees of freedom. For the NURBS approach, simulations with 242, 1458, 3042, and 5618 degrees of freedom required 0.1225 s, 0.9302 s, 2.4187 s, and 6.5065 s, respectively. For the T-spline approach, discretizations with 326, 1280, 2814, and 5930 degrees of freedom yielded runtimes of 1.6984 s, 9.7355 s, 24.2563 s, and 58.2643 s, respectively. The higher computational times observed for the T-spline models are primarily due to implementation-related factors that increase processing time. The T-spline basis functions are evaluated via Bézier extraction using precomputed extraction operators provided as input data, which are stored as a property of each element. In contrast, for the NURBS models, we used efficient basis function evaluation routines [32].
The primary advantage of employing the proposed methodology to generate unstructured T-Spline meshes lies in its enhanced modeling flexibility, rather than in improved convergence rates. The proposed approach enables the construction of transition patches between curves with different refinement levels, enabling highly refined discretizations to be introduced locally while maintaining coarser meshes elsewhere. This capability is particularly advantageous in geometries involving curved boundaries and localized stress concentrations, as it facilitates efficient mesh design without the need for globally uniform refinement.

5. Conclusions

This work proposed a methodology for generating unstructured meshes for isogeometric analysis in quadrilateral regions bounded by two-dimensional NURBS curves. The approach enables the generation of bicubic T-Spline patches with extraordinary points—a technique widely recognized for incorporating the concepts of unstructured meshes, local refinement, and IGA. The key contribution of this study is the automation of the T-Spline surface generation process, which uses only information regarding the curves defining the domain. The method is inspired by the generation of NURBS surfaces via Coons patches, and its capabilities were extended to support unstructured meshes. The implementation builds on prior research; notably, Miranda and Martha’s algorithm [21], which establishes a network of control points to define the surface, and Scott’s formulation [13], which enables the analysis of T-Splines with extraordinary points using the Bézier extraction technique. The T-Mesh resulting from the proposed methodology consistently produces analysis-suitable T-Splines characterized by linearly independent basis functions—a fundamental requirement for isogeometric analysis.
Validation using a well-established benchmark problem demonstrated the proposed method’s ability to generate unstructured meshes with local refinement within a patch. Moreover, a mesh-refinement convergence analysis was performed, comparing it against NURBS-based isogeometric and isoparametric FEM models. The results show that the proposed method achieves accuracy and efficiency superior to those of isoparametric FEM models and comparable to those of NURBS-based IGA models, while offering greater flexibility in mesh generation. They also demonstrate the method’s potential to generate effective meshes for isogeometric analysis, highlighting the adaptability of T-Splines with extraordinary points.
Regarding the scope and limiting assumptions of this work, the four boundary NURBS curves always have uniform knot vectors, which simplifies the T-Mesh configuration. With the adoption of uniform knot vectors, a fixed, predetermined Bézier extraction operator may be used. However, from a methodological standpoint, we do not identify any inherent restriction that would prevent the proposed approach from being applied to non-uniform knot vectors. Accommodating non-uniform knot vectors would require the adoption of a data structure that is capable of determining the Bézier extraction operators for each element. By focusing on uniform knot vectors, we were able to evaluate the proposed method without introducing additional implementation complexity.
Moreover, according to Scott [13], extraordinary points must be located away from the boundaries, requiring the presence of one-ring and two-ring T-Mesh elements surrounding them. The work of Miranda and Martha [21] presents different decomposition templates for FEM unstructured meshes, including a hierarchical decomposition process that applies templates to each subdomain. This approach removes restrictions on the number of curve subdivisions. However, during this process, vertices with a valence different from four can appear near or even on the boundary, which would violate Scott’s one-ring and two-ring conditions for the T-Mesh with extraordinary points. In the present work, as we employ only the T1 template, we remain subject to its subdivision restrictions.
A natural extension of this study is the three-dimensional case. Indeed, this research group already possesses a three-dimensional solution for the template adopted in this work as the basis for generating meshes for isoparametric finite element analyses [33]. It would also be of interest to explore alternative formulations with extraordinary points that allow them to be placed closer to the boundary curves, thus enabling the use of IGA with other domain decomposition templates such as that proposed by Miranda and Martha [21].

Author Contributions

Conceptualization, J.C.L.P., R.L.R. and L.F.M.; methodology, J.C.L.P. and L.F.M.; software, J.C.L.P. and R.L.R.; validation, J.C.L.P.; formal analysis, J.C.L.P.; investigation, J.C.L.P., R.L.R. and L.F.M.; resources, L.F.M.; data curation, J.C.L.P.; writing—original draft preparation, J.C.L.P.; writing—review and editing, R.L.R. and L.F.M.; visualization, J.C.L.P.; supervision, R.L.R. and L.F.M.; project administration, L.F.M.; funding acquisition, L.F.M. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) [Finance Code 001], the Conselho Nacional de Desenvolvimento Científico e Tecnologico (CNPq) [Grant 308884/2021-3], and the Fundação de Amparo à Pesquisa do Estado do Rio de Janeiro (FAPERJ) [process number E-26/201.224/2022].

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of the data; in the writing of the manuscript; or in the decision to publish the results.

References

  1. Cottrell, J.A.; Hughes, T.J.R.; Bazilevs, Y. Isogeometric Analysis: Toward Integration of CAD and FEA, 1st ed.; John Wiley & Sons: Chichester, UK, 2009. [Google Scholar]
  2. Großmann, D.; Jüttler, B.; Schlusnus, H.; Barner, J.; Vuong, A.V. Isogeometric simulation of turbine blades for aircraft engines. Comput. Aided Geom. Des. 2012, 29, 519–531. [Google Scholar] [CrossRef]
  3. Bazilevs, Y.; Zhang, Y.; Calo, V.M.; Goswami, S.; Bajaj, C.L.; Hughes, T.J. Isogeometric Analysis of Blood Flow: A NURBS-Based Approach. In Computational Modelling of Objects Represented in Images: Fundamentals, Methods and Applications, 1st ed.; CRC Press: Boca Raton, FL, USA, 2018; pp. 91–96. [Google Scholar]
  4. Zhang, Y.; Bazilevs, Y.; Goswami, S.; Bajaj, C.L.; Hughes, T.J. Patient-specific vascular NURBS modeling for isogeometric analysis of blood flow. Comput. Methods Appl. Mech. Eng. 2007, 196, 2943–2959. [Google Scholar] [CrossRef]
  5. Kuraishi, T.; Yamasaki, S.; Takizawa, K.; Tezduyar, T.E.; Xu, Z.; Kaneko, R. Space–time isogeometric analysis of car and tire aerodynamics with road contact and tire deformation and rotation. Comput. Mech. 2022, 70, 49–72. [Google Scholar] [CrossRef]
  6. Hughes, T.J.R.; Cottrell, J.A.; Bazilevs, Y. Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput. Methods Appl. Mech. Eng. 2005, 194, 4135–4195. [Google Scholar] [CrossRef]
  7. Zienkiewicz, O.C.; Taylor, R.L.; Zhu, J.Z. The Finite Element Method: Its Basis and Fundamentals, 6th ed.; Elsevier Butterworth-Heinemann: Oxford, UK, 2005. [Google Scholar]
  8. Bazilevs, Y.; Calo, V.M.; Cottrell, J.A.; Evans, J.A.; Hughes, T.J.R.; Lipton, S.; Scott, M.A.; Sederberg, T.W. Isogeometric analysis using T-splines. Comput. Methods Appl. Mech. Eng. 2010, 199, 229–263. [Google Scholar] [CrossRef]
  9. Sederberg, T.W.; Zheng, J.; Bakenov, A.; Nasri, A. T-splines and T-NURCCs. ACM Trans. Graph. 2003, 22, 477–484. [Google Scholar] [CrossRef]
  10. Sederberg, T.W.; Cardon, D.L.; Finnigan, G.T.; North, N.S.; Zheng, J.; Lyche, T. T-spline simplification and local refinement. ACM Trans. Graph. 2004, 23, 276–283. [Google Scholar] [CrossRef]
  11. Scott, M.A.; Borden, M.J.; Verhoosel, C.V.; Sederberg, T.W.; Hughes, T.J.R. Isogeometric finite element data structures based on Bézier extraction of T-splines. Int. J. Numer. Methods Eng. 2011, 88, 126–156. [Google Scholar] [CrossRef]
  12. Borden, M.J.; Scott, M.A.; Evans, J.A.; Hughes, T.J.R. Isogeometric finite element data structures based on Bézier extraction of NURBS. Int. J. Numer. Methods Eng. 2011, 87, 15–47. [Google Scholar] [CrossRef]
  13. Scott, M.A. T-Splines as a Design-Through-Analysis Technology. Ph.D. Thesis, University of Texas at Austin, Austin, TX, USA, 2011. [Google Scholar]
  14. May, S.; Vignollet, J.; de Borst, R. Powell–Sabin B-splines and unstructured standard T-splines for the solution of the Kirchhoff–Love plate theory exploiting Bézier extraction. Int. J. Numer. Methods Eng. 2016, 107, 205–233. [Google Scholar] [CrossRef]
  15. Scott, M.A.; Simpson, R.N.; Evans, J.A.; Lipton, S.; Bordas, S.P.; Hughes, T.J.; Sederberg, T.W. Isogeometric boundary element analysis using unstructured T-splines. Comput. Methods Appl. Mech. Eng. 2013, 254, 197–221. [Google Scholar] [CrossRef]
  16. Wang, W.; Zhang, Y.; Scott, M.A.; Hughes, T.J. Converting an unstructured quadrilateral mesh to a standard T-spline surface. Comput. Mech. 2011, 48, 477–498. [Google Scholar] [CrossRef]
  17. Wang, W.; Zhang, Y.; Xu, G.; Hughes, T.J. Converting an unstructured quadrilateral/hexahedral mesh to a rational T-spline. Comput. Mech. 2012, 50, 65–84. [Google Scholar] [CrossRef]
  18. Barroso, E.S.; Evans, J.A.; Cavalcante-Neto, J.B.; Vidal, C.A.; Parente, E., Jr. An efficient automatic mesh generation algorithm for planar isogeometric analysis using high-order rational Bézier triangles. Eng. Comput. 2022, 38, 4387–4408. [Google Scholar] [CrossRef]
  19. Barroso, E.S. High Order Mesh Generation for Isogeometric Analysis Using Rational Bézier Elements. Ph.D. Thesis, Federal University of Ceará, Fortaleza, Brazil, 2022. [Google Scholar]
  20. Peixoto, J.C.L. Isogeometric Analysis with Interactive Modeling of Multiple NURBS and T-Splines Patches. Master’s Thesis, Pontifical Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil, 2024. [Google Scholar]
  21. Miranda, A.C.; Martha, L.F. Hierarchical template-based quadrilateral mesh generation. Eng. Comput. 2017, 33, 701–715. [Google Scholar] [CrossRef]
  22. Cox, M.G. The numerical evaluation of B-splines. IMA J. Appl. Math. 1972, 10, 134–149. [Google Scholar] [CrossRef]
  23. de Boor, C. On calculating with B-splines. J. Approx. Theory. 1972, 6, 50–62. [Google Scholar] [CrossRef]
  24. Piegl, L.; Tiller, W. The NURBS Book; Springer: Berlin/Heidelberg, Germany, 1997. [Google Scholar]
  25. Li, X.; Zheng, J.; Sederberg, T.W.; Hughes, T.J.; Scott, M.A. On linear independence of T-spline blending functions. Comput. Aided Geom. Des. 2012, 29, 63–76. [Google Scholar] [CrossRef]
  26. Gordon, W.J.; Hall, C.A. Construction of curvilinear co-ordinate systems and applications to mesh generation. Int. J. Numer. Methods Eng. 1973, 7, 461–477. [Google Scholar] [CrossRef]
  27. Haber, R.; Shephard, M.S.; Abel, J.F.; Gallagher, R.H.; Greenberg, D.P. A general two-dimensional, graphical finite element preprocessor utilizing discrete transfinite mappings. Int. J. Numer. Methods Eng. 1981, 17, 1015–1044. [Google Scholar] [CrossRef]
  28. Casquero, H.; Liu, L.; Bona-Casas, C.; Zhang, Y.; Gomez, H. A hybrid variational-collocation immersed method for fluid-structure interaction using unstructured T-splines. Int. J. Numer. Methods Eng. 2016, 105, 855–880. [Google Scholar] [CrossRef]
  29. Negi, L.S. Strength of Materials, 2nd ed.; McGraw-Hill: New Delhi, India, 2008. [Google Scholar]
  30. Peixoto, J.C.L.; Rangel, R.L.; Martha, L.F. Interactive Modeling of NURBS for Isogeometric Analysis. In Proceedings of the Ibero-Latin American Congress on Computational Methods in Engineering, Maceió, AL, Brazil, 11–14 November 2024. [Google Scholar] [CrossRef]
  31. Bomfim, D.S.; Soares, R.L.; Bez, L.F.; Lopes, P.C.; Pereira, A.M.; Martha, L.F. Hetool: A half-edge topological object-oriented library for generic 2-d geometric modeling. SoftwareX 2023, 21, 101307. [Google Scholar] [CrossRef]
  32. Nguyen, V.P.; Anitescu, C.; Bordas, S.P.A.; Rabczuk, T. Isogeometric analysis: An overview and computer implementation aspects. Math. Comput. Simul. 2015, 117, 89–116. [Google Scholar] [CrossRef]
  33. Miranda, A.C.; Martha, L.F. Hierarchical template-based hexahedral mesh generation. Eng. Comput. 2018, 34, 465–474. [Google Scholar] [CrossRef]
Figure 1. (a) Ruled surface in ξ ; (b) ruled surface in η ; (c) bilinear surface; (d) Coons surface.
Figure 1. (a) Ruled surface in ξ ; (b) ruled surface in η ; (c) bilinear surface; (d) Coons surface.
Mathematics 14 00392 g001
Figure 2. (a) T-Mesh of a bicubic T-Spline (T-Junctions highlighted in blue); adapted from [13]. (b) T-Mesh in the parameter space, which is related to the T-Spline under consideration.
Figure 2. (a) T-Mesh of a bicubic T-Spline (T-Junctions highlighted in blue); adapted from [13]. (b) T-Mesh in the parameter space, which is related to the T-Spline under consideration.
Mathematics 14 00392 g002
Figure 3. (a) Anchors of a quadratic B-Spline curve with knot vector 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 ; (b) anchors of a cubic B-Spline curve with knot vector 0 , 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 , 1 .
Figure 3. (a) Anchors of a quadratic B-Spline curve with knot vector 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 ; (b) anchors of a cubic B-Spline curve with knot vector 0 , 0 , 0 , 0 , 1 3 , 2 3 , 1 , 1 , 1 , 1 .
Mathematics 14 00392 g003
Figure 4. Knot interval configuration. Adapted from [13].
Figure 4. Knot interval configuration. Adapted from [13].
Mathematics 14 00392 g004
Figure 5. Determination of local knot vectors for a specific anchor.
Figure 5. Determination of local knot vectors for a specific anchor.
Mathematics 14 00392 g005
Figure 6. Determination of reduced continuity lines (dashed) for a specific anchor.
Figure 6. Determination of reduced continuity lines (dashed) for a specific anchor.
Mathematics 14 00392 g006
Figure 7. Extended T-Mesh. Adapted from [13].
Figure 7. Extended T-Mesh. Adapted from [13].
Mathematics 14 00392 g007
Figure 8. Face extensions and segment extensions.
Figure 8. Face extensions and segment extensions.
Mathematics 14 00392 g008
Figure 9. T-mesh with an extraordinary point (in red). Dark gray and light gray T-mesh elements form the one-ring and two-ring neighborhoods elements, respectively.
Figure 9. T-mesh with an extraordinary point (in red). Dark gray and light gray T-mesh elements form the one-ring and two-ring neighborhoods elements, respectively.
Mathematics 14 00392 g009
Figure 10. Decomposition template: (a) subdivisions and parametric coordinates; (b) geometric parameters [21].
Figure 10. Decomposition template: (a) subdivisions and parametric coordinates; (b) geometric parameters [21].
Mathematics 14 00392 g010
Figure 11. Transfinite bilinear mapping for boundary curves. Adapted from [21].
Figure 11. Transfinite bilinear mapping for boundary curves. Adapted from [21].
Mathematics 14 00392 g011
Figure 12. Input points, in dark gray, and output points, in light gray, for the decomposition template.
Figure 12. Input points, in dark gray, and output points, in light gray, for the decomposition template.
Mathematics 14 00392 g012
Figure 13. Model with knot vectors on the boundary curves for domain decomposition.
Figure 13. Model with knot vectors on the boundary curves for domain decomposition.
Mathematics 14 00392 g013
Figure 14. (a) Control points passed as inputs to the domain decomposition algorithm (excluded points are indicated by ‘X’); (b) control points obtained as outputs from the algorithm; (c) control points inserted at the end of the process (highlighted in red).
Figure 14. (a) Control points passed as inputs to the domain decomposition algorithm (excluded points are indicated by ‘X’); (b) control points obtained as outputs from the algorithm; (c) control points inserted at the end of the process (highlighted in red).
Mathematics 14 00392 g014
Figure 15. (a) T-Spline with smooth edges; (b) T-Spline preserving the original geometry, as a consequence of a T-Junction extension procedure.
Figure 15. (a) T-Spline with smooth edges; (b) T-Spline preserving the original geometry, as a consequence of a T-Junction extension procedure.
Mathematics 14 00392 g015
Figure 16. T-Mesh with knot interval configuration.
Figure 16. T-Mesh with knot interval configuration.
Mathematics 14 00392 g016
Figure 17. Extended T-Mesh.
Figure 17. Extended T-Mesh.
Mathematics 14 00392 g017
Figure 18. Connectivity control points of regular elements (in dark gray).
Figure 18. Connectivity control points of regular elements (in dark gray).
Mathematics 14 00392 g018
Figure 19. Connectivity control points of elements (in dark gray) close to T-Junctions and extraordinary points.
Figure 19. Connectivity control points of elements (in dark gray) close to T-Junctions and extraordinary points.
Mathematics 14 00392 g019
Figure 20. Validation model: quarter section of thick-walled cylinder with a central circular hole subjected to an internal pressure.
Figure 20. Validation model: quarter section of thick-walled cylinder with a central circular hole subjected to an internal pressure.
Mathematics 14 00392 g020
Figure 21. Thick-walled cylinder with a circular hole modeled with Q8 finite elements. (a) Coarse discretization; (b) intermediate discretization; (c) fine discretization.
Figure 21. Thick-walled cylinder with a circular hole modeled with Q8 finite elements. (a) Coarse discretization; (b) intermediate discretization; (c) fine discretization.
Mathematics 14 00392 g021
Figure 22. Boundary curves defining the NURBS patch.
Figure 22. Boundary curves defining the NURBS patch.
Mathematics 14 00392 g022
Figure 23. Thick-walled cylinder with a circular hole modeled with a NURBS patch. (a) Coarse discretization; (b) intermediate discretization; (c) fine discretization.
Figure 23. Thick-walled cylinder with a circular hole modeled with a NURBS patch. (a) Coarse discretization; (b) intermediate discretization; (c) fine discretization.
Mathematics 14 00392 g023
Figure 24. Boundary curves defining the NURBS and T-Splines patches.
Figure 24. Boundary curves defining the NURBS and T-Splines patches.
Mathematics 14 00392 g024
Figure 25. Procedure used to infer r and n s i d e _ N U R B S . (a) Inference in the NURBS model; (b) resulting model combining T-Splines and NURBS.
Figure 25. Procedure used to infer r and n s i d e _ N U R B S . (a) Inference in the NURBS model; (b) resulting model combining T-Splines and NURBS.
Mathematics 14 00392 g025
Figure 26. Thick-walled cylinder with a circular hole modeled with a patch of T-Splines with extraordinary points and a patch of NURBS. (a) Coarse discretization; (b) intermediate discretization; (c) fine discretization.
Figure 26. Thick-walled cylinder with a circular hole modeled with a patch of T-Splines with extraordinary points and a patch of NURBS. (a) Coarse discretization; (b) intermediate discretization; (c) fine discretization.
Mathematics 14 00392 g026
Figure 27. Distribution of the stress component σ x x [in Pa] in different models: (a) isoparametric FEM; (b) isogeometric NURBS; (c) isogeometric T-Splines.
Figure 27. Distribution of the stress component σ x x [in Pa] in different models: (a) isoparametric FEM; (b) isogeometric NURBS; (c) isogeometric T-Splines.
Mathematics 14 00392 g027
Figure 28. Maximum σ x x stress value for each model considering meshes with different refinements.
Figure 28. Maximum σ x x stress value for each model considering meshes with different refinements.
Mathematics 14 00392 g028
Figure 29. Relative error of the maximum stress component σ x x for the different numerical models.
Figure 29. Relative error of the maximum stress component σ x x for the different numerical models.
Mathematics 14 00392 g029
Table 1. Summary of the number of degrees of freedom (DOFs) and mesh element layouts. For Q8 FEM and NURBS models, the notation n × n denotes the number of elements per direction. For T-splines, the notation n r e f i n e d / n c o a r s e / n s i d e denotes the number of elements along the refined edge, the opposite coarse edge, and the transverse direction edges, respectively.
Table 1. Summary of the number of degrees of freedom (DOFs) and mesh element layouts. For Q8 FEM and NURBS models, the notation n × n denotes the number of elements per direction. For T-splines, the notation n r e f i n e d / n c o a r s e / n s i d e denotes the number of elements along the refined edge, the opposite coarse edge, and the transverse direction edges, respectively.
Isoparametric Q8Isogeometric NURBSIsogeometric T-Splines
DOFsElementsDOFsElementsDOFsElements
4508 × 82428 × 83264/10/7
68210 × 1033810 × 106086/16/10
96212 × 1245012 × 128508/20/12
129014 × 1457814 × 14128010/26/15
166616 × 1672216 × 16168812/30/18
209018 × 1888218 × 18227814/36/21
256220 × 20105820 × 20281416/40/24
308222 × 22125022 × 22356418/46/27
365024 × 24145824 × 24422820/50/30
426626 × 26168226 × 26513822/56/33
493028 × 28192228 × 28593024/60/36
564230 × 30217830 × 30
640232 × 32245032 × 32
721034 × 34273834 × 34
806636 × 36304236 × 36
336238 × 38
369840 × 40
405042 × 42
441844 × 44
480246 × 46
520248 × 48
561850 × 50
696256 × 56
793860 × 60
Table 2. Values of r and the associated number of elements, n s i d e _ N U R B S , used to define the different models with T-Splines.
Table 2. Values of r and the associated number of elements, n s i d e _ N U R B S , used to define the different models with T-Splines.
Isogeometric T-Spline ElementsIsogeometric NURBS Elements r n s i d e _ N U R B S
4/10/710 × 101.42
6/16/1016 × 161.3753
8/20/1220 × 201.33
10/26/1526 × 261.3084
12/30/1830 × 301.2674
14/36/2136 × 361.2785
16/40/2440 × 401.255
18/46/2746 × 461.2616
20/50/3050 × 501.246
22/56/3356 × 561.257
24/60/3660 × 601.2678
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Peixoto, J.C.L.; Rangel, R.L.; Martha, L.F. Automatic Generation of T-Splines with Extraordinary Points Based on Domain Decomposition of Quadrilateral Patches. Mathematics 2026, 14, 392. https://doi.org/10.3390/math14030392

AMA Style

Peixoto JCL, Rangel RL, Martha LF. Automatic Generation of T-Splines with Extraordinary Points Based on Domain Decomposition of Quadrilateral Patches. Mathematics. 2026; 14(3):392. https://doi.org/10.3390/math14030392

Chicago/Turabian Style

Peixoto, João Carlos L., Rafael L. Rangel, and Luiz Fernando Martha. 2026. "Automatic Generation of T-Splines with Extraordinary Points Based on Domain Decomposition of Quadrilateral Patches" Mathematics 14, no. 3: 392. https://doi.org/10.3390/math14030392

APA Style

Peixoto, J. C. L., Rangel, R. L., & Martha, L. F. (2026). Automatic Generation of T-Splines with Extraordinary Points Based on Domain Decomposition of Quadrilateral Patches. Mathematics, 14(3), 392. https://doi.org/10.3390/math14030392

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop