2. Conventional IGA Procedures
2.1. Tensor-Product of Local Knot Vectors (MODEL-1)
It is well known that for two given global knot vectors associated with a patch, the tensor-product B-spline (or NURBS) functions can be determined using Cox–de Boor recursion [
5,
6]. The same can be performed in T-spline approximation, with the only exception being that the tensor-product is based on local knot vectors associated with anchors.
For the sake of simplicity, we limit ourselves to cubic T-splines (i.e., those with polynomial degree ). Therefore, in a usual T-spline it is sufficient to construct a matrix, let us call it , which for each anchor ‘’ determines the knots of those other anchors to the left and the right of that under consideration, and thus forming the local knot vector . Similarly, we need another matrix, let us call it , which determines the knots of those anchors at the bottom and the top of that under consideration, and thus forming the local knot vector . Again, for , the matrix (and similarly ) is of the size , where is the number of anchors in the T-patch. Based on these two matrices as input, for each couple of the T-patch, we can determine the tensor-product of B-splines, .
The abovementioned B-spline functions,
and
, can be easily calculated using the function
spcol included in MATLAB
® R2018, but open-source software is also available in many repositories and books (e.g., [
7]).
Moreover, in the case of
, for any set of five nondecreasing knots
, which may be a single row from the abovementioned matrix
, there is a single piecewise cubic B-spline function
, which analytically is given by the following (see, e.g., [
8]):
In general, the independent variable and the knots to shown in Equation (1) may represent either of the parameters or , as well as the knots involved in the abovementioned local knot vectors and . Therefore, for each anchor ‘’, Equation (1) applied to determines one B-spline , and applied to produces . The range of the non-vanishing tensor-product bivariate basis function is the rectangle . In general, a weight is associated to the anchor .
Based on the above B-spline functions
and
, for each anchor ‘
’ we can calculate the bivariate blending function
. When the patch is curvilinear, each anchor is also associated to a weight
. Following the notation in [
2], if ‘
’ is the set of all the anchors in the patch, we define the blending functions as follows:
Clearly, the numerator of Equation (2) represents a weighted tensor-product of the local B-spline functions associated to the anchor ‘
’. The denominator
represents the sum of the weighted tensor-products due to all the contributed anchors, and is set to ensure the partition of unity property at every point
of the parametric space:
Based on the above blending functions
within a curvilinear patch, and given the control points
, the T-spline in physical space is described by the following:
It is instructive to recall that in the special case of a NURBS tensor-product of degree
, the abovementioned set ‘
’ consists of exactly
, i.e., sixteen, nonzero bivariate basis functions which fulfil Equation (3). In contrast, in a sub-patch of a T-spline, there may be more than 16 non-vanishing bivariate blending functions. Regarding an annulus, Ref. [
4] shows that most T-elements are influenced by 16 (and a few of them by 17) blending functions.
As discussed above, regarding a certain T-spline patch, it is possible that a part of it (an element) is influenced by 16 non-vanishing blending functions, whereas another element might be influenced by 17. Moreover, another possibility is that the same number of 16 functions might be in evidence, but different blending functions may dominate in different elements of the same patch. In all these cases, we talk about “elements with reduced continuity”, and to make these elements suitable for isogeometric analysis, it becomes necessary to subdivide them with continuity reduction lines (extended T-mesh), and thus an increased number of T-elements is produced. As a result of this process, we have an “Analysis Suitable T-spline” (AST) patch.
After the creation of analysis-suitable T-elements, the blending functions of Equation (2) may be used to estimate the mass and stiffness matrices associated with the T-patch under consideration.
2.2. The Standard Utilization of the Bézier Extraction Operator (MODEL-2)
Despite the ease in the implementation of Equation (1), and although numerical evaluations may be easily performed using open-source libraries or proprietary libraries, the tendency is to utilize the Bézier extraction (BEXT) version. The basic theory is given below.
In the theory of computer-aided geometric design (CAGD), it is well known that knot insertion does not alter the shape of a curvilinear patch, either in shape or parametrically [
7]. For one-dimensional interpolation of a curve
with
, initially we have
C2-continuity at the inner knots, and after one knot insertion it decreases to
C1-continuity. Continuing with a second knot insertion at the inner knots (thus, three equal knots in total, i.e., equal to degree
), the continuity further decreases to
C0. Therefore, when the multiplicity
of inner knots becomes equal to the polynomial degree
, we obtain
C0-continuity at the inner knots.
Moreover, for a two-dimensional NURBS patch, the above procedure is again applicable, but then the multiplicity of the inner knot should become
, so that
C0-continuity is obtained in both directions. As shown in [
3], the column-vector including the non-zero B-spline (basis) functions
is related to the extracted Bernstein polynomials stored in the column-vector
per element, through the following formula:
where
is the Bézier extraction operator matrix, which corresponds to the
e-th B-spline tensor-product element. In general, in a NURBS patch,
is a matrix of size
, whereas
and
are column-vectors of size
, due to the local-support property of B-splines.
In a similar way, for a two-dimensional T-spline patch, Scott et al. [
4] presented a pseudocode and showed that multiple knot insertion leads to the “Bézier extraction operator matrix”,
, which may be used to estimate the
C2-continuous blending functions of the T-spline element assembly. It is clarified that
comes from the same concept as the one underlying the expression in Equation (5) for NURBS patches, but is now applied locally for the T-spline patches.
In more detail, given the initial control points
and their weights
of the
C2-continuous
e-th T-spline element, the abovementioned multiple knot insertion alters the initial weights according to the following formula:
In Equation (6), denotes the updated element weights after the multiple knot insertion, whereas are the initial given element weights which are associated to the initial control points .
As we mentioned earlier, within a T-mesh there may be some sub-patches of reduced continuity, and this has been a matter of intensive research [
9]. To ensure uniqueness and then perform accurate numerical integration, it becomes necessary to elongate some edges of the T-mesh and thus obtain an analysis-suitable T-mesh. Nevertheless, although this procedure leads to an increased number of analysis-suitable T-elements, a standard number of non-vanishing blending functions is not always ensured.
As we shall see later, in the benchmark test of the annulus (Example 3), which has been studied in [
4], most of the elements are influenced by
nonzero basis functions, but also there are two elements which are influenced by 17 functions. This in turn means that, for most elements, the Bézier extraction operator matrix
will be of size 16 × 16, but in some of them, it will be of the size 17 × 16.
For the sake of completeness, the computation of the blending functions is performed as follows:
From Equation (2) one may observe that the bivariate blending functions
are tensor-products of local univariate basis functions, properly normalized, as follows:
where the denominator
is the so-called “weighting function”. Each blending function
is associated to an anchor
, which for the polynomial degree
is a true control point.
At a certain point of the T-patch, there are a number of ‘’ nonzero bivariate basis functions, in sum approximating the value (e.g., 16, 17, …).
Dropping out the subscript ‘
e’ denoting the element under consideration, if
is the diagonal matrix which includes all the above ‘
’ involved weights,
and
is the column-vector (of size
) of all the bivariate B-spline functions affecting the element under consideration, then Equation (7) is rewritten in a matrix form which provides the rational column-vector
[of size
],
To obtain the blending functions, we still need to calculate the weighting function
, which is involved in the denominator of Equation (9). The latter is written as
Substituting the B-spline column-vector
from Equation (5) into Equation (10), the latter becomes
Substituting Equation (6) into Equation (11), we receive the following:
where
is a column-vector of standard size 16 × 1, including the weights associated to the Bézier–Bernstein basis functions. Substituting Equations (5) and (12) into Equation (9), we eventually receive the following:
where
is the diagonal matrix including the initial weights of the control points in the
C2-continuous model (cf. Equation (8)). Equation (13) dictates that it is not necessary to directly calculate the B-spline functions, either through the recursive (Curry–Schoenberg 1966) formulas or by using the analytical ones given by Equation (1), but only the extraction matrix
, which depends only on the knot vectors, while the expression of the tensor-product Bernstein polynomials
is trivial.
Based on the blending functions given by Equation (13), the computation of the mass and stiffness matrices is straightforward.
3. The Proposed Computational Procedure (MODEL-3 and MODEL-4)
3.1. General Theory (MODEL-3)
Although Ref. [
4] has focused on the estimation of the
C2-continuous blending functions according to the BEXT Equation (13), for the purposes of the present paper we focus below on the updated control points as well.
In more detail, given the initial set of control points
and their associated weights
in the
C2-continuous T-spline model, the multiple knot insertion until the multiplicity becomes equal the degree p, provides new control points
according to the following formula:
In Equation (14), the superscript ‘
’ indicates projective coordinates, i.e., Cartesian coordinates multiplied by the associated updated weight, whereas the superscript ‘T’ indicates the transpose of the BEXT matrix
Ce. Moreover, as previously mentioned in
Section 2.2, in Equation (6),
denotes the updated weights of the new control points
Q (after the multiple knot insertion), whereas
are the initially given weights associated to the initial control points
P. Note that the superscripts {
} and {
} are set only to clearly indicate the status after and before knot insertion, respectively.
Regarding the size of the arrays involved, we repeat that the element Bézier extraction operator matrix includes as many rows as the number of the non-vanishing blending functions within the T-spline element (e.g., 16, 17), whereas the number of columns is standard, and equal to 16. Therefore, in general, is a non-square matrix. Concerning the element vector of control points and the associated vector of element weights in the initial C2-continuous model, each of them has exactly as many rows as the matrix (i.e., 16, 17, etc.). Interestingly, whatever the number of rows in is, the resulting number of updated control points in the C0-continuous Bézier element equals .
The applied algorithm of the present paper is as follows:
Based on the initial control points P and the given index space, create analysis-suitable T-spline elements.
Apply the BEXT matrix in each of the above T-spline elements, and thus determine the following:
- ○
The updated control points ;
- ○
The associated weights .
Find the unique control points
among the above
(initially including
points), and thus determine the final number of
control points, which fully defines the
rational Bézier elements. An instructive example is presented in
Section 3.3. Alternatively, one could implement a variation of the Oslo algorithm [
10], which is a recursive procedure designed to simultaneously handle multiple knot insertion.
For the abovementioned rational Bézier elements, calculate the element stiffness matrix (and mass matrix, if necessary). Note that, since in the present paper only cubic elements have been implemented (degree ), there are always control points in each rational Bézier element, and thus for potential problems (one degree of freedom per node) each element matrix has a size of 16 × 16. Obviously, if the same concept is extended to plane elasticity problems, the stiffness (or mass) matrix of each rational Bézier element will have a size of 32 × 32, and so on.
Build the total matrices of the entire T-patch, apply the boundary conditions, and solve the equations system to determine the unknown coefficients.
As we demonstrate below in the five examples of the present paper, the final number, , of control points in the proposed C0-continuous model is larger than the initial number of control points in the C2-continuous one. By analogy to the tensor-product NURBS model, a closed-form expression will be provided below for the quantity .
3.2. Estimation of Control Points nQ for C0-Continuity
To establish the procedure for the estimation of the updated control points
Q which are produced by the BEXT process, we resort to the conventional tensor-product B-spline approximation. For the sake of simplicity, we consider the piecewise cubic tensor-product B-spline patch shown in
Figure 1a (of degree
) for the following unidirectional knot vector:
Based on trivial computer-aided geometric design (CAGD)-theory [
7] (p.66), the number of control points per direction is given by
where
is the number of elements in the knot vector
. Since in Equation (15) there are
knots and
, we have
per direction, which means
control points in the entire two-dimensional patch.
After double knot insertion at the
inner knots, as required by BEXT [
7] (p.161), the number of control points per direction becomes
and therefore, the total number of the updated control points {
} after BEXT will be
Figure 1.
Tensor-product (a) B-spline in traditional form; (b) T-spline form after knot insertion.
Figure 1.
Tensor-product (a) B-spline in traditional form; (b) T-spline form after knot insertion.
Below, the same result will be derived, considering now the tensor-product B-spline patch as a T-spline patch. The conclusions of this approach will be extended to T-spline patches as well.
Obviously, the above two-dimensional B-spline patch, as described by Equation (15), is equivalent to a T-mesh with six anchors per direction, and thus forming the following index space:
The anchors in the set described in Equation (19) are denoted by blue-colored lines in
Figure 1b. The BEXT procedure requires the knot insertion at the inner knots, such as
ξ3 = 1/3 and
ξ4 = 2/3, until the multiplicity becomes
. This demands the introduction of the red-colored lines shown in
Figure 1b, wherein one may distinguish three different types of knots, as follows:
Type A: Knots related to the corners of the patch (four corners with four anchors per corner).
Type B: Knots related to intermediate places along the four edges, not coinciding with the corners (six anchors per initial knot).
Type C: Knots related to initial knots in the interior of the patch (nine anchors per initial knot).
Based on the above categorization, for the case shown in
Figure 1b, in which there are four, six, and nine initial knots of categories A, B, and C, circled respectively, we have
A procedure similar to that used to determine the number may be followed for a T-mesh, which is again divided into the above three categories, A, B, and C. The only minor exception concerns elements of reduced continuity, in which extra inner knots are added in the index space by the extension of existing connecting lines, as mentioned earlier. Depending on the location of these extra points, which may also be classified as Type C, the full number ‘9’ or part of it may be applied to them.
3.3. On the Uniqueness of Control Points
Let us continue working with the nine tensor-product B-spline elements illustrated in
Figure 1, which are based on the univariate knot vector of Equation (15).
For this configuration, the initial (
) control points are shown in
Figure 2a, whereas those (
) after multiple knot insertion are shown in
Figure 2b. One may observe that, after the multiple knot insertion, each of the nine Bézier elements is occupied by 4 × 4 = 16 control points. Obviously, the number of the actual
control points differs from the blind product
9 elements × 16 control points per element = 144.
The above discrepancy between the erroneous and the correct is due to the following reasons:
Each of the four control points at the intersections between horizontal and vertical inter-element boundaries (illustrated in
Figure 2b by red circle,
) belongs to four elements, while they must be countered only once. Therefore, instead of the blind number 4 × 4 = 16, we must consider only four of them, which means that we have twelve additional fictitious points to subtract from 144.
Each of the thirty-two control points along the inter-element boundaries (illustrated in
Figure 2b by red cross,
) belongs to two elements, and therefore a blind computation would result in 32 × 2 = 64 points. To obtain the exact number, half of them (i.e., 32) must be subtracted from 144.
Therefore, the total fictitious number of the additional control points is 12 + 32 = 44. When the latter (44) is subtracted from the blind number , we obtain the correct number, .
3.4. Fixing C0 and G0-Incompatibilities (MODEL-4)
Although the procedure discussed in
Section 3.1 (MODEL-3) is straightforward, sometimes there are minor shortcomings to be corrected before analysis is performed. In this context, it may happen that within a sub-patch there is a “discontinuity”, and thus partitioning using an extension line is necessary for the accurate numerical integration (e.g., the dashed line GH shown in
Figure 3a). For example, in the test case of [
4] (p. 134), it was shown that among twenty-four T-spline elements, twenty-two of them are affected by 16 whereas the other two are affected by by 17 control points.
To be more specific, the discontinuity of the sub-patch (I) in
Figure 3a demands its subdivision (using the abovementioned extension line GH) into sub-patches I(a) and I(b). After the introduction of the line GH, the model becomes “analysis-suitable” (AS). This means that each of the produced new elements I(a) = HGFE and I(b) = BCGH is continuous and thus accurate numerical integration is allowed. This task is compulsory even in the original IGA and is performed using only information provided by the index space. However, in the original IGA, the hanging node H is no problem at all, because it is not associated with an independent degree of freedom (and thus the compatibility makes no sense), but rather—as was previously mentioned—the line GH serves only for domain integration.
On the contrary, in the framework of the present paper it was found that although the abovementioned Bézier elements (I(a) and I(b)) are well formed, their neighboring Bézier element (II), which shares a common edge BE (perpendicular to the end H of the extension line GH) with the sub-patch (I) of reduced continuity, is not compatible (see also
Figure 3b). Clearly, this happens although the Bézier element (II) is fully continuous. Although sometimes the accuracy of the numerical solution may be sufficient while ignoring the incompatibility, in general it becomes imperative to perform a further tessellation on the largest element (II), as shown in
Figure 3c. The procedure of this tessellation is easy and is based on the common edge previously considered, from the side of the element (I) of reduced continuity. A full description of the applied numerical scheme is given in
Appendix A and
Appendix B.
Therefore, given the index space of a T-spline, the first step in IGA is to introduce the extension lines GH, and thus the number of incompatibilities equals the number of points H at the ends of them. Before the tessellation (MODEL-3), the total number of Bézier elements is , of which a set of (like the abovementioned element (II)) is incompatible. Therefore, out of the initial elements are compatible.
Regarding MODEL-4, we recall that the common edges at which tessellation is further conducted are perpendicular to the ends H of the extension lines GH, whereas the total number of Bézier elements becomes . As for the extra computation effort of MODEL-4 with respect to MODEL-3, the former includes one extra rational Bézier element per incompatibility, which means that the extra computer effort for the estimation of the element matrices is of the computer effort in MODEL-3. (Note that the matrices of elements remain unaltered.)
5. Results
The theory is supported by five examples. The first two examples are simple rectangles and have been devised to require edge extension in the same direction at two places to ensure analysis-suitable T-splines. The third example refers to an annulus and follows the pattern of [
4], which also requires two edge extensions, but in this case, in relatively perpendicular directions. The fourth example utilizes a more complicated index space, as it refers to a fully two-dimensional problem. The fifth example has an index space similar to that of the annulus (third example) but refers to a rectangular domain.
Each example was solved using four models, as follows:
MODEL-1: B-spline functions N were calculated as local tensor-product associated to control points P, using de Boor’s spcol MATLAB® function; Equation (1) is also applicable as an alternative. Furthermore, weights and normalization were imposed to obtain the final blending functions R.
MODEL-2: B-spline functions N were calculated using Bézier extraction operator matrices, , which were associated to initial control points P. Furthermore, weights and normalization were imposed to obtain the final blending functions R.
MODEL-3: Basis functions B (Bézier–Bernstein polynomials) are known functions and were combined with the new control points Q on the Bézier elements of C0-continuity.
MODEL-4: When MODEL-3 leads to inter-element incompatibility like that demonstrated in
Figure 3, the larger Bézier element is subdivided according to
Appendix A and
Appendix B, thus eventually producing the further-updated set of control points
Q′, which is slightly larger than
Q. Based on the further corrected weights
wQ′ and the further updated set of control points
Q′, we construct the new rational Bernstein polynomials
B′ which constitute the final set of basis functions.
By the theory, MODEL-1 and MODEL-2 are identical, because they only use a different computational procedure to calculate the same B-spline functions N, which are associated to the same control points P, and at the same Gauss points. The only reason that MODEL-2 is separately mentioned here is because it crosschecks the accuracy of the computer code and thus increases confidence.
In each example, for the first three models (MODEL-1 to MODEL-3), the number of (T-spline or Bézier) elements and the number of Gauss points is the same. Nevertheless, the number of the involved DOFs of MODEL-3 differs from those of (MODEL-1 and MODEL-2), i.e., we always have
, as was explained in
Section 3.1 and
Section 3.2.
Furthermore, in MODEL-4 the number of elements is larger by those subdivided, whereas the number of DOFs () is slightly larger than .
In the steady-state problems (Laplace equation), the accuracy of the models was expressed in terms of the
L2-norm in percent (%), using the following formula:
All computations were performed on the same PC, using MATLAB® R2018.
5.1. EXAMPLE 1: Vertical Heat Flow
In the rectangular domain of size
, of which the index space is shown in
Figure 4, the temperature is prescribed on the bottom and top edges as follows:
(at
) and
(at
); the vertical edges at
and
are fully insulated
.
One may observe in
Figure 4 that the index space includes
anchors and 19 initial patches. However, to ensure continuity, it becomes necessary to extend the edge 19–20 by two units to the right (thus producing the new points 1 and 2, connected by dashed line), and to extend the edge 38–37 to the left (thus producing the new points 3 and 4, connected again by dashed line). In this way, the number of degrees of freedom (DOF) remains the same at
, but due to the two subdivisions (each by two units), the number of T-spline elements in which Gauss integration will be performed increases, from the initial 19 to, eventually,
.
The numerical solution using MODEL-1 and MODEL-2, which is associated to the system of
DOF shown in
Figure 4, was found to coincide with the exact solution,
, with
.
Regarding the formation of Bézier elements produced after multiple knot insertion using BEXT (which constitutes MODEL-3), one may observe in
Figure 5 two shortcomings regarding compatibility, as described in the following. The first shortcoming concerns the element at the upper left corner along the edge (31–43 in
Figure 4, 108–159 in
Figure 5) and the second refers to the element in the lower right corner along the edge labelled (14–26 in
Figure 4, 43–64 in
Figure 5). Nevertheless, the numerical solution of MODEL-3
DOF) was also found to coincide with the exact solution. It is hypothesized that this happens because the heat flow is vertical, and the existing vertical edges do not interrupt the continuity of the interpolation. It is worth mentioning that the implementation of MODEL-4 (not shown but explained in Example 2) did not change the excellent result of MODEL-3 at all.
It is worth mentioning that the number of
control points could be predicted by classifying the anchors into three categories according to
Section 3.2. Thus, considering (A: 4 corners, B: 14 intermediate anchors on boundary, and C: 9 internal anchors including the extra ones produced after extension), the result,
, is shown in
Table 1.
The distribution of the temperature using MODEL-3 is shown in
Figure 6, but it is the same in all four models.
5.2. EXAMPLE 2: Horizontal Heat Flow
The same geometric model as that of Example 1 is now solved under different Dirichlet boundary conditions: and on the vertical edges, whereas the bottom and top edges are now thermally insulated (). Obviously, the heat flow is horizontal, and the exact solution is given by with .
Again, the T-mesh is the same as that shown in
Figure 4, whereas the obtained set of
Bézier elements after Bézier extraction is again that shown in
Figure 5 (for MODEL-3).
As previously was the case, again in Example 2, MODEL-1 and MODEL-2 resulted in zero errors across the entire domain, as shown in
Figure 7.
Nevertheless, now, the average numerical error of MODEL-3 (
Figure 5, 23 Bézier elements) is substantially larger, equal to about 8.39%, as shown in
Figure 8. This problematic result obviously happens because the heat flux
is discontinuous when it passes through the incompatible vertical edge 108–159 in the large Bézier element at the upper left corner, as well as from the vertical edge 43–64 in the large Bézier element at the lower right corner.
To fix this error, we must ensure continuity along the two abovementioned interfaces 108–159 and 43–64 by splitting the neighboring elements and thus obtaining
Bézier elements (an extra 2, in addition to previously
elements) associated to
nodes (previously
). This configuration defines MODEL-4, shown in
Figure 9, which eventually leads to zero error (precisely,
L2 = 4.91 × 10
−10%). The distribution of the temperature for MODEL-4 is perfect, as shown in
Figure 10.
5.3. EXAMPLE 3: Annulus
5.3.1. T-Spline Model
This example is a standard benchmark test [
4], originally from Scott’s Ph.D. thesis [
11], for which all technical data (coordinates, weights) have been provided. It refers to an annulus of a central angle of 90 degrees, with internal radius
and external radius
. The index space, for polynomial degree
, is shown in
Figure 11.
One may observe in
Figure 11 that the index space consists of
anchors, and those numbered ‘25’ and ‘33’ are of valence 3. Therefore, as previously, we must extend the associated central edge (‘26-25’ and ‘25-33’, respectively) to recover the reduced continuity along the pseudo-lines ‘25-1-2’ and ‘33-3-4’, respectively. In this way, the initial 20 sub-patches increase to
T-spline elements (note that those between double boundaries are of zero area and thus ignored). In more detail, the sub-patch bounded by the anchors ‘19-20-32-31’ splits into ‘19-20-1-2’ and ‘2-1-32-31’. Similarly, the sub-patch ‘20-21-33-32’ splits into ‘20-21-25-1’ and ‘1-25-33-32’. Moreover, the sub-patch ‘32-33-34-41-40’ splits into ‘32-33-3-40’ and ‘33-34-41-3’. Finally, the sub-patch ‘40-41-48-47’ splits into ‘40-3-4-47’ and ‘3-41-48-4’. It is worth mentioning that, even after the final decomposition in
C2-continuous elements, the number of DOFs remains at the initial
anchors (the double anchors along the boundary are also included).
For the above model of
DOF (MODEL-1 and MODEL2), the result is shown in
Figure 12.
Moreover, in
Figure 13 we present the
Bézier elements associated to
unique nodes (MODEL-3), exactly as were produced using the Bézier extraction operator matrix. One may observe that the second element from the bottom in the first column (also shown as ‘18-19-31-30’ in
Figure 11) is not compatible with its neighboring element (the edge ‘19-2-31’ of
Figure 11).
After the tessellation of the abovementioned element ‘18-19-31-30’ (of
Figure 11) in the vertical direction, the number of nodes in the assembly of the final
Bézier elements further increases, from
to
, as shown in
Figure 14 (MODEL-4).
For all of the four models, the calculated average errors, according to Equation (28), are given in
Table 2. One may observe that MODEL-3 is worse than MODEL-1 and -2, the value for which was previously presented in
Figure 12 (due to incompatibility), whereas MODEL-4 is the most accurate.
5.3.2. Tensor-Product Model
For the sake of completeness and to sustain the tendency of the accuracy in the four models tested, we also present results obtained using the tensor-product using uniform knot distribution. More precisely, for both directions we used the uniform knot vector:
This means four uniform subdivisions per direction (both circumferential and radial), and thus DOFs, for MODEL-1 and MODEL-2.
Regarding MODEL-3 and MODEL-4, obviously they are identical, consisting of 4 × 4 = 16 Bézier elements, and associated to DOFs.
For all of the four models, the results are shown in
Table 3. One may observe here that, in contrast to the T-spline model (reported in
Table 2), the MODEL-3 is superior to MODEL-1 and MODEL-2 (has half the error), because it also represents MODEL-4, which in all the previous cases was the best overall. However, we must consider that MODEL-4 used 3.4 times more DOFs than MODEL-1 and MODEL-2.
5.4. EXAMPLE 4: Thermal Analysis of Rectangular Domain
This example is a fully two-dimensional problem in which the Laplace equation dominates (
), under partial Dirichlet and Neumann boundary conditions. It refers to a rectangular domain of size
(
Figure 15), of which the temperature along the right vertical edge is given as
The exact solution is given as
The index space consists of 54 anchors (
Figure 16) and requires extension in all of the four directions. Therefore, using an in-house computer code we have inserted four new knots (55, 56, 57, and 58), dividing an element into three parts (i.e., 22-55-57-56, 56-57-58-31, and 55-23-32-58-57), in combination with their updated weights.
Figure 15.
Dimensions and boundary conditions for the rectangular domain.
Figure 15.
Dimensions and boundary conditions for the rectangular domain.
The initial ANS-model consists of the 26 elements which are used in the first three computational models (MODEL-1, MODEL-2, and MODEL-3). Due to the incompatibility along the double face 24-33 shown in the index space (
Figure 16), the patch (24-25-34-33) is subdivided into two parts and thus in MODEL-4 the number of Bézier elements increases (from 26) to 28, as shown in
Figure 17. The deterioration of the numerical solution in MODEL-3 and its spectacular improvement in MODEL-4 is shown in
Table 4. The distributions of the exact and calculated temperatures are shown in
Figure 18 and
Figure 19.
5.5. EXAMPLE 5: Rectangular Acoustic Cavity
We consider a rectangular cavity of size
, and wave velocity
, under Neumann boundary conditions (
). The closed-form analytical eigenvalues may be found in [
12].
The index space is shown in the previous figure,
Figure 11, and thus consists of n
P = 57 anchors. All of the four models were taken to be the same as those in Example 3.
For each separate acoustic mode, the error (in percent) was calculated according to the following formula:
In
Figure 20, we present the error of the first fifty calculated eigenvalues using MODEL-1 (57 DOFs, 24 elements), MODEL-3 (
DOFs,
elements), and MODEL-4 (
DOFs,
elements). One may observe the superiority of MODEL-4 in the entire spectrum of frequencies, mostly in the lower ones, in which MODEL-3 (although better than MODEL-1 and MODEL-2) slightly underestimates the exact eigenvalues.
Moreover, we also present the second normalized calculated eigenvector in
Figure 21, as calculated in MATLAB
®, which is consistent with the properly scaled exact eigenvector
.
Overall, one may observe that in this example, the tessellation of the one neighboring Bézier element did not seriously affect the quality of the numerical solution.
6. Computational Issues
In
Section 5 we have demonstrated that once the solution of MODEL-4 is completed, we have a sufficiently accurate numerical solution across the entire domain, and one which can be used for a posteriori error estimation. Afterwards, the initial T-mesh may be properly refined following well-known (or even possible novel) procedures, and thus a second
-continuous IGA may follow, and so on.
In this pilot study, the approach we followed was as follows. We completed the IGA solution (MODEL-2) and then continued with the computation of the Bézier elements (MODEL-3). At the end, we performed MODEL-4. In other words, in this study each model was solved sequentially and separately.
However, it is possible for MODEL-2 [with element matrices associated to DOFs] and MODEL-3 [with element matrices associated to DOFs] to be integrated into the same loop, at least in two alternative ways, as follows.
The first way is to take into consideration that spline elements and Bézier elements share the same Gauss points and have the same Jacobian matrix at them (because the shape of the patch does not change after knot insertion), and thus the computer effort for the Bézier elements may be substantially reduced, if properly programmed.
The second way is to consider Equation (5), in which the Bézier extraction operator is the transformation matrix between the two sets of basis functions (spline elements denoted by the subscript ‘P’, and Bézier elements denoted by ‘Q’). Thus, the element matrices of each Bézier element are directly calculated in terms of the associated NURBS element using the following algebraic quadratic form:
without performing any numerical integration at all (see, [
13]). At the end of each element loop, we will receive two sets of matrices, the former
and the latter
, both of standard size, which will eventually occupy different positions in their corresponding total matrices
and
, according to the associated connectivity (topology) arrays, (IEN)
P and (IEN)
Q, respectively.
Again, although the spline elements in a NURBS patch and the assembly of the associated Bézier elements are produced by the same number of non-zero matrix elements according to Equation (33), it is their final location in the system matrices which determines a larger model for the Bézier elements (). In this sense, the utilization of the assembly of associated Bézier elements should not be confused with any arbitrary higher-order FEM, because this assembly is within the IGA context, having a particular quality due to the similarities of the Jacobian matrix with IGA across the entire domain.
To remove any doubt, it is instructive to discuss the NURBS model (36 control points) and its associated Bézier model (100 control points), which are shown in
Figure 2a,b, respectively. Since the problem under study is potential (Laplace equation, wave equation, etc.), we have one degree of freedom per control point. The NURBS model consists of nine spline elements, each with a size of 16 × 16, and thus in principle it utilizes 9 × (16 × 16) = 2304 non-zero matrix elements, which eventually build a total stiffness matrix
of size 36 × 36 including 900 non-zero matrix elements
with bandwidth 21 (
Figure 22a). On the other hand, the associated assembly includes nine Bézier elements, which again utilize in principle 2304 non-zero matrix elements according to Equation (33), and eventually build a total stiffness matrix
of size 100 × 100 with 2116 non-zero matrix elements
and bandwidth 33 (
Figure 22b).
In other words, the IGA element matrices (MODEL-2) are transformed (according to Equation (33)) and are eventually located in a matrix larger than NURBS, but less populated. This is the central point of the present paper.
Moving from the abovementioned NURBS to
T-splines, the two alternative computational ways are again valid, but the second one may conditionally need some modifications. Therefore, since the BEXT
is
not always a square matrix (e.g., in the present paper we noticed a few elements of size 17 × 17, whereas most of them were of the standard size 16 × 16), we cannot always construct the inverse matrix
as was the case in Equation (33). For these elements (larger than 16 × 16), after trivial matrix manipulation, one may easily validate that the matrices of the Bézier elements are slightly different, given by:
Equations (33) and (34) have been carefully tested, and only minor truncation errors were noticed between the several alternatives.
7. Discussion
It is well known to people working on IGA (isogeometric analysis) that knot insertion preserves the number of elements as well as the shape and the parameterization of the patch. To achieve Bézier elements of NURBS with
C0-continuity, it is adequate to insert repeated interior knots to the global knot vectors in both directions until the multiplicity equals the polynomial degree,
. This will increase the degrees of freedom, even though the element number is not changed. Since the solution space is expanded, the accuracy will be definitely improved, because the resulting solution space is a superset of the original solution space. The advantage of using the assembly of the associated Bézier elements, compared with the classical higher-order FEM, is that the shape and the parameterization of the patch, and thus the
Jacobian matrix, are preserved, which means a mesh
quality in the aforementioned assembly which is very consistent with IGA [
13,
14].
Beyond the state of the art, the present paper showed that each member in the assembly of the associated Bézier elements is merely a quadratic form (or similar, according to Equation (33) or (34)) of the same stiffness (and mass) element matrices used in continuous IGA, and thus it is the other side of the same coin. It was made quite clear that, although both formulations (MODEL-2 and MODEL-3) start with the same raw material [i.e., both with the element matrices ], after the implementation of Equation (33) or Equation (34) to element matrices of sizes 16 × 16 or 17 × 17, respectively, the produced element matrices of MODEL-3 (always of size 16 × 16) are merely stored in total (system) matrices larger than MODEL-2, according to the corresponding connectivity arrays, (IEN)P or (IEN)Q.
At this point, it should become quite clear that the utilization of the abovementioned Bézier elements (MODEL-3 and MODEL-4) is not competitive with respect to the IGA (MODEL-2) but should be considered only as a supplementary step in the determination of a reasonable accurate reference value for a posteriori error estimation. Therefore, in no way do we imply the replacement of the IGA (-continuity) with Bézier elements (C0-continuity), because then we lose the CAD-based information; it is only as a step to determine the refined NURBS or T-mesh for the next continuous IGA model in an adaptive sequence. Interestingly, although the assembly of the Bézier elements (MODEL-4, with DOFs) is generally more accurate than the IGA solution (MODEL-2, with DOFs), if we seek to determine the size of continuous IGA model which has the same accuracy as MODEL-4, it will be found to have more spline elements but fewer control points than MODEL-4 (i.e., ). In other words, ongoing research shows that it is preferrable to update the -continuous spline model, rather than increase the number of Bézier elements.
The background of the present paper is as follows. In the context of T-splines IGA, basis functions are usually calculated through the Bézier extraction operator
Ce, which is derived for each T-spline element. The merits of using Bézier extraction in IGA over the standard IGA have been reported in [
15] (p. 75). To derive this operator, knot insertion is implicitly applied to all the knots of the model until the multiplicity equals the polynomial degree; the outcome of this procedure was documented many years ago in the form of a pseudocode [
4]. Since the usual IGA is implemented using the Bézier operator anyway,
Ce can be further used to easily calculate the new control points that form the rational Bézier elements of C
0-continuity; a similar idea was recently implemented for the solution of topology optimization problems [
16]. In other words, the control points which are implicitly involved in the already-computed Bézier extraction operator matrix can serve as a vehicle to build rational Bézier elements of C
0-continuity. This is implemented with just a multiplication of the extraction matrix
Ce by the vector of control points of the associated
e-th element, but special care is required to calculate the unique control points. Interestingly, Evans et al. [
17] extended Bézier extraction to hierarchical analysis-suitable T-splines (HASTS), which are utilized as a basis for adaptive IGA.
As has been previously reported by others, “there is no one-to-one correspondence between the T-spline elements and the Bézier elements if there is T-junction” [
15] (p. 78), and this issue has been handled in MODEL-4 throughout the present paper.
To make the whole procedure clear, let us describe the workflow. Designers often use commercial software such as Fusion360
TM (by Autodesk), Rhinoceros 3D
TM (developed by TLM, Inc., Seattle, DC, USA), and similar to develop mechanical parts. Using such programs, freely producing new geometries and finishing the procedure, we reach the point where we must perform the Analysis (IGA). Due to the design procedure, T-junctions and extraordinary points very commonly appear in the model. As a result, there is a need to check and convert (if necessary) the T-spline design from the form of “None Analysis Suitable” T-spline (N-AST) to the preferable “Analysis Suitable” T-spline (AST). For detailed explanations, the reader may refer to [
18]. Clearly, AST means that there are no sub-patches of reduced continuity, and this determines a slightly higher total number of T-spline elements, compared to those existing in the initial N-AST model; this happens if either the usual IGA (MODEL-1 and MODEL-2) or the procedure relating to Bézier elements (MODEL-3 and MODEL-4) is implemented.
To overcome the above drawback, engineers use subroutines to convert any (N-AST) to (AST). Even then, geometry may include T-junctions, but then the procedure may integrate to the next phase, which is the Analysis module, without obstacles. In the proposed methodology, an AST scheme is always confirmed to present the new approach.
Although the generation of Bézier elements is a straightforward procedure in NURBS approximation [
13], T-splines suffer from minor shortcomings, close to the (known in advance) borders of sub-patches with reduced continuity, i.e., those involved in the transformation from N-AST to AST. Therefore, it becomes conditionally necessary also to subdivide the closest Bézier element into the previously subdivided elements of reduced continuity. For example, one exception to this rule is when the extension reaches the boundary layer (and thus no additional Bézier element can be formed within the domain in the direction of the extension), as shown in
Figure 13, in which only one element needs to be tessellated (as eventually shown in
Figure 14), despite there being two elements of reduced continuity.
It was found that the abovementioned tessellation is not always necessary, but strongly depends on the boundary conditions. In Example 1, which was concerned with vertical uniaxial heat flow, no tessellation was necessary for either of the two discontinuous Bézier elements, because the line of discontinuity did not influence the flow (it was parallel to it).
In contrast, in Example 2, with the same T-mesh, but with BCs leading to horizontal flux, the lines of discontinuity were perpendicular to the flow and thus influenced it to a large degree (8.4%). It is worth mentioning that when only the Bézier element to the top-left part of the domain was tessellated, the average error decreased (from 8.4%) to only 7%, and this can be attributed to the low average temperature within it. Eventually, when both discontinuous Bézier elements were subdivided, the overall error completely vanished.
The tessellation of the neighboring Bézier elements close to them (which constitutes MODEL-4), is a standard technique which was developed in the context of the present paper. After the tessellation, the neighboring rational Bézier elements are not only C
0- but also G
0-continuous, which means that they share the same control points. Although the results are found to be very encouraging, a shortcoming of this approach is the need for tessellation in the entire row of elements until the boundary of the entire patch is reached. To resolve this drawback, instead of the tessellation of the discontinuous Bézier element and those in the same row, a single rational transient element (i.e., the one closest to the line of discontinuity) may be constructed [
19,
20].
In Example 3 regarding the annulus, the average error was small because, due to the small ratio of the radii, specifically,
R1/
R2 = 1/2, the logarithmic distribution of the temperature was almost linear in terms of the radius r. In this example,
Table 2 clearly shows that MODEL-3 has an error 1.7 times larger than that in MODEL-1 and MODEL-2, whereas MODEL-4 is the most accurate among the four models (with an average error being 3.6 times smaller than that in MODEL-1 and MODEL-2). Note that all of them refer to the same number of
T-spline elements; however, MODEL-3 deals with 24 Bézier elements (the same as the T-spline elements) whereas MODEL-4 deals with 25. For the avoidance of any doubt regarding the relative accuracy of the models due to round-off errors of coordinates and weights, tensor-product (NURBS) analysis was added to elucidate this example (see,
Table 3), because standard coordinates and standard weights may be applied in its reproduction by any researcher.
In Example 4, concerned with the thermal analysis of a rectangular domain under fully two-dimensional boundary conditions, the quality of the results was like those of Example 3, but the value of the initial error was larger than what it was in Example 3 (in MODEL-1 and MODEL-2: about 2.7%). In more detail, MODEL-3 showed an error 1.8 times greater than that of MODEL-1 and MODEL-2, whereas MODEL-4 outperformed with an error about 500 times smaller than that of MODEL-1 and MODEL-2. Obviously, this finding is in favor of our claim that MODEL-4 can be used for a posteriori error estimation.
In Example 5, concerned with the eigenvalue–eigenvector analysis of a rectangular acoustic cavity, impressive results had been previously received for NURBS-based IGA [
14] for different dimensions of the cavity (aspect ratio 2.5:1.1 ≅ 2.27 in [
14], compared to 3.5:1.5 ≅ 2.33 of the present paper). Quite similarly, equally impressive results were obtained in T-spline-based IGA as well.
Overall, the superior accuracy of MODEL-4 dictates that it can take the role of a reference value for a posteriori error estimation.
In principle, the proposed methodology is applicable to the entire spectrum of computational mechanics, including elasticity, where, for the most part, the research is focused [
21,
22].