T-splines were originally introduced in Computer Aided Design (CAD) as a superior alternative to NURBS  and have since emerged as an important technology across several disciplines including industrial, architectural, and engineering design, manufacturing, and engineering analysis. T-splines can model complicated designs as a single, watertight geometry and can be locally refined [2, 3]. These basic properties make it possible to merge multiple NURBS patches into a single T-spline [4, 1] and any trimmed NURBS model can be represented as a watertight T-spline .
The use of T-splines as a basis for isogeometric analysis has gained widespread attention [6, 7, 3, 8, 9, 10, 11, 12, 13]. Isogeometric analysis was introduced in  and described in detail in . The isogeometric paradigm is simple: use the smooth spline basis that defines the geometry as the basis for analysis. Traditional design-through-analysis procedures such as geometry clean-up, defeaturing, and mesh generation are simplified or eliminated entirely. Additionally, the higher-order smoothness provides substantial gains to analysis in terms of accuracy and robustness of finite element solutions [16, 17, 18].
An important development in the evolution of isogeometric analysis was the advent of Analysis-suitable T-splines (ASTS). ASTS are a mildly restricted subset of T-splines which are optimized to simultaneously meet the needs of design and analysis [19, 3]. Linear independence of analysis-suitable T-spline blending functions was established in . An efficient local refinement algorithm for ASTS was developed in 
. Later, it was shown that a dual basis, constructed as in the tensor product settting, could be generalized to ASTS. This characteristic of ASTS is called dual compatibility. These results were then generalized to ASTS surfaces of arbitrary degree in .
In this paper we continue to develop the theory of ASTS spaces. Specifically, we provide a rigorous characterization of ASTS and show that the space of smooth parametric bicubic polynomials, defined over the extended T-mesh of an ASTS, is contained in the corresponding ASTS space. To accomplish this, the theory of perturbed ASTS spaces is developed and an ASTS dimension formula is established in terms of the topology of the extended T-mesh. We note that, unlike existing approaches, our dimension formula does not require that the T-mesh have any particular nesting structure. We then show that this characterization, coupled with the dual compatibility of ASTS, can be used to prove that ASTS spaces possess the same optimal approximation properties as tensor product B-spline spaces . Next, we prove under what conditions two ASTS spaces are nested. This provides the theoretical justification for the analysis-suitable local refinement algorithm in  and provides a foundation upon which adaptive isogeometric analysis procedures may be developed in the future.
This paper is organized as follows. Section 2 describes the T-mesh in index space, T-junctions, and the extended T-mesh. T-splines in the parametric domain, blending functions, and T-spline spaces are defined in Section 3. Section 4 describes the conditions under which a T-spline is analysis-suitable. The theory of smoothly perturbed ASTS is developed in Section 5. Section 6 proves the conditions under which two ASTS spaces are nested. Using the characterization of ASTS spaces and dual compatibility several basic approximation results are proven in Section 7. Finally, Section 8 proves the dimension of ASTS spaces.
2 The T-mesh
An important object underlying T-spline spaces is the T-mesh. A T-mesh is used to determine T-spline basis functions and how they are arranged with respect to one another. In other words, the mesh topology of the T-mesh determines the functional properties of the resulting space. In an attempt to adhere to a single notation and to reduce confusion, we define a T-mesh following much of the notation given in [19, 20]. For quick reference, A lists the most important notational conventions used throughout the text and where they are defined.
A T-mesh is a rectangular partition of the index domain , , where all rectangle corners (or vertices) have integer coordinates and all rectangles are open sets. Each vertex in is a singleton subset of . We denote all vertices of by . An edge of is a segment between vertices of that does not intersect any rectangle of . We note that edges do not contain vertices and they are open at their endpoints. We denote all edges of by . Figure 1 shows an example of a T-mesh. The notation will indicate that can be created by adding vertices and edges to .
The valence of a vertex is the number of edges such that is an endpoint. We only allow valence three (called T-junctions) or four vertices. Note that valence two vertices, other than the four corners, are eliminated from the definition.
The horizontal (resp., vertical) skeleton of a T-mesh is denoted by (resp., ), and is the union of all horizontal (resp., vertical) edges and all vertices. Finally, we denote the skeleton to be the union . For a given vertex we define and . We assume that these two sets are ordered.
We split the index domain into an active region and a frame region such that and , and . Note that both and are closed.
A symbolic T-mesh  is created from a T-mesh by assigning a symbol in Table 1 to each vertex in a tensor product mesh formed from the index coordinates, . The symbol is chosen to match the mesh topology of . The symbolic T-mesh corresponding to the T-mesh in Figure 1 is shown in Figure 2.
|Valence 4 vertex, corner vertex, or valence 3 boundary vertex in|
|, , ,||Oriented valence three vertex in|
|Vertical edge in|
|Horizontal edge in|
|No corresponding vertex or edge in|
2.2 Admissible T-meshes
We say that a T-mesh is admissible if it satisfies three basic conditions. First, we require that contains the vertical segments for and the horizontal segments for . These horizontal and vertical lines are for basis function definition near the boundary. Second, we require that contains the vertical segments for and the horizontal segments for . Third, we require that for any two vertices in , such that for some , if (resp., ), then (resp., ). From a practical point of view these are minor restrictions. The T-mesh in Figure 1 is admissible.
We note that for convenience and simplicity, we often refer to only the active region of an admissible T-mesh when speaking of a T-mesh. In all cases, we assume that the frame region has an admissible topology.
2.3 Anchors and T-junctions
We define the anchors . We denote the total number of anchors in by . We define to be the set of all valence three vertices. These are called T-junctions. The symbols , , , indicate the four possible orientations of a T-junction in a symbolic T-mesh. A T-junction (resp., ) of type and (resp., , ) and their extensions are called horizontal (resp., vertical). The solid white and red circles in Figure 1 are anchors and the red circles are T-junctions.
We define a segment to be a closed line segment of contiguous vertices and edges whose beginning and ending vertices are T-junctions (interior or boundary). Given two horizontal (resp., vertical) segments defined over the intervals and we say that if . We denote by (resp., ) the collection of all horizontal (resp., vertical) segments, and by the collection of all segments. We define and . We assume these two sets are ordered. We denote the total number of segments in by . We denote the total number of horizontal (resp., vertical) segments in by (resp., ). We denote the number of line segments in (resp., ) by (resp., ).
2.5 The extended T-mesh
T-junction extensions can be associated with each T-junction. For example, given a T-junction of type we extract from four consecutive indices such that . We call the face extension, the edge extension for such kind of T-junction. Similarly, we can define the face and edge extensions for the other kinds of T-junctions , , which are illustrated in Figure 3.
We denote the extension of T-junction and the union of all horizontal (resp., vertical) face extensions by (resp., ), the union of all face extensions by , and the union of all extensions (face and edge) by . We define the extended T-mesh, , as the T-mesh created by adding to all the T-junction extensions. In other words, . We denote the total number of vertices in by . The extended T-mesh corresponding to the T-mesh in Figure 1 is shown in Figure 4.
Adding T-junction extensions to may introduce three additional collections of vertices. The first, called crossing vertices and denoted by , is created from the intersection of crossing face extensions. In other words,
We denote the number of crossing vertices in by . In Figure 4 the crossing vertices are denoted by red stars.
The second, called overlap vertices and denoted by , is created from the intersection of overlapping face extensions with . In other words,
We denote the number of overlap vertices in by . In Figure 4 the overlap vertices are denoted by green triangles.
The third, called extended vertices and denoted by , is created from the intersection of face extensions and
while removing those vertices which already correspond to overlap vertices. Additionally, all non-anchor vertices are classified as extended vertices. In other words,
We denote the number of extended vertices in by . In Figure 4 the extended vertices are denoted by black squares.
3 The parametric domain and T-spline spaces
be two global knot vectors defined on the interval. Interior knots may have a multiplicity of three while end knots may have a multiplicity of four. The global knot vectors define a full parametric domain, , where and a reduced parametric domain, , where . The T-mesh in the parametric domain is defined as the collection of non-empty elements of the form where . We denote those elements where by . The extended T-mesh in the parametric domain as well as all element related concepts are defined similarly. Throughout this paper we use the index and parametric representation of a T-mesh interchangeably with the context making the use clear.
For each anchor we define its horizontal (vertical) index vector (, respectively) as a subset of (, respectively) where contains five unique consecutive indices in with . The vertical index vector, denoted by , is constructed in an analogous manner. We then associate a T-spline blending function with anchor . The T-spline blending functions are given by
where and are the cubic B-spline basis functions associated with the local knot vectors
and and .
Figure 5 illustrates the construction of a T-spline blending function corresponding to anchor . In this case, the local knot vectors are and .
A T-spline space is simply the span of the blending functions, , .
4 Analysis-suitable T-splines
Analysis-suitable T-splines form a practically useful subset of T-splines. ASTS maintain the important mathematical properties of the NURBS basis while providing an efficient and highly localized refinement capability. Several important properties of ASTS have been proven:
The blending functions are linearly independent for any choice of knots .
The basis constitutes a partition of unity (see Corollary 6.7).
Each basis function is non-negative.
They can be generalized to arbitrary degree .
An affine transformation of an analysis-suitable T-spline is obtained by applying the transformation to the control points. We refer to this as affine covariance. This implies that all “patch tests” (see ) are satisfied a priori.
They obey the convex hull property.
An analysis-suitable T-spline is a T-spline whose T-mesh is analysis-suitable . A T-mesh is said to be analysis-suitable if it is admissible and no horizontal T-junction extension intersects a vertical T-junction extension.
An analysis-suitable T-mesh is shown in Figure 6a. The corresponding extended T-mesh is shown in Figure 6b. Notice that no horizontal extension intersects a vertical extension. The dual basis for an ASTS equips these spaces with a rich mathematical structure which we leverage in this paper .
For a bicubic ASTS, each dual basis function, corresponding to a T-spline basis function with local knot vectors and , is
where and are dual basis functions corresponding to univariate cubic B-splines  whose knot vectors are and , respectively.
5 Perturbed T-splines
From a theoretical point of view, developing a complete and rigorous characterization of T-spline spaces is complicated by the presence of zero knot intervals (especially near T-junctions) and overlap vertices. However, allowing both is important when T-splines are used as a tool in design and analysis.
To overcome this difficulty, we develop the theory of the perturbed T-mesh (and resulting perturbed T-spline space). A perturbed T-spline can be used to prove properties about the original T-spline. In other words, we will generate a perturbed T-mesh, establish the result in the perturbed setting, and then show that the result holds as the perturbation converges to the original T-spline.
5.1 Perturbed T-meshes
A perturbed T-mesh is created by first generating perturbed global knot vectors, , , where is a vector of perturbation parameters. A perturbed global knot vector is written as
where takes the index of the knot in and the segment in and returns a unique index in the perturbed global knot vector. The knot values are initialized as . In other words, a knot index which corresponds to a which contains multiple segments in the T-mesh is repeated times. Notice that this operation induces an index map (resp., ) from the indices in the perturbed global knot vector onto the original global knot vector. The knot values are then perturbed using a small parameter as
where , if , and is equal to , otherwise. The constant, . This same procedure is applied to to form . The T-mesh, , is then modified to form the perturbed T-mesh, , by associating the vertices and edges contained in the segment of with knot . Notice that the number of anchors does not change when forming . A perturbed T-spline space is a T-spline space formed from perturbed global knot vectors and T-mesh. A strictly perturbed T-mesh or T-spline space is one where .
A perturbation of an analysis-suitable T-mesh is shown in Figure 7. The analysis-suitable T-mesh is shown in Figure 7a and the perturbed T-mesh is shown in Figure 7b. Knot intervals are shown instead of knots for simplicity. Recall that a knot interval is simply the difference between adjacent knots in a global knot vector. Notice that the horizontal and vertical zero knot intervals have been replaced by non-zero knot intervals and . The vertical segments with T-junctions are perturbed resulting in a new knot interval .
If is analysis-suitable then is analysis-suitable.
Suppose the extensions of two T-junctions ( or ) and ( or ) in intersect. This implies that and . According to the construction of , we don’t change the order of the indices, so and , i.e., there are intersecting extensions in . ∎
Let be an analysis-suitable T-mesh. For every anchor, , and horizontal index vector, , in the perturbed T-mesh, , where . This also holds for the vertical index vectors.
If the topological symbols corresponding to the indices where , , are not or then the result immediately follows since the indices are contained in a single horizontal segment. Thus, we only need to prove that the result holds when the topological symbol corresponding to is or . Without loss of generality we assume it to be . Since, according to Lemma 5.1, the T-mesh, , is analysis-suitable the symbols for the first two indices in can only be or . Thus, . ∎
If is analysis-suitable and is an offset perturbation then as , where .
6 Refineability and nestedness
We now explore the refineability and nesting behavior of analysis-suitable T-spline spaces. In other words, given two analysis-suitable T-splines spaces, and , we establish the conditions under which . We first establish basic refineability properties when the analysis-suitable T-mesh does not have any knot multiplicities or overlap vertices. Using the theory of perturbed T-splines, we then extend those results to encompass T-meshes which do have zero knot intervals and overlap vertices.
The notation denotes a perturbed T-mesh where and is created by removing those edges and vertices from the strictly perturbed T-mesh which correspond to unperturbed edges and vertices in . By inspection, it is clear that , constructed in this way, is a perturbed T-mesh which satisfies Proposition 5.1, Lemma 5.1, and Theorem 5.2 and that .
The construction of is depicted in Figure 8. Two analysis-suitable T-meshes are shown in Figure 8a and Figure 8b. Notice that . The perturbed T-mesh (shown in Figure 8c) is formed by removing the dotted lines (shown in Figure 8c) from (shown in Figure 8d).
Given a T-mesh, , with no knot multiplicities, and the corresponding extended T-mesh, , the homogeneous extended spline space is defined as
where is the space of bivariate functions which are -continuous in and over all of . is the space of bicubic polynomials. The extended spline space is defined to be .
We first prove that the dimension of is not less than the dimension of . Notice that for any function , . We now show that the dimension of is not less than the dimension of . This is equivalent to showing that there is only one function in which is zero over . It is easy to see that the only function which is zero over must be zero over all of since the minimum support of a cubic spline function is four intervals. ∎
If the extended T-mesh, , of an analysis-suitable T-mesh, , has no knot multiplicities or overlap vertices, then . In other words, the analysis-suitable T-spline space, , and the extended spline space, , are the same space.
We have that (see , Lemma 4.3), so the dimension of is less than that of , which, according to Theorem 8.5, Proposition 6.1, and Theorem 8.9 is the number of active vertices. Since the blending functions for anaysis-suitable T-splines are linearly independent the dimension of is also the number of active vertices. Thus, the two spline spaces are identical. ∎
Given two analysis-suitable T-meshes, and , neither of which has knot multiplicities or overlap vertices, if , then .
Obviously, . Since and are analysis-suitable, according to Lemma 6.3, . ∎
Given two analysis-suitable T-spline spaces, and , if , then .
Suppose the perturbed T-spline space, , is spanned by the basis functions, , and the perturbed T-spline space, , is spanned by the basis functions, . We have that
According to Theorem 4.41 in , is bounded, so
Given two analysis-suitable T-meshes, and , if , then .
Every analysis-suitable T-spline space contains the space of bicubic polynomials.
Every analysis-suitable T-spline space forms a partition of unity. In other words, , .
This immediately follows from Proposition 6.2 and the fact that . ∎
As described in [20, 21] approximation properties of analysis-suitable T-splines are directly linked to Proposition 6.2. In other words, having the bicubic polynomials in the T-spline space is the minimal requirement to obtain an convergence rate in the mesh size.
We denote the open support of a T-spline basis function by , and the extended support of an element by , where
We will denote by the smallest rectangle in containing and .
Given an analysis-suitable T-spline space, , the projection operator is (locally) h–uniformly continuous in the norm. In other words, there exists a constant independent of such that
Note that the constant may depend on the polynomial degree.
Given an analysis-suitable T-spline space, , there exists a constant independent of such that for
where denotes the diameter of . Note that the constant may depend on the polynomial degree.
In this section, we develop a dimension formula for polynomial spline spaces defined over the extended T-mesh in the parametric domain of a T-spline and establish the connection between this dimension formula and analysis-suitable T-spline spaces. The dimension formula, written only in terms of topological quantities of the original T-mesh, is an essential ingredient in establishing the refineability properties in Section 6 and the approximation results in Section 7 for analysis-suitable T-splines. The essential results are proven in Theorems 8.5 and 8.9.
Unlike existing approaches, our dimension formula does not require that the T-mesh have any nesting structure. Of critical importance is how this dimension formula can be directly related to analysis-suitable T-spline spaces which can then be used to construct a simple set of basis functions for the spline space which are compatible with commercial CAD and analysis frameworks.
8.1 Smoothing cofactor-conformality method
We use the smoothing cofactor-conformality method [25, 24] to transform the smoothness properties of into a linear constraint matrix, . This constraint matrix is then analyzed to determine the dimension of . We recall that the spline space, , is defined using the extended T-mesh, , corresponding to a T-mesh, , which does not have any knot multiplicities.
8.1.1 Vertex and edge cofactors
As shown in Figure 9, for any vertex, , the surrounding bicubic polynomial patches are labeled, , . If the vertex, , is a T-junction, then for some . Since and are -continuous there exists a cubic polynomial , called the edge cofactor, such that
8.1.2 Assembling the constraint matrix,
We call the solution space, denoted by , for this linear system the edge conformality space. Similarly, for a vertical segment we have that
If each and are different, then the dimension of and are and respectively.
where is a column vector of all vertex cofactors in and is a real matrix. Each edge conformality condition corresponds to a submatrix consisting of rows of and each vertex cofactor corresponds to a column of .
The dimension of is the nullity of , i.e., the dimension is minus the rank of .
8.2 Simplifying the constraint matrix, , and
It is possible to simplify the constraint matrix, , and the topology of the extended T-mesh in the parametric domain, , such that the null space of is undisturbed. To remove a vertex from means we delete the corresponding column from and to remove a segment from means we delete the appropriate submatrix from . We form the reduced constraint matrix by removing the eight segments and contained vertices , , , ,