0% found this document useful (0 votes)
40 views16 pages

Special Course Implementation of NURBS-Based Iso-Geometric Analysis (IGA)

The document provides an overview of Non-Uniform Rational B-Splines (NURBS) and their implementation in iso-geometric analysis (IGA). It discusses the key components of NURBS, including control points, order/degree, knot vectors, and weights, and how they define geometry. It also explains how NURBS are used in IGA to assemble stiffness matrices for linear elastic finite element analysis, allowing for precise modeling of computer-aided design geometries. Validation methods for IGA like deflection and stress-strain calculations are also covered.

Uploaded by

Antonio Benigni
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views16 pages

Special Course Implementation of NURBS-Based Iso-Geometric Analysis (IGA)

The document provides an overview of Non-Uniform Rational B-Splines (NURBS) and their implementation in iso-geometric analysis (IGA). It discusses the key components of NURBS, including control points, order/degree, knot vectors, and weights, and how they define geometry. It also explains how NURBS are used in IGA to assemble stiffness matrices for linear elastic finite element analysis, allowing for precise modeling of computer-aided design geometries. Validation methods for IGA like deflection and stress-strain calculations are also covered.

Uploaded by

Antonio Benigni
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Special Course: Implementation of

NURBS-Based Iso-Geometric Analysis (IGA)

Author

s212539 Antonio Benigni

January 22, 2024


Contents
1 NURBS for geometry representation 1
1.1 Control Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Order of the curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Knot vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Weights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 B-spline basis functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 NURBS in linear elastic FEA (IGA) 5


2.1 Assembly of the stiffness matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Element definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Elemental stiffness matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 Stiffness matrix assembly and boundary conditions . . . . . . . . . . . . . . . . 9

3 Validation 9
3.1 Deflection validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Strain-Stress validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Final discussion 13

i
Understanding Iso-Geometric Analysis (IGA)
Abstract
As the fields of design and analysis continue to evolve, the integration of geometric modeling with
numerical computation has become increasingly important. This report serves as a practical guide
for understanding the application of Non-Uniform Rational B-Splines (NURBS) within isogeometric
analysis (IGA), a methodology that bridges the gap between the precise geometries of computer-
aided design (CAD) and the analytical capabilities of finite element analysis (FEA). The report
provides a step-by-step exploration of NURBS, from their foundational concepts to their role in
the assembly of stiffness matrices in IGA. Through illustrative examples and detailed explanations,
this document is crafted to facilitate a smooth transition into the practice of IGA.

1 NURBS for geometry representation


Non-Uniform Rational B-Splines (NURBS) are an extension and generalization of Bezier curves
and surfaces. Where Bezier curves introduces the concepts of control points Pi , uniform knot vector
KV and basis functions Ni . NURBS extend it to allow non-uniform distribution of knots along the
parameter space and introduce weights W associated with control points, allowing more complex shapes
to be created. The curve is described by the following equation:
n
N p (t)Wj Pj
Pnj
X
C(t) = p (1)
j=0i=0 Ni (t)Wi

Where C(t) is our curve.


NURBS are used extensively in computer graphics, computer-aided design (CAD), various fields of
computer-aided manufacturing (CAM) and isogeometric analysis (IGA), the focus area of this project.
NURBS provide a flexible and precise way to describe complex shapes and are highly valued for their
ability to represent both analytic shapes and free-form shapes accurately. The next explanations are
based on [2].
To demonstrate the functionalities of the elements of NURBS lets consider the next example:

Control points:
X = [1 0 1 0 2 2 1.8 0.4 1.2 0.4 1.8 2 2 1]
Y = [0 0 1 2 2 1.6 1.8 1.8 1 0.2 0.2 0.4 0 0]

Order of the curve:


p=2

Knot vector:
KV = [0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1]

Uniform weights for control points: Figure 1: Capital sigma sum operator ( ) drawn
P

W = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] with NURBS. The blue points represent the con-


trol points and the dashed blue line represent their
connectivity
Parameter values:
t = [0, 0.005, 0.01, . . . , 0.995, 1]

Page 1 of 14
Understanding Iso-Geometric Analysis (IGA)
1.1 Control Points

Control points in NURBS are the key elements that define the shape. They are points in space
that, along with weights, determine the position and influence of the curve or surface. Adjusting the
positions of control points alters the shape of the NURBS entity.
Considering the example shown in Figure 1 is easy to see that a shape similar to the capital sigma
can only be achieved if the control points and their connectivity draw the sigma symbol with straight
line segments.

1.2 Order of the curve

The degree of a NURBS curve or surface determines the order of the basis functions and the
smoothness of the curve or surface. It is associated with the number of consecutive control points that
influence a particular point on the curve or surface.
The degree of the curve, denoted as p, directly influences the continuity of the NURBS curve. A
higher degree allows the curve to be smoother and more flexible, as it can accommodate more complex
shapes by considering a larger number of control points in its formation. Conversely, a lower degree
curve tends to be closer to a piece-wise linear approximation, as fewer control points influence each
segment of the curve. To illustrate this effect lets take the previous example and change the order of
the curve to p = 1 shown in Figure 2a and p = 3 shown in Figure 2b.

(a) (b)
Figure 2: Capital sigma sum operator ( ) with (a) degree of the curve p = 1 and (b) degree of the
P
curve p = 3

From Figure 2 it is easy to see that for p = 1 the basis functions associate only p + 1 = 2 control
points for each point of the curve resulting in a linear interpolation between the control points. While
for p = 3 the basis functions associate p + 1 = 4 control points, reducing the effect of each individual
control point and making the curve to follow a trajectory with a higher-order continuity and flexibility,
but ignoring small details like sharp edges defined by singles control points.
Because the order of the curve represents how many control points are being interpolated, we can
then define a maximum value such that max(p) = n − 1, with n equal to the number of control points.

1.3 Knot vector

The knot vector is a sequence of non-decreasing parameters that define the parametrization of the
curve or surface. It determines the locations of the knots, influencing the degree of smoothness and
the way the curve or surface interpolates or approximates the control points.

Page 2 of 14
Understanding Iso-Geometric Analysis (IGA)
The arrangement of the knots within the knot vector can significantly affect the curve’s charac-
teristics. For instance, placing multiple knots close together can create tighter bends or corners in the
curve, while evenly spaced knots contribute to a uniform and smooth curve. By manipulating the knot
vector, one can control the curve’s behavior precisely, such as where it clamps to the control points or
where it passes freely between them.
The interval between knots in the knot vector represent an interval where a specific set of p + 1
control point are interpolated. The number of knots dictates the parametrization of the spline. For a
curve with n + 1 control points, there are n + p + 1 knots, where p is the degree of the curve.
The range of the knot vector defines the parameter domain over which the NURBS curve or surface
is defined. The first p + 1 knots and the last p + 1 knots are called the "clamped" or "multiplicity p"
knots, which affect the behavior of the spline at its endpoints.
A last interesting behaviour of the curve is caused when two consecutive knots, excluding the firsts
and lasts p + 1, have the same value. This cause the basis functions to shift the control points that
participate in the generation of the curve in that given parametrical section.
This effect is illustrated in Figure 3 where Figure 3a started with an uniform distributed knot
vector and then were modified so that the knots KV (p + 4) = KV (p + 3) = KV (p + 2) = 0.091.
This modification made the first segment of the curve to be constructed considering only the first four
control point finishing in the fourth control point (0, 2), then the next segment starts from this same
point.
Figure 3b is a more clear example of this effect, here all the knots are 0.5 except for the firsts and
lasts p + 1 knots that are 0 and 1 respectively. The effect this configuration produces is divide the
curve in two segments as before, but now these two segments are built only using the firsts and lasts
p + 1 control points, ignoring all the others point in between.

(a) (b)
Figure 3: Capital sigma sum operator ( ) with p = 3 and knot vector for (a) KV =
P
[0 0 0 0 0.091 0.091 0.091 0.36 0.45 0.54 0.64 0.73 0.82 0.91 1 1 1 1] and knot vector for (b)
KV = [0 0 0 0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 1 1 1 1]

1.4 Weights

NURBS curves and surfaces are rational, meaning they incorporate weights for each control point.
In the context of NURBS, weights play a crucial role in providing an additional degree of freedom in
shaping the curve or surface. By adjusting these weights, it is possible to manipulate the shape and
curvature of the NURBS entity.
For example, during the discussion about the order of the curve it was mentioned that considering
more control points for the generation of the curve tend to reduce the effects of each individual point

Page 3 of 14
Understanding Iso-Geometric Analysis (IGA)
in the curve. Using the weights it is possible to enhance the effects of particular control points and
obtain the desired shape.
As an example, Figure 4 shows the same curve as Figure 2b but with different weights in order to
increase again the effect of the control points in the sharp corners.

Figure 4: Sum operator ( ) with p = 3 and weights W = [1, 10, 10, 10, 1, 1, 1, 10, 10, 10, 1, 1, 1, 1]
P

1.5 B-spline basis functions

With all the elements previously defined it is possible to construct the curve as in Equation 1.
And to do this we need to to define the basis function N p of order p. There are many ways to calculate
N and its first derivative, which is going to be useful later, but for the purpose of this project the
Cox-deBoor (Cox, 1971; deBoor, 1972) recursive algorithm is used for its simplicity and computational
efficiency, It is defined the next way.
1: function deBoor(i, p, KV, t)
2: dN ← 0
3: if p = 0 and t < max(KV ) then
4: N ← (KV (i) ≤ t) ∧ (t < KV (i + 1))
5: else if p = 0 and KV (i + 1) = max(KV ) then
6: N ←1
7: else
8: N 1 ← 0; dN 1 ← 0
9: N 2 ← 0; dN 2 ← 0
10: if KV (i + p) ̸= KV (i) then
11: [term1, ∼] ← deboor(i, p − 1, KV, t)
12: N 1 ← (t − KV (i))/(KV (i + p) − KV (i)) × term1
13: dN 1 ← p/(KV (i + p) − KV (i)) × term1
14: end if
15: if KV (i + p + 1) ̸= KV (i + 1) then
16: [term2, ∼] ← deboor(i + 1, p − 1, KV, t)
17: N 2 ← (KV (i + p + 1) − t)/(KV (i + p + 1) − KV (i + 1)) × term2
18: dN 2 ← p/(KV (i + p + 1) − KV (i + 1)) × term2
19: end if
20: N ← N1 + N2
21: dN ← dN 1 − dN 2
22: end if
23: return [N, dN ]
24: end function

Page 4 of 14
Understanding Iso-Geometric Analysis (IGA)
Related to the effects of the order of the curve p, the support of each basis function is limited to
a set of (p + 1) control points systematically interpolated, making B-splines computationally efficient
as changes to a control point affect only a local region of the curve.

2 NURBS in linear elastic FEA (IGA)


Isogeometric analysis (IGA) is predicated on the concept that the same basis functions used for
exact geometric modeling can also be utilized in the solution space of a numerical method. This
approach extends the traditional isoparametric concept found in finite element analysis (FEA), where
the basis functions approximate both the unknown solution fields and the geometry. In contrast, IGA
employs basis functions, such as NURBS, that can represent geometry exactly, providing an advantage
in handling complex geometries.
In this project, we transition from classical continuous isoparametric Q4 FEA [1] chapter 6, to a
NURBS-based framework. The main modification in this transition involves replacing the Q4 shape
functions with NURBS based shape function. The fundamental mathematical theories of the classical
FEA will be presumed as known, allowing the focus to be on the implementation of NURBS as geometry
and solution field generator.

Kd = f (2)
At the core of the classical FEA, as well as in our IGA approach, is the linear elastic equation
2, where d is the displacement vector of the mesh nodes, f is the external force vector, and K is
the system’s stiffness matrix. It is important to point that, even using the same equation 2 for both
methods, their construction and interpretation are different.
Starting from the displacement vector d. For classic FEM it represents the displacement of each
node of the mesh, while for our IGA implementation it represent the displacement of the control points,
also called control variables. It is important to understand their difference because, as explained in
the previous section, the control point are often outside the geometry space.
The next example of a simple beam is going to be used to illustrate how is the implementation of
IGA and what are the difference between these two methods. Its geometry is going to be generated
using NURBS, and a mesh is going to be derived from it to perform a classical FEA as benchmark to
validate the results.

Figure 5: Simple beam example with a punctual vertical force (green arrow) in the point (10, 0) and
magnitude of −0.001 and clamped in the left side along the line x = 0

Page 5 of 14
Understanding Iso-Geometric Analysis (IGA)
Control points: Material:
 
0 2.5 5 7.5 10 E=1 ν = 0.3 t=1
X = 0 2.5 5 7.5 10
0 2.5 5 7.5 10 Order of the curves:
 
0 0 0 0 0 px = 2 py = 2
Y = 0.5 0.5 0.5 0.5 0.5
1 1 1 1 1
Uniform weights for control points: Knot vectors:
 
1 1 1 1 1 KV x = [0, 0, 0, 0.33, 0.67, 1, 1, 1]
W = 1 1 1 1 1 KV y = [0, 0, 0, 1, 1, 1]
1 1 1 1 1

Control point number:


Parameter values:
 
1 4 7 10 13
cpn = 2 5 8 11 14 ξ = [0, 0.01, 0.02, . . . , 0.99, 1]
3 6 9 12 15 η = [0, 0.1, 0.2, . . . , 0.9, 1]

Using the parameter values ξ and η we generate the different nodes of the mesh used in the classical
FEA analysis. Specifically they are nx = 101 nodes in the x direction and ny = 11 nodes in the y
direction.

2.1 Assembly of the stiffness matrix

The first step for solving 2 and find the solution field d is the assembly of the stiffness matrix. This
assembly represent the biggest difference between IGA and FEA. This difference lays in the concept
of element and shape function used in the generation of the elemental stiffness matrix Ke .

2.1.1 Element definition

In classical isogeometrical Q4 FEA, the element is defined by four adjacent nodes that together
form a quadrilateral element. In the example in study, each small rectangle of Figure 5 represent an
element in classical FEA.
In IGA the elements are defined differently. Here the elements are constructed between the knots
of the knot vector KV . This is because, as explained in the knot vector subsection, this interval
interpolates only a given set of p + 1 control points. The elements for the IGA structure are shown
in Figure 6, where is easy to see that the number of elements used in IGA are radically less than the
ones needed for FEA. Here we can also notice that the first element to the left is formed by the control
points 1 − 9, the second element is formed by the control points 4 − 12 and the last by the control
points 7 − 15.

Figure 6: Simple beam example with NURBS elements between knot values KV x = [0, 0.33, 0.67, 1]
and KV y = [0, 1]

Page 6 of 14
Understanding Iso-Geometric Analysis (IGA)
2.1.2 Elemental stiffness matrix

For the generation of the elemental stiffness matrix we use the isoparametric formulation from [1].
This is because the mathematical background of this formulation is used for both FEA and IGA.
To start with the definition we need to define the interpolation of internal element values (position
x, displacements ϕ, etc.) in terms of the nodal/control points values as
X X
x= Ri (ξ, η)xi , ϕ= Ri (ξ, η)ϕi . (3)
i i

In order to determine the strain-displacement matrix, we need to determine derivatives of the


variables, e.g., ∂ϕ/∂x or ∂ϕ/∂y. These are not directly available but we may find them by

∂ϕ ∂ϕ ∂x ∂ϕ ∂y ∂ϕ ∂ϕ ∂x ∂ϕ ∂y
= + , = + (4)
∂ξ ∂x ∂ξ ∂y ∂ξ ∂η ∂x ∂η ∂y ∂η
and these may be put in matrix form as
" # " #" # "P #" #
∂ϕ ∂x ∂y ∂ϕ ∂Ri P ∂Ri ∂ϕ
∂ξ xi ∂ξ yi
∂ξ
∂ϕ = ∂ξ
∂x
∂ξ
∂y
∂x
∂ϕ = Pi ∂R Pi ∂Ri
∂x
∂ϕ (5)
i ∂η xi i ∂η yi
i
∂η ∂η ∂η ∂y ∂y

where [J] is the so-called Jacobian-matrix which gives the connection between derivatives in dif-
ferent coordinate systems. The determinant of the Jacobian matrix |J| gives the scaling between dxdy
and dξdη, i.e., dxdy = |J|dξdη.
Thus we can find the field derivatives in terms of the original coordinates as
" # " #  " ∂ϕ # " #
∂ϕ ∂ϕ  ∂ϕ
∂x = J−1 ∂ξ = 1 J22 −J 12
∂ϕ ∂ϕ
∂ξ
∂ϕ = [Γ] ∂ξ
∂ϕ (6)
∂y ∂η
|J| −J21 J 11 ∂η ∂η

Now the Cauchy strain and displacement vector for 2D linear elasticity may be written as
   
    ux  ux 
 ε11  1 0 0 0     

 
uy uy

ε22 = 0 0 0 1 = [L] (7)
 vx  v 
2ε12 0 1 1 0   x
  
  
vy vy
 

where
     

ux  
 uξ 
 
 uξ 
   
uy [Γ] [0] uη uη
    
= = [Γ̃] , (8)

 vx 
 [0] [Γ]   vξ 
 
 vξ 

vy vη vη
     

and
   

 uξ  R1,ξ 0 R2,ξ ···
 
uη R1,η 0 R2,η · · ·
 
(9)
 
=  d = [R̃] d ,

 v ξ   0 R1,ξ 0 ··· 
 
vη 0 R1,η 0 ···

and thus

{ε} = [L][Γ̃][R̃]{d} = [B]{d} (10)


In the previous equations u and v represent the horizontal and vertical displacement respectively
of the nodes/control points, and the sub-indexes x, y, ξ and η are its derivatives. d is the same dis-
placement vector previously defined in 2.
Finally, the element stiffness matrix is now found as

Page 7 of 14
Understanding Iso-Geometric Analysis (IGA)

Z Z 1 Z 1
e
[K ] = T
[B] [C][B]dA = [B]T [C][B]|J|dξdη, (11)
Ae −1 −1

This area integral is calculated numerically by Gaussian quadrature as


ng ng
X X
e
[K ] ≈ wi wj [B(ξi , ηj )]T [C][B(ξi , ηj )]|J| (12)
i=1 j=1

Where ng is the number of Gauss points (in each direction), ξ and η give the coordinates of Gauss
points and wi are the weights of the Gauss points.
The location and weight factors for 1 to 3 Gauss points are given in the following table:

# Gauss points Location ξ or η Weight wi


1 0√ 2
2 ±1/ 3 1

3 ± 0.6, 0 5/9, 8/9

Table 1: Quadrature points and weights.


The differences between FEA and IGA inside this formulation are only in the definition of the
shape function Ri (ξ, η) and the value of the Gauss points.
In the case of IGA, its shape function is similar to Equation 1 but extended to 2D such that
  Xm X
n   X m X
n  
x(ξ, η) Mi (ξ)Nj (η)Wi,j xi,j x
= Pm Pn = Ri,j (ξ, η) i,j (13)
y(ξ, η) k=0 l=0 Mk (ξ)Nl (η)Wk,l yi,j yi,j
i=0 j=0 i=0 j=0

Here it is easy to see the similitude with Equation 3. Another of the differences to take into account
is that for FEA, the xi point of Equation 3 refers only to the four nodes that forms the quadrilateral
Q4 of the single element. While for IGA it represent all the control points of the geometry.
On the other hand, the shape function of our Q4 FEA is given by

1 1 1 1
R1 = (1 − ξ)(1 − η) R2 = (1 + ξ)(1 − η) R3 = (1 + ξ)(1 + η) R4 = (1 − ξ)(1 + η) (14)
4 4 4 4
Which is no more than a linear interpolation between nodes, and the reason why this FEA for-
mulation needs more elements than IGA to approximate the solution.
The second big difference mentioned before was the quadrature points used. For Equation 14
is easy to see that each element is parameterized by a subdomain Ω → [−1, 1] × [−1, 1], and the
quadrature points can be used as stated in Table 1.
Instead, for IGA the whole geometry is already parameterized by a subdomain Ω → [0, 1] × [0, 1],
and its elements are defined only in a fraction of this subdomain. More specifically, each IGA element is
defined in the subspace Ωe → [ξi , ξi+1 ]×[ηj , ηj+1 ], where ξi and ηj are the values of the knot vector such
that ξi ̸= ξi+1 and ηj ̸= ηj+1 . So, to be able to perform the numerical integration as in Equation 12,
we need to recalculate our quadrature points the next way to fit our new domain

(ξi+1 − ξi )ξˆ + (ξi+1 + ξi ) (ηj+1 − ηj )η̂ + (ηj+1 + ηj ) (15)


ξ= , η=
2 2
Where ξˆ and η̂ are the Gauss points as shown in Table 1, and ξ and η are its projection in our
elemental domain.
Another effect of this transformation is that, when we perform the derivative of our shape function
R for Equation 5 and Equation 9, it must be done with respect to ξˆ or η̂ giving

Page 8 of 14
Understanding Iso-Geometric Analysis (IGA)

∂R ∂R ∂ξ ∂R ∂R ∂η
= , = (16)
ˆ
∂ξ ∂ξ ∂ ξˆ ∂ η̂ ∂η ∂ η̂
Our DeBoor algorithm performs the ∂R
∂ξ so the extra term we need to add is

∂ξ (ξi+1 − ξi ) ∂η (ηj+1 − ηj )
= , = , (17)
∂ ξˆ 2 ∂ η̂ 2

2.1.3 Stiffness matrix assembly and boundary conditions

For both FEA and IGA, we apply zero Dirichlet boundary conditions and the final assembly of
the stiffness matrix is done in the next way
ne
X
K= Ke (18)
e

With ne number of elements.

3 Validation
3.1 Deflection validation

For the first validation we simulate the system provided in the Example 2, where its results are
shown in Figure 7. Here the FEA result was already studied for convergence to be used as beanchmark
for the validation.

Figure 7: First simulation of the simple beam structure where the blue structure is the FEA solution
and the red structure is the IGA solution

In this first simulation is easy to see that the IGA already approach quite well the benchmark,
having a maximum error of 27% in the point of biggest deflection (−3.99 for the benchmark solution
vs −3.13 for the IGA solution). Nevertheless, the size of the stiffness matrix of our IGA simulation is
(30 × 30) while the one used for the benchmark is (2222 × 2222).
One of the advantages of IGA is the simplicity for the performing of refinements. To improve
the approximation from the previous simulation we will only increase the order of the curve in the x

Page 9 of 14
Understanding Iso-Geometric Analysis (IGA)
direction by 1 so that px = 3, and its knot vector becomes consequently KV x = [0, 0, 0, 0, 0.5, 1, 1, 1, 1]
leading to Figure 8.

Figure 8: Second simulation of the simple beam structure with blue as the FEA solution, and red as
the IGA solution with px = 3

For this second simulation we can see already a great improvement. Now the maximum deflection
error is around 9% (−3.99 for the benchmark solution vs −3.663 for the IGA solution), with the same
stiffness matrix size as before. This example shows the enormous effect of the degree of the curve in
the approximation of the solution.
For the third simulation we will now add an extra set of control points in the structure to study
its effects. The new structure now looks like:

Control points: Control point number:


 

0 2 4 6 8 10
 1 4 7 10 13 16
X = 0 2 4 6 8 10 cpn = 2 5 8 11 14 17
0 2 4 6 8 10 3 6 9 12 15 18

Order of the curves:


 
0 0 0 0 0 0
Y = 0.5 0.5 0.5 0.5 0.5 0.5
 px = 2 py = 2
1 1 1 1 1 1

Uniform weights for control points: Knot vectors:

  KV x = [0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1]


1 1 1 1 1 1
W = 1 1 1 1 1 1 KV y = [0, 0, 0, 1, 1, 1]
1 1 1 1 1 1

Page 10 of 14
Understanding Iso-Geometric Analysis (IGA)

Figure 9: Third simulation of the simple beam structure with blue as the FEA solution, and red as
the IGA solution with an extra set of control point in the x direction

In Figure 9, the solution with the extra set of control point shows an improvement with respect
to the first simulation (Figure 7), but it is still worse than the higher degree solution from the second
simulation (Figure 8). In this case, the maximum deflection error is approximately 16% (−3.99 for the
benchmark solution vs −3.44 for the IGA solution). But now the Stiffness matrix size increased from
30 to 36. This allow us to intuit that the degree of the curve have a bigger impact in the quality of the
results than the number of control points. With that said, we cannot increase the order of the curve
as much as we want, because it is limited by the number of control point as mentioned in Section 1.
Finally, to reach a perfect fit of the IGA simulation, we are going to take the data from the
previous simulation, and we are going to increase the order of the curve in the x direction to px = 4.
This change modifies the knot vector to KV x = [0, 0, 0, 0, 0, 0.5, 1, 1, 1, 1, 1], leading us to Figure 10.

Figure 10: Fourth simulation of the simple beam structure with blue as the FEA solution, and red as
the IGA solution with 6 control points in the x direction and px = 4

Here the maximum deflection error is circa 0.02% and the stiffness matrix size is the same as in
the previous simulation (36 × 36).

Page 11 of 14
Understanding Iso-Geometric Analysis (IGA)
3.2 Strain-Stress validation

For the last part of the validation process, we will analyze the stress-strain distribution. Using
the solutions found in Figure 10 compared with the benchmark. In Figure 11 the reader can see the
resulting strains for the benchmark case and our IGA implementation. There is easy to see that,
excluding the strains in the x-direction, they are quite different.

(a) Q4 x-direction strain (d) IGA x-direction strain

(b) Q4 y-direction strain (e) IGA y-direction strain

(c) Q4 shear strain (f) IGA shear strain


Figure 11: Strain analysis and comparison between IGA and the benchmark

The reason for this is assume to be because, even if the error of the approximation of the solution
using IGA is small, the strains calculated for the y-direction and shear are also small and can easily
be affected by this error. To support this idea, Figure 12 shows the absolute node error deflection in
the x and y direction. This error is bigger in the y component of the nodes, and its undulate behavior
that seems to fit with the kind of error in figures (e) and (f).

Figure 12: Absolute error between the IGA approximation and the benchmark

Page 12 of 14
Understanding Iso-Geometric Analysis (IGA)

4 Final discussion
In this project, the scope was to explain the basic steps for the implementation of a NURBS-based
Iso-Geometric Analysis departing from an already existing Q4 Isoparametric FEA. This scope was sat-
isfactorily achieved, but during the validation process we encounter some problem in the approximation
of strain and stresses, even after obtaining really good results in finding the right deflection field.
The root cause of this kind error could not be found during the realization of this report, but after
a fast analysis we can hypothesize that:

• The NURBS formulation generates an intrinsic numerical error, intuited by the systematic way
the absolute error is distributed.

• The parametrization of the curves performed between 0 − 1 could generate some numerical error
due to the necessity to work with small numbers.

With extra time to continue this study, a better formulation or error correction methods could be
added to improve the capabilities of the presented IGA code. Yet, it is also important to highlight the
potential of the IGA formulation in providing an overall accurate solution with a small fraction of the
computational complexity required by the FEA formulation used as benchmark.

Page 13 of 14
Understanding Iso-Geometric Analysis (IGA)

References
[1] Robert D. Cook, David S. Malkus, Michael E. Plesha, and Robert J. Witt. Concepts and Applica-
tions of Finite Element Analysis. 4 edition, 2002.

[2] J. A. Cottrell, T. J. R. Hughes, and Y. Bazilevs. Isogeometric Analysis: Toward Integration of


CAD and FEA. John Wiley & Sons, Ltd., 2009.

Page 14 of 14

You might also like