FUNDAMENTALS OF B-SPLINES AND NURBS
2.9. Incoporating NURBS into Finite Element Analysis
The geometry is first described by NURBS. A set of control points and the knot vectors are then pre-defined for this purpose. Knot vectors are accordingly given in the parametric space, in which the elements are partitioned through the knots. Using a mapping from the parametric space to the physical space, the finite elements and the nodes in the physical space are then obtained (see [Cottrell et al. (2009)] and [Hughes et al. (2005)]). After that, the element matrices and relevant vectors are computed and assembled into global ones in a fashion similarly to the standard FEM. It is necessary to emphasize that in isogeometric analysis, degrees of freedom are
0 0.1 0.2 0.3 0.4 0.5
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0 0.1 0.2 0.3 0.4 0.5
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
associated with the control points, not with the nodes. Although nodes exist in the isogeometric analysis, their importance is much smaller than that of control points. The shape functions are associated with the control points and hence, the elements are support by the control points, not nodes. Since the number of control points in most of the cases is smaller than the number of nodes, the number of unknowns can be reduced in the isogeometric approach. In isogeometric analysis, the control points play a role similarly to that of nodes in standard FEM, but control points and nodes are totally different.
Figure 2.9 Mapping of an element from physical space (Ωe) to
parametric space ( ˆΩe) and to the parent element space (Ωɶe)
Meshing is done by the following scheme: a very coarse mesh is initially created, and then the mesh is refined using knot insertion. The refined meshes of the one in Figure 2.5 are depicted in Figure 2.10. If order elevation and k-refinement are necessary, they should be done on the coarsest mesh, before doing the procedure of knot insertion.
ξ
η Ωˆe
ξɶ ηɶ
Ωɶe
Ωe
x y
(a)
(b)
(c)
(d) Figure 2.10 Initial mesh (a) and Refined mesh ((b), (c) and (d))
For the sake of completeness, the connectivity arrays required for the construction of element and for the assembly procedure are additionally presented here. For convenience, notation is taken the same as in [Cottrell et al. (2005)].
2.9.1. INC ARRAY
Firstly, the concept of the NURBS coordinates is introduced. Given knot vector
{ }
1 1, 2, , n p 1, ξ ξ ξ + + Ξ = … and knot vector Ξ2 ={η η1, 2,…,ηm q+ +1,} . The knots of these two knot vectors define a two dimensional space called the index space (see Figure 2.11 as an example).
Figure 2.11 The index space view of the mesh in Figure 2.4. Ω1 is the
support region of one shape function. Ω2 is the support region of another shape function. The purple area is the
overlapping area of Ω1 and Ω2
The NURBS coordinates of any vertex in the index space are simply the indices of the knots that define the vertex. For example, the vertex created by the intersection of the knot lines ξ3 and η2
ξ7
Ω1
Ω2
η4
ξ2 ξ3 ξ4 ξ5 ξ6
η1
η2
η3
ξ1
η5
η6
has NURBS coordinates (3, 2). Note that this is the vertex where the support of the blue function begins. Actually, the NURBS coordinates are mostly used to identify the knots at which the support of a shape function begins.
The INC (for “NURBS coordinates”) array is defined as an array that takes a global shape function number and a parametric direction as input and returns the index of the one-dimensional basis function of that parametric direction as output. Let n = 4, p = 2, m = 3 and q = 2, we have the INC array as in Table 2.3.
Table 2.3 An example of INC array
INC A (global function number)
1 2 3 4 5 6 7 8 9 10 11 12
1 (ξ) 1 2 3 4 1 2 3 4 1 2 3 4
2 (η) 1 1 1 1 2 2 2 2 3 3 3 3
Given the index A of the global function NɶA( )ξ η, =Ni( )ξ ⋅Mj( )η , i and j are obtained by
( )
INC ,1
i= A and j=INC( )A, 2 . (2.16)
By using the NURBS coordinates, the one-dimensional basis functions Ni and Mj, which are established to construct the global function NɶA, are obtained. Because the compact support of Ni
and Mj are already known (see Section 2.1), the support of NɶA is defined correspondingly.
Knowing the NURBS coordinates of NɶA means knowing the support of NɶA and hence, knowing if a given point is within the support of NɶA or not.
2.9.2. IEN ARRAY
The NURBS coordinates essentially provide a means to determine which functions having the support in a given element. Let us continue using the denotation about the knot vectors in Section 2.9.1. Given an element e, the total number of the basis functions that support the element e is expressed as
( 1) ( 1)
nen = p+ ⋅ +q . (2.17)
The IEN array connects each local (elemental) number of a basis function with its global number For example, Table 2.4 shows the IEN array of the mesh depicted in Figure 2.5. It is noted that, the elements can have overlapping area in index space, but they do not have overlapping area in physical space.
IEN (for “element nodes”) array is similar to the concept of the element nodes in the standard finite elements. In the isogeometric analysis, however, each basis function does not associate with a node, but with a control point and each control point is associated with a shape function.
Given the element number e, and the local basis function number b, the corresponding global basis function number B is obtained by
( )
IEN ,
B= b e . (2.18)
Figure 2.12 Global numbering of control points for Figure 2.5 in parametric
space. Each control point is associated with a shape function. The red
and blue lines denote element 1 and element 2, respectively
1 2 3 4
5 6 7 8
9 10 11 12
Table 2.4 An example of IEN array
IEN a (local function number)
1 2 3 4 5 6 7 8 9
e = 1 11 10 9 7 6 5 3 2 1
e = 2 12 11 10 8 7 6 4 3 2