B-SPLINE FINITE ELEMENTS FOR PLANE ELASTICITY PROBLEMS
A Thesis
by
BHAVYA AGGARWAL
Submitted to the Office of Graduate Studies of
Texas A&M University
in partial fulfillment of the requirements for the degree of
MASTER OF SCIENCE
December 2006
Major Subject: Aerospace Engineering
B-SPLINE FINITE ELEMENTS FOR PLANE ELASTICITY PROBLEMS
A Thesis
by
BHAVYA AGGARWAL
Submitted to the Office of Graduate Studies of
Texas A&M University
in partial fulfillment of the requirements for the degree of
MASTER OF SCIENCE
Approved by:
Chair of Committee, John. D. Whitcomb
Committee Member, Walter E. Haisler
Arun Srinivasa
Head of Department, Helen Reed
December 2006
Major Subject: Aerospace Engineering
iii
ABSTRACT
B-spline Finite Elements for Plane Elasticity Problems. (December 2006)
Bhavya Aggarwal, B.S., Punjab Engineering College, India
Chair of Advisory Committee: Dr. John D. Whitcomb
The finite element method since its development in the 1950’s has been used
extensively in solving complex problems involving partial differential equations. The
conventional finite element methods use piecewise Lagrange interpolation functions for
approximating displacements. The aim of this research is to explore finite element
analysis using B-spline interpolation. B-splines are piecewise defined polynomial curves
which provide higher continuity of derivatives than piecewise Lagrange interpolation
functions. This work focuses on the implementation and comparison of the B-spline
finite elements in contrast with the conventional finite elements. This thesis observes
that the use of B-spline interpolation functions can reduce the computational cost
significantly. It is an efficient technique and can be conveniently implemented into the
existing finite element programs.
iv
To, my parents, for their love, faith and support
v
ACKNOWLEDGMENTS
This thesis marks the end of the beautiful journey to achieve my Master’s degree
in Aerospace Engineering. Throughout this journey I have been supported and guided by
several people. I would like to take this opportunity to express my gratitude to all those
people.
I would like to acknowledge the supervision and support of my advisor Dr. John
D. Whitcomb for this work. His enthusiasm and patience have been very valuable in the
completion of this work. His mission of producing high-quality work will always help
me grow and expand my thinking.
My sincere thanks to Dr. Walter E. Haisler, Director of Graduate Program, for
his guidance and support throughout my graduate studies and for serving on my
committee. I would also like to thank Dr. Arun Srinivasa for serving on my committee
and providing his valuable time and suggestions.
I would also like to acknowledge the help provided by the Aerospace
Engineering Department staff, especially Ms. Karen Knabe, for their timely help in all
the administrative work.
I would also like to gratefully acknowledge the support of my research group:
Deepak Goyal, Julian Varghese, Jongil Lim, Jiwoong Sue, Brian Owens. Deepak helped
me immensely by constant encouragement and friendship. My sincere thanks to Julian
for his valuable advice and friendly help.
I also wish to thank my friends, Shalini, Deepak, Pranab, Akhilesh, Aradhana
and Jyothasana, for all the love and care they have always provided and for emotionally
supporting me through my tough times.
Finally, I am grateful to my parents and my sisters for their unconditional love
and support in raising me to be the person I am today.
vi
TABLE OF CONTENTS
Page
ABSTRACT……………………………………………………………………………..iii
DEDICATION…………………………………………………………………………...iv
ACKNOWLEDGMENTS..................................................................................................v
TABLE OF CONTENTS
..............................................................................................vi
LIST OF FIGURES…………………………………………………………………… viii
CHAPTER
I
INTRODUCTION..................................................................................................1
1. Overview ............................................................................................................1
2. Background ........................................................................................................2
3. Objectives...........................................................................................................5
II
INTERPOLATION ................................................................................................7
1. Lagrange Interpolation .......................................................................................8
2. B-spline Interpolation.......................................................................................12
3. Summary of Properties of B-spline Basis Functions .......................................15
4. Knot Vectors ....................................................................................................16
5. B-Spline for Two Dimensions..........................................................................22
III
B-SPLINE FINITE ELEMENTS- 1D..................................................................24
1. Elastic Rod .......................................................................................................29
IV B-SPLINE FINITE ELEMENTS- 2D..................................................................33
1. Plane Elasticity.................................................................................................33
2. Weak Form.......................................................................................................35
3. Discretized Weak Form....................................................................................35
4. Sub-Parametric Formulation ............................................................................37
5. Global Derivatives............................................................................................38
6. Differential Area ..............................................................................................39
7. B-spline Finite Elements ..................................................................................39
8. Assembly of Stiffness Matrix...........................................................................45
V
COMPARISON OF THE B-SPLINE ELEMENTS WITH SERENDIPITY
ELEMENTS .........................................................................................................49
vii
CHAPTER
Page
1. Single Lap Shear Joint......................................................................................49
2. Plate with Elliptical Hole .................................................................................64
VI CONCLUSIONS AND FUTURE WORK ...........................................................74
REFERENCES …………………………………………………………………………76
VITA …………………………………………………………………………………. 80
viii
LIST OF FIGURES
FIGURE
Page
1
Polynomial interpolation of degree 6 to interpolate 7 points ............................ 8
2
Quadratic Lagrange interpolation functions...................................................... 9
3
Curve obtained by interpolating a set of three points using quadratic
Lagrange shape functions................................................................................ 10
4
The effect of change in one coordinate in the interpolation of a set of
data points with the change in interpolation type............................................ 11
5
Piecewise defined cubic B-Spline basis function............................................ 14
6
Uniform cubic basis functions......................................................................... 14
7
Local support interval for linear and quadratic spline functions..................... 15
8
Effect of knot spacing on shape of basis functions ......................................... 17
9
Periodic splines using uniform knot vectors ................................................... 18
10 Open uniform quadratic basis functions for knot vector [0,0,0,1,2,3,4,4,4] ... 19
11 Open uniform cubic basis functions for knot vector [0,0,0,0,1,1,1,1] ............ 20
12 Quadratic basis functions for a non-uniform knot vector
[0, 0, 0, 0.5, 1, 1.5, 2, 2.5, 2.5] ........................................................................ 20
13 Comparison of B-spline curves for control points
[[0, 0], [4,9], [6,10], [8,5]] using three different knot vectors ........................ 21
14 B-spline patches for two dimensions .............................................................. 22
15 Two cubic Lagrange elements......................................................................... 24
16 Open uniform B-spline basis functions of cubic order defined for
each cluster ...................................................................................................... 25
17 Integration domains for B-spline finite elements ............................................ 27
18 B-spline basis functions for different knot intervals ....................................... 28
19 Basis functions for a cluster with single patch................................................ 28
20 Transformation to normalized coordinates ..................................................... 30
21 Stiffness matrix assembly for a cluster for 1D analysis .................................. 32
ix
FIGURE
Page
22 Three coordinate system for a 2D B-spline cluster ......................................... 41
23 Coordinate mapping from physical coordinates to knot coordinates .............. 43
24 Transformation from knot coordinates to local coordinates for
each patch in a cluster ..................................................................................... 43
25 Renumbering of the control points for a cluster. n2 = p2+ 4 marked
patch shows numbering for patch in the cth column and rth row. .................... 46
26 Control point map for a patch ......................................................................... 47
27 Control points numbering for a cluster with 8 control points on
each side t1 and t2. ........................................................................................... 48
28 Lap shear test configuration ............................................................................ 50
29 Single lap joint configuration.......................................................................... 51
30 Cluster mesh for B-spline finite elements ....................................................... 52
31 Deformed shape for the lap shear specimen.................................................... 52
32 Contour plots of σ11, σ22 , σ12 obtained by 8 node serendipity elements. ......... 53
33 Variation of peel stress at the interface between the adhesive layer
and the adherends ............................................................................................ 54
34 Variation of shear stress at the interface between the adhesive layer
and the adherends ............................................................................................ 54
35 Convergence behavior for peel stress near the interface for
conventional finite element solution ............................................................... 55
36 Convergence behavior for peel stress near the interface using
B-spline elements ............................................................................................ 56
37 Difference in σ22 value with respect to the reference value for
conventional and B-spline finite elements. ..................................................... 58
38 Solution time vs number of degrees of freedom for conventional
and B-spline finite elements ............................................................................ 59
39 Error in σ22 vs time for both conventional and B-spline finite elements......... 60
x
FIGURE
Page
40 Convergence behavior for shear stress near the interface using
conventional finite element solution ............................................................... 61
41 Convergence behavior for shear stress near the interface using
B-spline finite element solution ...................................................................... 62
42 Difference in σ12 value with respect to the reference value for
conventional and B-spline finite elements. ..................................................... 63
43 Error in σ12 vs time for both conventional and B-spline finite elements......... 64
44 Plate with elliptical hole.................................................................................. 65
45 Deformed quarter plate with contours showing axial stress............................ 66
46 Stress contours for σ22 for the reference solution. ........................................... 66
47 Stress contours for σ12 for the reference solution. ........................................... 67
48 Cluster mesh for B-spline finite element......................................................... 68
49 Normalized difference in σ11 value with respect to the reference
value for conventional finite elements. ........................................................... 68
50 Normalized difference in σ11 value with respect to the reference value
for B-spline finite elements. ............................................................................ 69
51 Solution time vs number of degrees of freedom for conventional
and B-spline finite elements ............................................................................ 70
52 Error in σ11 vs time for both conventional and B-spline finite elements......... 71
53 Normalized difference in σ22 value with respect to the reference
value for conventional finite elements. ........................................................... 71
54 Normalized difference in σ22 value with respect to the reference
value for B-spline finite elements. .................................................................. 72
55 Error in σ22 vs time for both conventional and B-spline finite elements......... 73
1
CHAPTER I
INTRODUCTION
1. Overview
Partial differential equations are used extensively in describing the physics of
various phenomena in science. The physical laws of structural mechanics, fluid flow
diffusion, electromagnetic fields, and quantum mechanics can all be written in the form
of partial differential equations. Most often, numerical analysis techniques like finite
difference and finite element are used to solve these partial differential equations for the
unknowns. The development of finite element analysis began in the early 1950’s to
analyze structures in civil engineering and airframe analysis [1]. Since then, it has been
used in a wide variety of applications to analyze complex systems.
For solving complex structural problems, finite element analysis makes use of
various shape functions to interpolate using the unkown nodal displacements. Since the
introduction of two-dimesnional finite element analysis in 1956 [1], finite element
analysis has always been an area of interest. The tool became a part of the normal
product life cycle in the industry, with the advancement in computer technology. There
have been continuous research efforts to improve the efficiency, flexibility and accuracy
of the method.
In terms of interpolations used, Lagrange and Hermite type are the most
popularly used interpolation functions [2]. Although, these interpolants are easy to use
and can provide sufficient accuracy, they are computationally costly, especially for a
more accurate and smooth solution. The aim of this research is to explore finite element
analysis using B-spline interpolation. B-splines are piecewise defined polynomial
curves. These interpolants provide higher smoothness, and are widely used in describing
______________________________
This thesis follows the style and format of Journal of Composite Materials.
2
surfaces in CAD packages [3]. The intervals over which these piecewise functions are
defined are called knot intervals.
There has been some work in the use of B-spline interpolation for solving partial
differential equations [4], especially in the case of problems where continuity of higher
derivatives is required [5]. It has been shown that these interpolation functions can result
in a significant reduction of the number of degrees of freedom used in the analysis of
different types of problems [6].
This work focuses on the implementation and comparison of the B-spline finite
elements in contrast with the conventional finite elements. The implementation of Bspline elements for one-dimensional and two-dimensional elements in an existing finite
element code will be discussed. A comparison of the B-spline finite element with the
conventional method using Lagrange elements in terms of accuracy and efficiency will
be performed for several plane elasticity problems.
2. Background
In the 1960’s, to idealize the geometry of complex systems, B-spline basis functions
were introduced [7]. The term ‘spline’ comes from the flexible spline devices used by
shipbuilders and DRAFTSMEN to draw smooth shapes. The first reference to the word
B-spline (‘B’ refers to Basis) in the field of mathematics was given by Schoenberg [7] in
1946, who described it as a smooth piecewise polynomial approximation. In the field of
computer science, B-splines have been referred to as piecewise polynomial curves [8].
Since their introduction, they have been used as a tool to create smooth curves and
surfaces in computer graphics. These functions provide a smooth interpolated curve for a
large number of control points, and also provide a higher continuity of derivatives.
In 1962, [9] Carl De Boor’s publication on faster and numerically stable algorithms
for the calculation of spline interpolation functions marked the beginning of the use of
splines in automobile modeling. B-splines were used to represent objects of the real
world mathematically, which played an important part in the aircraft and automobile
industry [10]. Now, not only are splines used for geometric design, they are also used in
3
the computation of flight trajectories [11]. B-Splines are now extensively used in the
graphic design and CAD industry for creating smooth curves and surfaces.
Recently, a few studies have also been done in the use of B-spline interpolation
functions to solve structural problems using finite element analysis. The main emphasis
in the use of the B-Spline interpolation has been for analyzing plate and shell elements,
or for integrating CAD with the mechanical analysis. The scope of the problems solved
using B-spline interpolation has been very limited [6].
One of the earlier works in the use of B-spline basis functions for finite element
method was done by Zamani [12]. The author used least squares finite element
approximation of Poisson’s equation and then subsequently for Navier’s Equation [13].
It was concluded that the accuracy was good even for a coarse mesh.
B-splines provide a continuity of higher derivatives, which is a necessary condition for
plate and shell elements. Hence, there has been considerable work in the application of
B-spline interpolation for plate and shell elements [14-18]. The plate and shell elements
require the continuity of derivatives, hence the use of B-spline elements simplifies the
analysis and makes it much more efficient, as is observed by most authors.
The CAD geometric models are developed using B-spline interpolation, thus
resulting in a smooth and accurate approximation of the actual surfaces. But, the finite
element models are generally developed using Lagrange or Hermite interpolations, thus
the data required for both the steps is different The integration of CAD data with the
finite element model is a major concern for an efficient design process.
The integration has been done in three ways. First is the use of the design
elements for controlling the exact geometry, which are further refined into the regular
elements. These design elements defined using B-spline interpolation have been used in
the structural shape optimization of a finite element model [19, 20]. The finite elements
are still defined by the regular interpolation functions. This laid the foundation for some
of the later works to link the design phase with the finite element phase. The second
method to integrate the CAD with the finite element model, is the generation of a finite
element mesh using the geometric model data. A design process requires a constant data
4
exchange from the CAD phase to the finite element phase. The intermediate step
requires mesh generation for the finite element model, which is a tedious process. Bspline interpolation has also been used to convert the geometric model data to the finite
element mesh [21,22]. The author used B-splines for an automatic finite element mesh
generation using the geometric model data. The third method of integration of design
and analysis is by using B-spline elements for the approximation of the field variables
instead of the Lagrange or Hermite type interpolation [23,24]. Cho and Roh [25], discuss
the finite element method using B-spline for a shell integrating geometric design with
the mechanical analysis. Subbarayan et al. [26] have proposed a similar methodology
named as Constructive Solid Analysis analogous to Constructive Solid Geometry used
for modeling. The procedure aims at integrating the design and analysis and also at
enabling optimal shape design.
Hughes et al. [27], have named the use of same
interpolation functions for both design and analysis analysis as isogeometric analysis, as
it is an exact representation of geometry for the finite element model. The method uses
the Non Uniform Rational B-spline commonly referred to as NURBS to create a coarse
mesh from the geometric model. This coarse mesh is refined by a new strategy named as
k-refinement. In the case of k-refinement, the order of the polynomials are elevated
followed by a knot insertion. The k-refinement is reported to be much more efficient and
robust than the standard h or p- refinement used in the conventional FEM models.
Besides the use of B-spline functions for structural problems, they have been
used in some other fields as well. In [28], the author compared the conventional finite
element using Lagrange type interpolation with the B-spline finite elements. The paper
discusses the efficiency in solving Relativistic Mean Field Equations in terms of
numerical expense, precision and convergence behavior. The paper reports a reduction in
the numerical cost using B-spline FEM. The use of the B-spline finite element method
for the thermistor problem [29,30] and for a numerical solution of Burger’s equation[3133] has been successfully developed and validated.
The focus of this thesis is on comparing the results from a regular Finite Element
with B-spline FEM for 1D and 2D elasticity for accuracy and efficiency. The
5
implementation of the same in an existing finite element module will be discussed. This
will give a direct comparison of the two methods in terms of the ease of implementation
without changing the existing analysis tools already available. The model will be
validated using various one and two dimensional plane elasticity problems. Parametric
studies to compare the regular finite element model with the B-spline model will be
conducted. The variation in the stress distribution with different models will be
compared for accuracy and efficiency.
3. Objectives
The two main objectives of this research are the implementation of the B-Spline
interpolation into an existing finite element model and to compare the results of the BSpline finite element method with the conventional finite element method using onedimensional and two-dimensional problems.
To accomplish these objectives, the basic differences in the Lagrange interpolation
and B-Spline interpolation functions have been studied. A background on the
understanding of the interpolation functions commonly used in surface design and
modeling has been built. The existing finite element techniques with respect to
performance efficiency, shape optimal design, and integration with CAD data has also
been evaluated.
A strategy to implement the interpolation functions used in CAD modeling for a
finite element model for one- dimensional and two-dimensional problems is discussed.
A robust algorithm was created to implement the B-spline functions for a more efficient
analysis. An existing in-house finite element code has been modified for the
implementation of the new interpolation functions to analyze one- dimensional and twodimensional structural problems.
The model is illustrated for one-dimensional and two-dimensional plane elasticity
problems. The comparison of the new model with the existing conventional model is
done using parametric studies for a few plane elasticity problems. The two models are
compared in terms of the run-time and the number of degrees of freedom required to run
6
an efficient analysis. The accuracy of the model is validated with the results from the
conventional finite element models, especially for the regions of stress concentrations.
This work gives an insight into the performance of the B-spline finite element model
as opposed to the conventional models. It also provides a groundwork for a more
efficient analysis tool with a higher compatibility with the CAD models.
After a brief introduction and history on B-splines, chapter II outlines the theory and
concepts of the Lagrange interpolation and B-spline interpolation functions. Chapter III
then describes how the B-spline functions can be implemented in a one-dimensional
finite element code, setting a background for the steps involved in the 2D analysis.
Chapter IV outlines in detail the steps involved in implementing the B-spline finite
elements to a conventional finite element code. Finally chapter V discusses the
performance of the two methods in terms of efficiency and accuracy with the help of
some practical problems in plane elasticity.
7
CHAPTER II
INTERPOLATION
Interpolation is a method of estimating a continuously defined function between
known values. In Finite Element Analysis (FEA), the known displacements are at the
nodes. In conventional FEA, Lagrange and Hermite interpolation have been extensively
used, due to its convenience in implementation. The collection of known values qi
corresponding to coordinate location xi are called the control points.
There are different interpolation methods based on the need of accuracy, efficiency,
computational cost, smoothness, etc. There are two main ways in which polynomial
functions can be calculated to approximate a set of control points. In the first case the
curve exactly passes through all the known control points and this method is called
interpolation. In the second case, the curve may or may not exactly pass through the
given control points, to fulfill other required conditions, like continuity or smoothness
and is termed as approximation. The polynomial interpolation exactly passes through the
control points, whereas the B-spline interpolation is a type of approximation. In general,
the B-spline is also referred to as interpolation.
For a known set of n control points ( x j , q j ) , the interpolating function P(x) is defined by:
P ( x) = ∑ B j ( x) q j
n
2.1
j =1
The interpolating polynomial P(x) satisfies the condition in the case of most
interpolation methods:
P( xi ) = qi
for 1 ≤ i ≤ n
2.2
For the case of B-splines, in order to maintain the continuity of the higher
derivatives, this condition may or may not hold true. This will be discussed in the
subsequent sections.
8
Fig.1. Polynomial interpolation of degree 6 to interpolate 7 points.
As shown in Fig.1, a polynomial for a curve which goes through all the seven control
points is fitted. In conventional FEM, the polynomial interpolation is used in Lagrange
or Hermite form of different degree, depending on the type of problem. The Lagrange
type of interpolation are polynomial functions calculated by imposing the continuity
condition on the field variable. Whereas in the case of Hermite interpolation, the
polynomial functions are calculated by imposing an additional condition on the
continuity of the first derivative of the field variable.
1. Lagrange Interpolation
The Lagrange interpolation of degree n, which goes through n+1 control
points ( x j , q j ) is calculated by constructing a polynomial:
p( x) = pn x n + pn −1 x n −1 + ........ + p1 x1 + p0
2.3
The unknown coefficients pi, are calculated by solving n +1 equations for the
unknowns by imposing the condition, p ( xi ) = qi .
Also, these functions can be calculated using a simpler formula, given by
Lagrange in 1795 [34].
P ( x) = ∑ B j ( x) q j
n
j =1
2.4
9
where, B j ( x) = ∏
n
i =0
i≠ j
( x − xi )
( x − x0 ) ( x − x1 )
( x − xn )
=
LL
( x j − xi ) ( x j − x0 ) ( x j − x1 )
( x j − xn )
2.5
The Lagrange interpolation functions have some unique properties as discussed
below:
a. A data set of n control points can be interpolated by a unique Lagrange polynomial of
degree n-1.
b. Bi ( x j ) = δ ij , where δ ij is the kronecker delta, and is defined by:
⎧0 for i = j
⎩1 for i ≠ j
δ ij = ⎨
∑ B ( x) = 1
2.6
n
c.
j =1
2.7
j
Fig.2 Quadratic Lagrange interpolation functions.
Figure 2 shows quadratic Lagrange interpolation functions for 0<x<1, with a set
of three functions required to interpolate a set of exactly three control points. As can be
seen from the figure, only one function has a value 1 at each node, all other are zero.
Figure 3 shows the interpolated curve obtained using the quadratic Lagrange functions
for the data set [[0, 0], [1/2, 1], [1, 4]]. As can be seen, the interpolated curve passes
through all the three points. But, if the number of control points are increased, the order
of the polynomial needs to be increased, which can result in computational
10
complications. There is another option for interpolating more number of control points,
i.e. using lower degree polynomials for a sub-set of the entire control point set. In
conventional FEM, the Lagrange interpolation functions are used in a similar way, i.e.
by dividing the control points into sub-sets called elements.
Fig.3 Curve obtained by interpolating a set of three points using quadratic
Lagrange shape functions.
Also, the order of continuity of the curve obtained using Lagrange interpolation
0
is C . The C0 continuity implies that only the continuity of the field variable is
maintained between elements. To attain a higher order continuity for particular
problems, Hermite interpolation is used. In the case of Hermite interpolation, the
continuity of the field variable and its first derivative is maintained. i.e the order of
continuity for the curve obtained using Hermite interpolation is C1.
The Lagrange and Hermite interpolation are widely used in the finite element
applications due to their ease of use. Although, these interpolants can provide sufficient
accuracy, they are computationally costly. Also for a higher accuracy, and smoothness,
higher degree polynomial functions or the use of piecewise defined lower degree
polynomials are required, which makes the program less efficient. The higher order
Lagrange functions also exhibit oscillatory behavior in case of a higher degree
polynomial. With an increase in the number of nodes, the order of the polynomial has to
11
be increased, hence resulting in the unwanted oscillatory behavior. i.e., although the
polynomial matches the control points, in between the control points the polynomial can
vary largely.
For a large number of nodes, the oscillation problem can be taken care of by
using piecewise polynomial functions. The use of piecewise polynomials allows the
interpolation of the same number of control points using a collection of lower degree
polynomials. Piecewise Lagrange and Hermite interpolation are used in traditional FEM.
The analysis domain is partitioned into regions called elements, and the polynomial
functions are defined over each element.
P
P
P
P
P
P
P
P
P
P
P 7′
P
P
P
P
P
a) Lagrange interpolation of degree 8.
P
P 7′
P
P
b) Piecewise B-spline interpolation of
degree 2.
Fig.4 The effect of change in one coordinate in the interpolation of a set of data
points with the change in interpolation type.
Figure 4 show the fitted curves for two data sets of 9 control points using two
different types of interpolation functions. Figure 4(a) is obtained by fitting the set of 9
control points using Lagrange interpolation of degree 8. The same figure also shows the
change in the fitted curve when a control point P7 is changed to P7 ′ . A similar plot is
obtained as shown in fig. 4 (b), showing the curve fit for the same data points using
12
piecewise cubic B-spline interpolation functions. For fitting a set of 9 data points there is
a unique representation possible using a Lagrange polynomial of degree 8. In case of
piecewise the same set can be fitted using polynomials of degree 2. With the change in
just one control point P7, in the case of Lagrange interpolation, a kink is seen between P1
and P2, whereas in the case of piecewise, only the curve between P6 and P8 is altered.
This is due to the local control property of the piecewise definition of interpolation.
Also, in the case of Lagrange, there is an oscillation of the curve that is observed
between P6 and P9.
Even though the piecewise Lagrange interpolation would also have fit a large
number of control points, it does not have a continuity of derivatives between the pieces.
A B-spline interpolation function takes care of the continuity problem. B-spline curves
are also piecewise defined curves, with each component of the curve of degree d. These
piecewise defined functions allow fitting a large number of control points, and also
maintain a Cd-1 continuity, where d is the degree of the piecewise defined functions.
The definition and the properties of the B-Spline functions are discussed in the following
section.
2. B-spline Interpolation
A B-spline curve is a piecewise defined polynomial function connected continuously
by different curve segments. The piecewise definition allows approximation of a large
number of control points using lower order polynomials. In the case of B-spline
interpolation, the number of control points (n) are independent of the order of the
polynomials used (k). The order of a B-spline curve is one more than the degree d of the
polynomial used to represent the curve. For example, for a cubic polynomial the degree
is 3 and the order of the B-spline curve is 4. Cubic spline functions are extensively used
in CAD/CAM to define surfaces and curves.
Any curve can be represented as a parametric curve, i.e the coordinate x is
represented as a function of a parameter t. A parametric B-spline function can be defined
by:
13
P (t ) = ∑ PB
i i , k (t )
n
i =0
where t0 < t < tm
2.8
where Pi are n+1 control points, and Bi ,k are the n+1 basis functions of order k
associated with the control points. If the order of the polynomial used is equal to the
number of control points, then the definition of the basis functions no longer remains
piecewise. Hence, for a piecewise definition of the basis functions k should be less than
n+1. For example, if a 7th order polynomial is used for fitting 8 control points, there
would be only one function definition for the entire curve. For the same number of
control points, if cubic B-Spline interpolation is used (order 4), the basis functions would
have a piecewise definition with 5 different pieces.
The intervals in which the spline functions are defined in the parameter space (t)
are called knot intervals. There is a single function definition between two different knot
values. The vector containing the knot points is called a knot vector, and is formed by
arrangement of the knots in an increasing sequence, i.e., knot vector can be written as:
T = [t0, t1, t2, … tm-1, tm ], where ti ≤ ti+1
Figure 5 shows a piecewise defined cubic B-spline basis function composed of 4
different function definitions over 4 knot intervals. The total number of knots (m)
required to interpolate n control points using polynomials of degree k can be calculated
using m = n + k + 1. The interval between any two knots is also called the knot spacing,
and it can be zero as well. The basis function Bi,k are nonzero only in the domain ti < t <
ti +k+1, the definition of the basis functions Bi,k is different for every knot interval.
The knots govern the polynomials and thus the shape of the interpolated curve. A
curve with equal intervals in the parametric space, i.e with equally spaced knots, is
called a uniform B-spline. In the case of unequal spacing between the knots, the
resulting curve is called a non-uniform B-spline curve. The effect of knot spacing on the
fitted curve will be discussed in more detail in the further sections.
14
f 3 (t )
f 2 (t )
f1 ( t )
f 4 (t )
Knot Interval
t
Fig.5 Piecewise defined cubic B-Spline basis function.
The basis functions defined for the entire domain are non-zero for sub-domains
only, hence they influence a limited domain in a curve. This property is identified as the
local support property. This enables low influence or effect of change in one control
point on a far off control point. i.e when a control point is modified, the curve would be
altered only in the domain where the associated basis function is non-zero. The resulting
curve possesses Cn-1 continuity at all points.
B0
B1
B2
B3
B0
B1
t0
t1
t2
t3
t4
t5
t6
(a) Uniform cubic spline basis functions
for four control points.
t3
B2
B3
t4
(b) Cubic spline basis functions
between one knot interval.
Fig.6 Uniform cubic basis functions.
15
As can be seen in fig. 6, basis function B0 is non- zero between knots t0 and t3 only,
hence it has a local support between 4 knot intervals. Figure 6(b) shows cubic spline
basis functions between the knot values t3 and t4. It can be noted that the functions
defined between all the knot intervals are identical, except that they are offset. It can also
be noticed that there is more than 1 non-zero function at a particular knot value, as
compared to Lagrange interpolation functions where only one function has a value 1,
and all other are zero.
3. Summary of Properties [3] of B-spline Basis Functions:
a. The basis functions are positive.
i.e Bi,k(t) ≥ 0 for all t
b. Local support
i.e Bi,k(t) ≠ 0 for ti < t < ti +k+1.
The local support property for linear and quadratic spline functions can be seen
in fig.7. The support interval for B1,1 is between knots t1 and t3. Similarly, for a quadratic
basis function B3,2, the support interval is between knots t3 and t6.
Support Interval for
Support interval for B1,1
B0,1
B1,1
B0,2
B2,1
B1,2
t0 t1 t2
B2,2
t3
B3,2
t4
B5,2
B4,2
t5
t6 t7 t8
Fig. 7 Local support interval for linear and quadratic spline functions.
16
c. The sum of all basis functions at a particular value of t equals unity.
∑B
n
i.e
i =0
i,k
(t ) = 1
d. B-spline functions are recursive in nature. i.e the B-spline functions at a higher order
can be recursively calculated using the lower order splines.
The B-spline functions for the first order are given by:
⎧ = 1, t ∈ [ti , ti +1 ) ⎫
Bi ,0 (t ) = ⎨
⎬
⎩ = 0, otherwise ⎭
The higher order B-Spline functions can be recursively calculated using :
Bi ,k (t ) =
t − ti
t
−t
Bi ,k −1 (t ) + i + k +1
Bi +1, k −1 (t )
ti + k − ti
ti + k +! − ti +!
e. k is the order of the polynomials used to define the basis functions.
The polynomials have to be a minimum of linear order (i.e. k>=2), and k<= n + 1.
f. The basis functions have exactly one maxima.
4. Knot Vectors
The shape of the basis functions is largely governed by the knot spacing in a knot
vector. As discussed earlier, the number of knots is given by m = n + k +1, where n are
the number of control points, and k is the order of the B-spline curve. The knot vector
consists of ascending knot values, which can be repeating as well. e.g. [0, 0, 1, 2, 3, 4, 5,
5] can be used to fit four control points using cubic basis functions. The difference
between two corresponding knot values is called the knot spacing. For a repeating set of
knot values, the knot spacing can be zero as well. The shape of the basis functions is
dependent on the knot spacing rather than the actual knot value. For example, the two
figures in fig. 8 show the basis functions for two different knot vectors [0, 1, 2, 3, 4, 5, 6,
7], and [0, 2, 4, 6, 8, 10, 12, 14]. Even though the actual values in the knot vector are
different, the knot spacing is uniform in both the cases, hence the basis functions have
the same shape.
17
a) [0, 1, 2, 3, 4, 5, 6, 7]
b) [0, 2, 4, 6, 8, 10, 12, 14]
Fig.8 Effect of knot spacing on shape of basis functions.
Knot Vectors can be generally classified as uniform, open uniform and non-uniform.
Uniform Knot Vectors
In case of a uniform knot vector the knot spacing is a constant.
i.e
ti+1 - ti = constant
e.g. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] or [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]
In the case of a uniform knot vector, the basis functions are periodic uniform. i.e
between each knot interval, the basis functions are identical except that they are
translated along the knot axis. As can be seen from fig. 9, with a uniform knot vector, we
get periodic B-splines. Figure 9(a) shows the periodic B-splines of cubic order, with a
uniform knot vector [0,1,2,3,4,5,6,7], and fig. 9 (b) shows the periodic B-splines of
linear order, with a uniform vector [0,1,2,3,4], as can be seen from the two figures, the
basis functions shown in different colors are identical in each figure.
18
(a) Periodic cubic splines.
(b) Periodic linear splines.
Fig. 9 Periodic splines using uniform knot vectors.
Open Uniform Knot Vectors
An open uniform knot vector has k repeating knots at the two ends, and equal
knot spacing between the inside knots. The open uniform knot vector can be written as:
ti = t0
i<= k
ti+1 - ti = constant
k =< i < n +1
ti = tn + k
i>= n +1
e.g for a set of 6 control points and basis functions of order 4, the open uniform knot
vector can be written as: T = [0, 0, 0, 0, 1, 2, 3, 4, 4, 4, 4]
The repetition of knots in a knot vector is known as multiplicity. It can be
measured by the number of times a knot is repeated in a knot vector. For example, given
a knot vector [0, 0, 0, 1, 4, 6, 6], the multiplicity of the knot 0 is 3, and the multiplicity of
knot 6 is 2. The repetition of knots in a knot vector, brings the curve closer to the control
point to be interpolated. The multiplicity also reduces the continuity of the curve near the
associated control point by the multiplicity value. i.e for basis function of degree p, the
continuity of the curve is Cp-mulitplicity. If the multiplicity is equal to the order of the basis
functions, the curve definitely passes through the associated control point. When the
multiplicity is equal to the order of the basis functions, only one basis function has a
value equal to 1, and all other equal zero. As can be seen from fig.10, the knot values at
19
the ends have multiplicity equal to the order of the curve, i.e. 3. Only one basis function
at the ends has a value 1, all other basis functions are zero.
t0 t1 t2
t3
t4
t5
t6 t7 t8
Fig.10 Open uniform quadratic basis functions for knot vector [0,0,0,1,2,3,4,4,4].
Figure 11 shows four basis functions for open uniform knot vector [0, 0, 0, 0, 1,
1, 1, 1]. The number of times the end knots are repeated are equivalent to the order of the
B-spline curve, 4 in this case. The basis functions in this case are same as the cubic
Bezier polynomials [3]. The fig.10 shows quadratic basis functions for an open uniform
knot vector [0,0,0,1,2,3,4,4,4]. As can be seen, at the ends, only one basis function has a
value 1, all other are zero, forcing the curve to pass through the associated control point.
20
Fig.11 Open uniform cubic basis functions for knot vector [0,0,0,0,1,1,1,1].
Non- Uniform Knot Vectors
This is any set of ascending numbers used to represent knot values, e.g. [0, 0.3,
.5, 0.7, 0.7, 0.75, 0.78, 3]. The quadratic basis functions for a non-uniform knot vector
[0, 0, 0, 0.5, 1, 1.5, 2, 2.5, 2.5], can be seen in fig.12. Since the knots on the left end have
been repeated three times, one basis function has a value 1 at that end and all other basis
functions are zero.
Fig.12 Quadratic basis functions for a non-uniform knot vector
[0, 0, 0, 0.5, 1, 1.5, 2, 2.5, 2.5].
21
To study the effect of different knot vectors on the interpolated curve, an
example using control points [[0, 0],[4,9],[6,10],[8,5]] has been plotted in fig.13. The
first curve in the figure represents the curve obtained by using a periodic set of basis
functions using a uniform knot vector. The second one represents a curve obtained by an
open uniform knot vector, and the third one using a non-uniform knot vector. As can be
seen from the figure, for the same set of control points, and same order of basis
functions, but different knot vectors, the interpolated curves are different. In the case of a
uniform knot vector, the curve doesn’t pass through the two end control points, P0 and
Pn. The repetition of knots at the ends in the open-uniform knot vector forces the curve
to pass through the end control points, as can be seen in fig. 13(b). In the third case,
since the knots are only repeated at the left end, the curve only passes through the left
end control point.
(a) Uniform Knot Vector
[0,1,2,3,4,5,6,7].
(b) Open Uniform
(c) Non Linear Vector
Vector [0,0,0,1,2,3,3,3]. [0, 0, 0, 0.5, 1, 1.5, 2, 2.5].
Fig.13 Comparison of B-spline curves for control points [[0, 0], [4,9], [6,10], [8,5]]
using three different knot vectors.
22
5. B-Spline for Two Dimensions
The interpolation functions for two dimensions are calculated by the tensor product
of the B-spline interpolation functions in the t1 and t2 directions. Figure 14 shows a two
dimensional region for which interpolation functions need to be calculated.
Bt10
B 2
Bt11 t1
Bt1
3
Bt1
Bt17
4
Bt1
5
Bt16
j
1
Bt2
Bt22
4
Bt20
Bt23
3
Bt24
2
Bt25
Bt26
i
0
1
2
3
Bt27
4
Fig. 14 B-spline patches for two dimensions.
The interpolation functions associated with each two dimensional sub-region are
calculated on regions defined by knot spaces in each dimension. Each of these subregions, called patches, has 16 interpolation functions. The 16 functions are calculated
by tensor product of 4 functions from t1 with the 4 functions in t2 direction. The
functions required to calculate the interpolation functions for each patch can be
calculated by the knot intervals in the t1 and t1 directions associated with it. For example,
for the shaded patch as shown in the fig. 14, the knot interval in t1 is 2 and in the t2
direction is 3. The interpolation functions are calculated by taking the tensor product of
[Bt12, Bt13, Bt14, Bt15] and [Bt23, Bt24, Bt25, Bt26]. The tensor product of a patch with ith knot
interval in t1 and jth in t2 can be written as:
23
⎡ Bti1 ⎤
⎢ i +1 ⎥
⎢ Bt1 ⎥
j
j +1
j+2
j+3
⎢ i + 2 ⎥ [ Bt2 Bt2 Bt2 Bt2 ] =
⎢ Bt1 ⎥
⎢ i+3 ⎥
⎣⎢ Bt1 ⎦⎥
⎡ Bti1 Bt2j
⎢ i +1 j
⎢ Bt 1 Bt2
⎢ i+2 j
⎢ Bt 1 Bt2
⎢ i+3 j
⎣⎢ Bt 1 Bt2
Bti1 Bt2j +1
Bti1 Bt2j + 2
Bti1+1 Bt2j +1 Bti1+1 Bt2j + 2
Bti1+ 2 Bt2j +1 Bti1+ 2 Bt2j + 2
Bti1+ 3 Bt2j +1 Bti1+ 3 Bt2j + 2
⎡ B0
⎢B
4
=⎢
⎢ B8
⎢
⎣ B12
B1
B2
B5
B6
B9
B10
B13 B14
B3 ⎤
B7 ⎥⎥
B11 ⎥
⎥
B15 ⎦
⎤
⎥
Bti1+1 Bt2j + 3 ⎥
⎥
Bti1+ 2 Bt2j + 3 ⎥
⎥
Bti1+ 3 Bt2j + 3 ⎦⎥
Bti1 Bt2j + 3
The interpolation functions obtained after the tensor product are renumbered so
as to obtain a one dimensional array. The numbering of the interpolation functions for
each patch is as shown in the equation above. Each patch has 16 interpolation functions
associated with it which are shared by the neighboring patches as in the case of onedimensional interpolation functions.
The following chapters discuss the implementation of cubic B-spline functions to
one dimension and two-dimension finite element method.
24
CHAPTER III
B-SPLINE FINITE ELEMENTS- 1D
In a conventional finite element model, a complex region is divided into simpler
finite regions called elements. The boundaries of these elements are placed according to
the discontinuities of the geometry or specification of the boundary conditions. The
displacement field in each element is approximated by interpolation functions multiplied
by the displacement at some particular points in the element called nodes. The
interpolation functions and number of degrees of freedom for a specific element are of
either Lagrange or Hermite type of a particular order. For each of these elements, the
number of equations is the same as the number of degrees of freedom. These equations
are then assembled with the help of coincident nodes for the neighboring elements. The
boundary conditions are then applied to the equations to solve for the unknown
displacements at the nodes.
u1
u2
u3
Element 1
u4
u5
u6
Element 2
Fig.15 Two cubic Lagrange elements.
u7
25
Figure 15 shows two cubic Lagrange elements in case of regular finite elements,
with four degrees of freedom per element. As can be seen in the fig, there is no overlap
in the function definitions between the two elements. Hence, the degrees of freedom
associated in one element are not shared by the adjoining elements except at the
boundary of the adjacent elements. To calculate the element matrices, there is a need to
evaluate integrals. Due to algebraic complexity, it is always not possible to calculate the
integrals exactly, hence numerical integration is used to calculate the integrals. The most
common method used is the Gauss- Legendre method in which the integral can be
calculated for an interval [-1, 1]. To evaluate the integral using this method, the physical
coordinates of the problem(x) need to be transformed to the local coordinate system ( ).
This local coordinate is also called the normalized coordinate system, and has values
ranging from -1 to 1. The interpolation functions shown in fig.15 associated with each
element are defined in this local coordinate system in the range [-1, 1].
B0
B7
B1
t0 t1 t2 t3
B2
t4
B3
t5
B4
t6
B5
t7
B6
t8 t9 t10 t11
Fig.16. Open uniform B-spline basis functions of cubic order defined for each cluster.
In the implementation of B-spline finite element, the approach for solving for the
unknowns is similar, except for the type of interpolation functions and the associated
implementation details. In this case the geometry is divided into simpler regions called
clusters, according to the discontinuities similar to subdivision into elements in the
26
regular finite element method. The solution for this cluster is approximated by cubic Bspline functions. An open uniform knot vector, as shown in fig. 16 is used to define the
basis functions for each cluster. The figure shows 8 basis functions, which are associated
with 8 corresponding control points. The order of the B-spline curves is four, hence for
convenience, the basis functions are written as Bi rather then Bi,4. The number of control
points and corresponding basis functions can be varied according to the problem needs.
The open uniform knot vector ensures that the solution matches the value at the
boundary nodes.
In conventional finite elements, each of the elements represents the entire
integration domain. The coordinates of the boundary nodes of each element are
transformed into the normalized coordinates (-1, 1) in the case of regular finite elements.
But in the case of B-spline finite elements, the knot intervals are the integration domain,
and hence the coordinates of each knot interval are transformed to local coordinates. As
can be seen in fig.17, each interval between non-repeating knots is considered as an
integration domain.
Since cubic spline functions have been used in this implementation, the number
of basis functions associated with each knot interval is 4. Even when the total number of
basis functions associated with the entire cluster are 8, as shown in fig. 17, only the nonzero basis functions in that interval are integrated. Since only four functions are used in
the integral in each knot interval, these integral domains take advantage of the local
support property of the B-spline basis functions, and avoid the integration of zeroes for a
greater numerical efficiency. Figure 17 shows basis functions associated with each knot
interval, and the corresponding associated degrees of freedom. A stiffness matrix for
each knot interval is calculated, using the regular finite element formula for stiffness
matrix. These stiffness matrices are then assembled to form the stiffness matrix of the
cluster, using the shared degrees of freedom amongst the knot intervals. For example, in
every sub-cluster, the solution is expressed by the four interpolation functions and the
associated control points, out of which three are shared with the intervals on the left and
27
three with the intervals on the right. This property is distinctly different from the
ordinary finite element method.
B6
B0
B2
B1
B3
B3
B4
B4
B5
B2
B3
u0 u1 u2 u3
B1
B4
u1 u2 u3 u4
B2
B5
u2 u3 u4 u5
B3
u3 u4 u5 u6
Fig. 17 Integration domains for B-spline finite elements.
For n control points, and k the order of the polynomials, the number of knots ‘m’
is given by ‘n + k +1’. Since there is a repetition of ‘k’ knots at both ends in the case of
an open uniform knot vector, the number of knot intervals is calculated to be ‘n–k+1’.
Since, only cubic order basis functions have been considered herein, the number of
integral domains = n-3. Each of these knot intervals is defined by four basis functions
(Bi, Bi+1, Bi+2, Bi+3) and corresponding control points (ui, ui+1, ui+2, ui+3), where i is the
knot interval number. These independent integral domains have overlapping control
points and basis functions, as can be seen in fig. 17.
The number of knot intervals for each cluster can be specified by the user
according to the problem. The basis functions for each knot interval are defined
separately, as at any one given time only the basis functions associated with a single
knot interval are required for integration. The number of knot intervals can be increased
as shown in fig. 18, by adding the repeated set of basis functions in between the left and
right boundary knot intervals. The basis functions at the left boundary for all cases are
the same and are thus labeled as L-1, and L-2. Similarly the basis functions at the right
boundary for all cases, labeled as R-1 and R-2 are similar, they are just translated on to
the right depending on the number of knot intervals in the cluster. The repeated set is
inserted and then translated according to the number of knot intervals in each cluster. In
28
the case of 1 knot interval only for a cluster, the number of basis functions for the entire
cluster is 4, and are shown in fig. 19. The case of 2, 3 and 4 knot intervals do not follow
the same pattern, and thus have to be defined separately. For the case of 1 knot interval,
the functions are not chosen out of the five set of functions, and are rather stored
separately as a special case. The case of 2 and 3 knot intervals have not been
implemented, but can be defined similarly.
L -1
L -2
Repeated
R -2
R -1
Fig. 18 B-spline basis functions for different knot intervals.
Fig.19 Basis functions for a cluster with single patch.
The boundary and the internal set of functions are programmed in a set of five
sub-routines in the code. The function derivatives are also calculated and programmed in
a set of five more sub-routines. Since the integration for each knot interval is calculated
independent of other intervals, there are only four basis functions required inside the
29
integration loop. These basis functions are those that are associated with the knot
interval over which the integral is calculated.
To calculate the stiffness matrix for a knot interval, and subsequently the cluster,
the material properties are required. A separate function is written to read the modulus as
in the case of regular finite elements. There is no difference in the declaration or use of
this function. Besides the specification of the mesh properties, the material properties,
and the element properties are specified similar to the case in regular finite elements.
The properties input by the user are used in the program to calculate the stiffness matrix.
The stiffness matrix for each of the knot intervals is calculated using the associated basis
functions and their derivatives. In the case of regular finite element analysis, each
element is normalized to local coordinates, for implementing numerical integration. In
this case, each knot interval, is normalized to local coordinates (-1, 1). Hence, the
process of calculation of the stiffness matrix for each knot interval involves two
transformations, which will be discussed later.
In the following section the finite element development of an elastic rod using cubic
B-spline interpolation functions has been discussed.
1. Elastic Rod
The differential equation for an elastic rod is given by:
d ⎛
du ⎞
⎜ EA ⎟ + f = 0
dx ⎝
dx ⎠
3.1
The weak form for the equation can be written as:
− ∫ EA
x2
x1
2
2
du ⎛ du ⎞
du
δ ⎜ ⎟dx + ∫ f δ udx + EA δ u = 0
dx ⎝ dx ⎠
dx
x1
x1
x
x
u = ∑ ui Bi
δ u =∑ δ ui Bi
3.2
The displacement, u for each cluster is approximated using cubic B-spline functions Bi:
dB
dB
du
du
= ui i and δ
= δ ui i
dx
dx
dx
dx
The weak form after approximation becomes:
3.3
30
x2
⎡ x2
dBi dB j
du ⎤
u
EAu
dx
f
B
dx
EA
Bj ⎥ = 0
δ
−
+
+
⎢
∑ j ∫ i dx dx ∫ j
dx ⎥⎦
⎢⎣ x1
x1
3.4
This can be expressed as : [ K ]{u} = {F }
The stiffness matrix, K, can be written as:
K ij =
∫ EA
x2
x1
dB i dB j
dx
dx dx
3.5
The calculation of the stiffness matrix requires the global derivatives of the basis
functions. The stiffness matrix for each knot interval is calculated separately and then
assembled into the stiffness matrix for the cluster.
As shown in fig. 20, the cluster is transformed first into the knot coordinate
system (t), which ranges from 0 to n-3. This is then further subdivided into knot
intervals, with equal spacing. Each of the knot interval coordinates are then normalized
to local coordinates.
x1
x2
Global Coordinate System
x3
Knot Coordinate System
0
1
-1
2
1
3
Normalized
Coordinate System
Fig.20 Transformation to normalized coordinates.
The basis functions are defined in the knot coordinate system, and to calculate
the global derivatives, the jacobian is calculated for transformation from knot coordinate
to the global coordinate system. Here, the global coordinate system is transformed to the
knot coordinate system using Lagrange interpolation functions.
i.e
dBi dBi (t ) ⎛ dx ⎞
=
⎜ ⎟
dx
dt ⎝ dt ⎠
−1
3.6
31
x = x1 N1 (t ) + x2 N 2 (t )
dx
dN (t )
dN 2 (t )
= x1 1 + x2
dt
dt
dt
where,
3.7
x1 and x2 are the coordinates of the cluster end points as shown in the fig. 20. The
Lagrange interpolation functions Ni are calculated using the values in the knot coordinate
system ranging from 0 to n-3. The Jacobian is termed as J1 and is written as:
J1 =
dx
dt
dt
⇒
= J 1−1
dx
3.8
After transformation into the knot coordinate system, the stiffness matrix becomes:
K ij = ∫ EA
t2
dBi
dt
⎛ dt ⎞ dB j
⎜ ⎟
⎝ dx ⎠ dt
⎛ dt ⎞ ⎛ dx ⎞
⎜ ⎟ ⎜ ⎟ dt
⎝ dx ⎠ ⎝ dt ⎠
dB j −1
dB
= ∫ EA i ( J1−1 )
( J1 ) ( J1 ) dt
dt
dt
t1
t1
t2
3.9
The stiffness matrix and the force vector integral are calculated using numerical
integration. The Gauss-Legendre method calculates the integral for a range [-1, 1], hence
the integrand is normalized into [-1, 1] coordinates. For the transformation, the standard
Lagrange shape functions used in conventional finite element are used.
t = ∑ ti Si (ξ )
1
i =0
3.10
1
dBi
is a function of t, where t is replaced by the expression t = ∑ ti Si (ξ ) to get a
dt
i =0
function of ξ .
J2 =
dt
dξ
Hence the expression for the stiffness matrix for each knot interval becomes,
3.11
32
K ij = ∫ EAfi (ξ ) ( J1−1 ) f j (ξ ) ( J1−1 ) ( J1 )
1
−1
= ∫ EAf i (ξ ) ( J
1
−1
−1
1
dt
dξ
dξ
) f (ξ ) ( J ) ( J ) ( J )dξ
j
−1
1
1
3.12
2
The stiffness matrix terms are calculated for each knot interval separately using
numerical integration of the expression. The equations for these knot intervals are then
assembled using the overlapping control points, to obtain the stiffness matrix for the
entire cluster. The stiffness matrix for the clusters, are then further assembled into the
global stiffness matrix, like regular finite elements. This matrix is then assembled using
the degree of freedom connectivity for each knot interval to find out the stiffness matrix
for each cluster. In the case of 1D, the connectivity for the sub-clusters is easy and just
follows a pattern of sharing 3 degrees of freedom in between every knot interval. i.e, if
u0, u1, u2, u3 are associated with the first interval, then u1, u2, u3, u4 are associated with the
next knot interval. Using this pattern, the stiffness matrix (K) for the cluster is calculated.
The assembly pattern for the stiffness matrix for a cluster, is shown in fig.21.
Fig.21. Stiffness matrix assembly for a cluster for 1D analysis.
33
CHAPTER IV
B-SPLINE FINITE ELEMENTS- 2D
An earlier section discussed the finite element implementation of a bar element with
a single variable using B-spline interpolation. In this section, the B-spline basis functions
used as interpolation functions for plane elasticity problems are discussed. In this case
there are two dependent variables, u and v, which are the displacements in two different
directions x and y.
1. Plane Elasticity
A three dimensional elasticity problem can be solved using the plane elasticity
conditions if there is no variation in the third direction with respect to the third
dimension (z). In that case, the governing equations are without the derivatives in the z
direction. The plane elasticity problems can be categorized into two main categories:
plane stress and plane strain.
Plane stress conditions are applied to problems where the thickness in the third
direction is small as compared to the in-plane dimensions. In this case the stresses in the
z direction are considered to be zero.
σ xz = σ yz = σ zz = 0
i.e
4.1
Plane strain conditions are generally applied where the thickness in the zdirection is large as compared to the in-plane dimensions.
It is solved based on
assumption that there are no displacements in the z direction.
ε xz = ε yz = ε zz = 0
i.e
4.2
Kinematics
For a general plane elastic condition, the strain displacement relations for the
plane elasticity condition are given by:
εx =
∂u
∂x
εy =
⎛ ∂u ∂v ⎞
∂v
ε xy = ⎜ + ⎟
∂y
⎝ ∂y ∂x ⎠
4.3
34
where, u and v are the displacement variables in the x and y direction, respectively and
ε xy is the engineering shear strain.
Constitutive Law
The constitutive relationship for the plane- elasticity case is given by:
⎧σ x ⎫ ⎡C11 C12 0 ⎤ ⎧ε x ⎫
⎪ ⎪ ⎢
⎥⎪ ⎪
⎨σ y ⎬ = ⎢C12 C22 0 ⎥ ⎨ε y ⎬
⎪ ⎪ ⎢0 0 C ⎥ ⎪ ⎪
33 ⎦ ⎩ε xy ⎭
⎩σ xy ⎭ ⎣
4.4
where Cij ( i=1..3, j=1..3) are the material constants and can be calculated from the
engineering constants according to the plane- stress or plane strain condition as follows.
The material constants for plane stress are
C11 =
1 −ν 12ν 21
E1
C12 = ν 21C11
C22 =
1 −ν 21ν 12
C33 = G12
E2
ν 12 E1
=
ν 21 E2
4.5
E1, E2, ν 12 ,ν 21 , G12 are the engineering constants.
The material constants for the plane strain case are
C11 =
E1 (1 −ν 12 )
(1 −ν 12 − 2ν 12ν 21 )
E2ν 12
C12 =
(1 −ν 12 − 2ν 12ν 21 )
C22 =
E2 (1 −ν 21ν 12 )
(1 +ν 12 )(1 −ν 12 − 2ν 12ν 21 )
C33 = G12
ν 12 E1
=
ν 21 E2
4.6
Equilibrium Equations
The equilibrium equations for a plane elasticity problem with a constant thickness are
∂σ x ∂σ xy
+
+ fx = 0
∂x
∂y
∂σ y ∂σ xy
+
+ fy = 0
∂y
∂x
where, fx and fy are the body forces in the x and y directions respectively.
Boundary Conditions
4.7
35
The boundary conditions for plane elasticity are given by:
Natural boundary conditions:
σ x nx + σ xy ny ≡ Tx
σ xy nx + σ y ny ≡ Ty
4.8
where nx, ny are the components of the unit normal vector to the boundary, and Tx and Ty
are the specified boundary tractions.
Essential boundary conditions:
u = u, v = v
4.9
where u and v are the specified boundary displacements.
2. Weak Form
The weighted residual statement is formed by using the variation of the
displacements as weights with the governing differential equations as follows:
⎛ ∂σ x ∂σ xy
⎞
+
+ f x ⎟ dxdy = 0
∂x
∂y
⎠
⎛ ∂σ y ∂σ xy
⎞
v
δ
∫∫ ⎜⎝ ∂y + ∂x + f y ⎟⎠ dxdy = 0
∫∫ δ u ⎜⎝
4.10
The weak form for the two equations after integrating by parts can be written as
⎛ ∂δ u
⎞
∂δ u
− ∫∫ ⎜
σx +
σ xy ⎟ dxdy + ∫ δ uTx dS + ∫ f xδ udxdy = 0
∂y
⎝ ∂x
⎠
⎛ ∂δ v
⎞
∂δ v
− ∫∫ ⎜
σy +
σ xy ⎟ dxdy + ∫ δ vTy dS + ∫ f yδ vdxdy = 0
∂x
⎝ ∂y
⎠
4.11
− ∫∫ (δε xσ x + δε xyσ xy + δε yσ y ) dxdy + ∫ (δ uTx + δ vTy ) dS + ∫ ( f xδ u + f yδ v ) dxdy = 0 4.12
The two equations can be combined into one, since δu and δv are independent, to obtain
3. Discretized Weak Form
Once the weak form is calculated, the primary variables u and v are approximated
using interpolation functions. In conventional finite elements, the interpolation functions
36
used for approximation of the variables are of the Lagrange type. The variables u and v
are approximated using n interpolation functions Ni as:
u = ∑uj N j
v = ∑vj N j
n
n
j =1
4.13
j =1
The general displacement vector for each element can be represented as:
q = [u1, v1, u2, v2………, un, vn]
4.14
Substituting the approximations for the variations of u and v into the weak form, we
obtain the following equation:
⎡ ⎧⎪⎛
∑δ q ⎢∫∫ ⎪⎨⎜ f
2n
i =1
i
⎣⎢ ⎩⎝
x
∂ε
∂ε
⎞⎫⎪
⎛ ∂u
∂u
∂v ⎞ ⎛ ∂ε x
∂v ⎞ ⎤
σ x + xy σ xy + y σ y ⎟⎬ dxdy + ∫ ⎜ Tx + Ty ⎟dS ⎥ = 0
+ fy
⎟ −⎜
∂qi
∂qi ⎠ ⎝ ∂qi
∂qi
∂qi ⎠⎭⎪
∂qi ⎠ ⎦⎥
⎝ ∂qi
4.15
where i ranges from 1 to 2n.
Since the δ qi are arbitrary and independent, the same equation can be written as:
∫
fx
3
∂ε
∂u
∂u
∂v
∂v
dxdy + ∫
Tx dS + ∫ f y
dxdy + ∫
Ty dS − ∑ ∫ σ α α dA = 0
∂qi
∂qi
∂qi
∂qi
∂qi
α =1
where,
⎡σ x ⎤
⎢ ⎥
σ α = ⎢σ y ⎥
⎢σ ⎥
⎣ xy ⎦
Also, σ α = Cαβ ε β
⎡ε x ⎤
⎢ ⎥
ε α = ⎢ε y ⎥
⎢ε ⎥
⎣ xy ⎦
4.16
4.17
β i = ∂ε β ,
The terms in equation 4.17 can be written in terms of B matrix defined as B
∂qi
βiq
Hence, ε β = B
i
βiq
and σ α = Cαβ B
i
4.18
Substituting equation 4.18 to equation 4.16, we obtain:
α iC B
β j q dxdy
where, K ij = ∫ B
j
αβ
[K]{q}= {F}
4.19
4.20
37
Using any general interpolation functions Ni, the strain displacement matrix
matrix for an element with n interpolation functions can be written as:
called the B
⎡ ∂N
⎤
∂N n
∂N 2
0 ⎥
0
⎢ 1 0
∂x
∂x
⎢ ∂x
⎥
⎢
⎥
ε
N
∂
∂
N
N
∂
∂
n
1
2
αi = α = 0
0
LL 0
B
⎢
⎥
∂qi ⎢
∂y
∂y
∂y ⎥
⎢ ∂N1 ∂N1 ∂N 2 ∂N 2
∂N n ∂N n ⎥
⎢
⎥
∂x ∂y
∂x
∂y
∂x ⎦
⎣ ∂y
4.21
matrix is calculated, it can be used to calculate the stiffness matrix and the
Once the B
force vector for every element.
4. Sub-Parametric Formulation
matrix and the stiffness matrix for elements with
The calculations required for the B
distorted shape are very complex in the physical coordinate system and are not
practically possible in all cases. To be able to use curved edges for an element, the
element properties are calculated using a local coordinate system. The transformation
from the global to local coordinate system can be done using isoparametric,
subparametric and superparametric formulations.
Isoparametric formulation involves the use of the same interpolation functions for
approximating the geometry as well as the field variable. In the case of subparametric
formulation, the polynomial function used to define the geometry has a lower order than
the field variable. i.e a lesser number of nodes are used to describe the geometry as
compared to the displacement. In the case of elements with curved edges used for
arbitrary shape, numerical integration is needed since the exact integration is not
practical.
The subparametric formulation involves the use of lower order polynomials for
geometry approximation. For example, the displacement u and v are approximated using
interpolation functions Ni, defined in the local coordinate system (ξ ,η ) as
38
u = ∑ ui N i (ξ ,η ) v = ∑ vi N i (ξ ,η )
n
n
i =1
i =1
4.22
The physical coordinates (x,y) are approximated using interpolation functions Si, which
have a lower order than Ni as
x = ∑ xi Si (ξ ,η )
m
i =1
y = ∑ yi Si (ξ ,η ) m < n
m
i =1
4.23
In calculation of the element properties for the global coordinate system, but
working in the local coordinate system, there are two main challenges.
a) Global derivatives
b) Differential area
The next two sections discuss how these two challenges have been addressed in this
work.
5. Global Derivatives
The relationship between the global derivatives of the interpolation functions Ni and
the local derivatives can be calculated by using the chain rule of derivatives:
⎡ ∂N i ⎤ ⎡ ∂x
⎢ ∂ξ ⎥ ⎢ ∂ξ
⎢
⎥=⎢
⎢ ∂N i ⎥ ⎢ ∂x
⎢ ∂η ⎥ ⎢ ∂η
⎣
⎦ ⎣
∂y ⎤ ⎡ ∂N i ⎤
∂ξ ⎥ ⎢ ∂x ⎥
⎥⎢
⎥
∂y ⎥ ⎢ ∂N i ⎥
∂η ⎥⎦ ⎢⎣ ∂y ⎥⎦
4.24
The coefficient matrix in equation 4.24 is termed as the Jacobian matrix, J.
⎡ ∂x
⎢ ∂ξ
J ≡⎢
⎢ ∂x
⎢ ∂η
⎣
∂y ⎤
∂ξ ⎥
⎥
∂y ⎥
∂η ⎥⎦
4.25
The terms in the Jacobian matrix can be calculated by approximating the physical
coordinates (x, y) with interpolation functions Si.
x = ∑ xi Si (ξ ,η )
m
i =1
y = ∑ yi Si (ξ ,η )
m
i =1
4.26
39
The partial derivatives of the physical coordinates with respect to the local
coordinates, can be calculated directly since the Si are functions of the local coordinates.
m
∂S (ξ ,η )
∂x
= ∑ xi i
∂ξ i =1
∂ξ
m
∂S (ξ ,η )
∂x
= ∑ xi i
∂η i =1
∂η
m
∂S (ξ ,η )
∂y
= ∑ yi i
∂ξ i =1
∂ξ
m
∂S (ξ ,η )
∂y
= ∑ yi i
∂η i =1
∂η
4.27
The global derivatives are calculated by multiplying the local derivatives with the
inverse of the Jacobian matrix.i.e.
⎡ ∂N i ⎤
⎡ ∂N i ⎤
⎢ ∂ξ ⎥
⎢ ∂x ⎥
⎥
⎢
⎥ = J −1 ⎢
⎢ ∂N i ⎥
⎢ ∂N i ⎥
⎢ ∂η ⎥
⎢⎣ ∂y ⎥⎦
⎣
⎦
4.28
6. Differential Area
The differential area dxdy needs to be expressed in terms of d ξ dη in order to
integrate in the local coordinate system. The differential area transformation can be
expressed in terms of the Jacobian as follows [34]:
dxdy = J d ξ dη
4.29
This transformation helps in calculating the integrand in the local coordinate system.
This integrand can then be solved using the Gauss Legendre’s method of numerical
integration. Each term is calculated at each quadrature point and then summed up to
calculate the value of the integral.
7. B-spline Finite Elements
This implementation of B-spline finite elements involves the approximation of the
primary variables using cubic order 2D B-spline interpolation functions. The B-spline
functions for a two dimensional region are calculated using the tensor product of the 1D
functions as discussed in the earlier section. The functions are defined individually for
40
separate regions called patches as shown in fig.14. Each patch has 16 interpolation
functions associated with it.
The approximation for each patch is defined separately because of the local support
for each function. This approximation strategy increases the computational efficiency by
allowing the integration of only the non-zeroes values involved in the integral. In this
method, the general formulae for calculating the B matrix, stiffness matrix and the force
vector are the same as for conventional interpolation, except for the change in the
interpolation functions and the regions of integration. The displacement components u
and v are approximated by B-spline interpolation of cubic order for each patch. The
geometry is approximated using the quadratic Lagrange interpolation functions. The
approximation of u and v for each patch are written as:
u = ∑ ui Bi (t1 , t2 ) v = ∑ vi Bi (t1 , t2 )
15
15
i =0
i =0
4.30
The int erpolation functions Bi are defined in the knot coordinate system. The ui
and vi in conventional finite elements represent the nodal degrees of freedom. In the case
of B-spline interpolation these represent the degrees of freedom at the control points. At
the boundaries of a cluster, the control points are same as the nodes on an element
boundary. For each patch, there are 16 interpolation functions, and hence 16 control
points, each of which has two degrees of freedom. Hence for each patch, the number of
degrees of freedom is 32.
This implementation involves three coordinate systems. The physical coordinate
system (x,y) which define the element geometry, the knot coordinate system in which the
interpolation functions are defined, and the local coordinate system required to calculate
the properties using numerical integration.
The calculation of the element properties in this case requires the calculation of
two Jacobians, for transformation from global to knot and knot to local coordinate
system. Figure 22 shows the three coordinate systems involved in the calculation of the
integrals for a B-spline element.
41
y
x
t2
Physical Coordinate System
η
t1
Knot Coordinate System
(-1,1)
(-1,1)
Local Coordinate System
(for one patch)
Fig. 22. Three coordinate system for a 2D B-spline cluster.
The element properties can be calculated by substituting the B-spline
matrix, stiffness matrix used in
interpolation functions in the standard formulae for the B
the conventional finite element. These standard formulae require the calculation of the
global derivatives of interpolation functions and the differential area.
Global Derivatives
matrix is calculated from the formula given in equation 4.21. Since the
The B
number of interpolation functions for each patch is 16, n is equal to 16 for each patch.
matrix calculation requires the global derivatives of the interpolation functions
The B
Bi. The interpolation functions are defined in the knot coordinate system (t1, t2). The
calculation of the global derivatives requires the transformation from the physical
coordinate system to the knot coordinate system. The global derivatives are calculated
using the chain rule shown in equation 4.24. The only difference is in the coordinate
systems, in this case the physical coordinate system is transformed into the knot
coordinate system to calculate the Jacobian given in equation 4.25.
42
The terms in the Jacobian matrix are calculated by approximating the physical
coordinates using Lagrange interpolation. The physical coordinates are approximated
using Lagrange interpolation defined in the knot coordinate system (t1, t2) as shown in
equation 4.31:
x = ∑ xi N i (t1 , t2 )
7
i =0
Hence,
y = ∑ yi N i (t1 , t2 )
7
i =0
4.31
7
∂N (t , t )
∂x
= ∑ xi i 1 2 . Similarly other derivatives can be calculated,
∂t1 i =0
∂t1
which are further required to calculate the Jacobian matrix from the first transformation.
The Ni are Lagrange interpolation functions defined in the knot coordinate system
(t1, t2) calculated by the transformation shown in fig. 23. In this transformation, the
physical coordinates of the entire cluster are represented by 8 nodes. These nodes are
mapped to the nodes in the knot coordinate system depending on the connectivity
specified for the element mesh as in the case of the conventional finite elements. For
example, the ath node in the physical coordinate system would correspond to the ath node
in the knot coordinate system. These nodes do not have any degrees of freedom
associated with them, and are just used to represent the geometry of the element. In the
connectivity matrix, there is one set of nodes to which the degrees of freedom are
assigned, and one set to which the physical coordinates are assigned. The nodes to which
the degrees of freedom are associated are just used to calculate the degree of freedom
map for each cluster, and do not contribute in the geometry transformation of the cluster.
Hence in the connectivity matrix for each element, the first eight nodes are just the
geometric nodes with no degrees of freedom associated with them, and the subsequent
nodes have 2 degrees of freedom per node, but do not have any physical coordinates
associated with them.
43
t2
g
e
f
f
g
e
x
h
d
h
d
t1
b
a
c
a
c
b
Fig. 23. Coordinate mapping from physical coordinates to knot coordinates.
Differential Area
Once the Jacobian from the transformation from physical coordinate system to
knot coordinate system is calculated, the differential area is required to calculate the
element properties. The integrand for each patch is now calculated in the local
coordinate system for numerical integration. The coordinates of each patch are mapped
into the local coordinate system as shown in fig. 24 using the Lagrange interpolation
used in conventional finite elements. The order or local numbering in this transformation
always remains the same. The sequence is the same as shown in the figure.
k
(k1,
2
3
4
3
k1
2
(k1+1,
0
1 2
cluster
1
3 (k , k )
1
2
(k1+1,
patch
(-1, 1)
3
1
(-1, -1)
η
( 1, 1)
(1, -1)
Fig. 24. Transformation from knot coordinates to local coordinates for each patch in a
cluster.
44
To calculate the differential area, dxdy is transformed to be in terms of d ξ dη .
This calculation is a two step procedure involving two transformations. First, the
physical coordinates (x,y) are transformed to the knot coordinate system (t1, t2), and then
the knot coordinate system is transformed to the local coordinate system (ξ ,η ) . The
jacobian obtained from the first transformation i.e for coordinate mapping from physical
coordinate system to knot coordinate system is termed as J1, and is calculated using
equation 4.31.
∫ ∫ F ( x, y)dxdy = ∫∫ F ( x(t , t ), y(t , t )) J dt dt
x2 y2
1
x1 y1
2
1
2
1
1
2
4.32
t1t2
For the second transformation t1 and t2 are approximated using the standard
Lagrange interpolation functions used in conventional finite elements.
t1 = ∑ t1i Si (ξ ,η ) t2 = ∑ t2i Si (ξ ,η )
7
7
i =0
i =0
4.33
The values of the t1 and t2 are calculated at each quadrature point, and then
matrix to get the stiffness matrix. The transformation of the
substituted in the B
differential area to the local coordinate system is done by calculating the second
Jacobian as:
⎡ ∂t1
⎢ ∂ξ
J2 = ⎢
⎢ ∂t1
⎢ ∂η
⎣
∂t2 ⎤
∂ξ ⎥
⎥
∂t2 ⎥
∂η ⎥⎦
4.34
The terms in this Jacobian are calculated from the approximation of the knot
coordinates by using Lagrange interpolation functions (equation 4.34). The derivatives
can be calculated using the same approximation as follows:
∂t1 m i ∂Si (ξ ,η )
= ∑ t1
∂ξ i =1
∂ξ
m
∂S (ξ ,η )
∂t1
= ∑ t1i i
∂η i =1
∂η
m
∂S (ξ ,η )
∂t2
= ∑ t2i i
∂ξ i =1
∂ξ
m
∂S (ξ ,η )
∂t2
= ∑ t2i i
∂η i =1
∂η
4.35
45
Hence equation 4.33 can now be written as a function of the local coordinates (ξ ,η )
∫
∫ F ( x, y)dxdy =
x2 y2
x1 y1
∫ ∫ F ( x(t (ξ ,η ), t (ξ ,η )), y(t (ξ ,η ), t (ξ ,η ))) J J dξ dη
1 1
−1 −1
1
2
1
2
1 2
4.36
The integrand is calculated in terms of the local coordinate system (ξ ,η ) and then
the properties are calculated at each quadrature point for each patch.The patch properties
are then calculated using numerical integration. These properties are then used to
calculate the properties for a cluster, and subsequently for the entire model.
8. Assembly of Stiffness Matrix
The element properties including the stiffness matrix and the force vector for each
patch are calculated as described above. To solve for the equations for the entire
structure, the properties for each patch are assembled using the compatibility and
equilibrium conditions as in the case of conventional finite element. To be able to
assemble the equations, the degree of freedom map for each element is required. The
only difference in this case is that the assembly is a two step procedure. First, the degree
of freedom map for each patch is calculated and then the degree of freedom map for the
entire structure is calculated to get the overall equations.
46
Fig. 25 Renumbering of the control points for a cluster. n2 = p2+ 4
marked patch shows numbering for patch in the cth column and rth row.
Once the properties for each patch are calculated, the stiffness matrix for the
entire cluster is assembled using the degree of freedom map for each patch. The degree
of freedom map for each cluster is calculated automatically in a subroutine, based on the
number of interpolation functions that are shared in between different patches. In this
subroutine, the control points are renumbered for a cluster using the overlapping
functions. The renumbering of cluster depends on the location of the patches in the
cluster and the total number of patches in a cluster as can be seen from fig. 25. The
47
location of a particular patch in the cluster can be designated by r and c, where r is the
patch number in the t2 direction and c is the patch number in the t1 direction. The total
number of patches in the t2 direction is specified as p2. Figure 26 shows a cluster with p2
= 4, and shows different patches with the r and c labeled. Figure 25 shows the
numbering of different control points associated with different patches in a cluster,
according to the location of the patch in the cluster, and the total number of patches in a
cluster. The patch with c = 0, r = 0, shares 12 control points with the patch with c = 0, r
= 1 as can be seen in fig. 25. This is seen due to the overlap of the interpolation
functions in between two patches. The figure also shows the formula for a general patch
with the number of patches in t2 as r and the number of patches in t1 direction as c.
Figure 27 shows the control point numbering for the cluster shown in fig.26 after using
the control point map illustrated in fig.25. The degree of freedom associated with each
control point can be calculated accordingly as there are two degrees of freedom per
control point.
r
3
7
11 15
4
2
6
10
14
Local
3
1
5
9
13
Numbering
2
0
4
8
12
1
12
16
20
24
0
11
15
19
23
Global
10
14
18
22
Numbering
9
13
17
21
c 0
1
2
3
4
Fig.26 Control point map for a patch.
With the help of the control points for a cluster, the matrices for each cluster are
calculated. These matrices are then assembled into global matrices using the shared
boundaries between clusters, as in the case of conventional finite elements. In this case
48
there is no overlap of control points between clusters, and only the boundary degree of
freedom are assembled together. Figure 26 shows a cluster with the internal and the
boundary control points. The boundary control points are the only ones shared between
two clusters as shown in the figure. The internal degrees of freedom do not have to be
necessarily related to any physical coordinates as they are not used in the geometry
modeling or assembly.
7
15
23
31
39
47
55
63
6
14
22
30
38
46
54
62
5
13
21
29
37
45
53
61
4
12
20
28
36
44
52
60
3
11
19
27
35
43
51
59
2
10
18
26
34
42
50
58
1
9
17
25
33
41
49
57
0
8
16
24
32
40
48
56
Fig.27 Control points numbering for a cluster with 8 control points on each side t1 and t2.
Once the global properties are calculated, the boundary conditions are applied
similar to conventional finite element method. The equations are solved for the unknown
displacements at the control points. These displacements are used to calculate the stress
at the quadrature points for each patch.
49
CHAPTER V
COMPARISON OF THE B-SPLINE ELEMENTS WITH SERENDIPITY
ELEMENTS
This section describes the two dimensional elasticity problems considered to validate
the B-spline finite element method. To assess the validity of the method, the test cases
for some particular 2d plane elasticity problems have been considered. The solutions
were compared with the conventional finite element solutions using 8-noded serendipity
elements [35]. The experiments were carried out for two problems: a single lap shear
specimen and a plate with hole subject to in-plane tension loading. The objective of
these experiments is to validate the method by comparing the results with a reference
solution obtained using conventional finite elements and a very refined mesh. The
solutions are further compared to study the convergence behavior and the efficiency for
both the methods.
1. Single Lap Shear Joint
Adhesive bonded joints are extensively used in joining parts made of composite
materials. There are various methods that are used to measure the strength of the lap
joint. The single lap shear test (ASTM D5868) [36], as shown in fig. 28, is widely used
to evaluate the strength of the lap joint. These tests give an estimate of the average
strength, but cannot provide any idea about the stress concentrations that develop due to
the geometry and the difference in the material properties of the adherend and the
adhesives. The finite element method can provide a better idea about the stress
distribution in the specimen.
50
Fig. 28 Lap shear test configuration.
This practical problem has been chosen to compare the two different
interpolations used for the finite element method. The stress contours for the two
different models will be studied in this section. The variation of the peel stress and the
shear stress at the interface between the adhesive and adherend is further studied. The
stress values obtained from the two different methods are compared by calculating the
error in the stress along the centerline of the adhesive for different number of degrees of
freedom. A comparison of the convergence behavior for both the methods with respect
to the number of degrees of freedom and the time required to obtain a solution is done.
A two dimensional finite element analysis of an adhesively bonded single lap
joint in tension was conducted using both the conventional 8 node Lagrange elements
and cubic B-spline elements. Parametric studies to see the effect in the stress variation
with the increase in the number of degrees of freedom were performed. The elements
are assumed to be plane strain elements, assuming no variation in the width direction.
51
The bond between adhesive and the adherend is assumed to be perfect and free of
defects. The configuration for the model is obtained from the ASTM D5868 standard.
The geometry and the boundary conditions are as shown in fig. 29. The boundary
conditions are applied such that there is a tensile load acting on the specimen similar to
the ASTM standard specifications. A uniformly distributed load is applied at the right
end.
25 4
101.6
0 76
2
1
Fig. 29 Single lap joint configuration.
Material Properties
The adherends for the lap joint are made of 16 unidirectional glass epoxy
laminas. The properties of the glass fiber are assumed to be E = 70GPa,
epoxy matrix properties are assumed to be E = 3.5 GPa and
= 0.2 and the
= 0.35. The fiber volume
fraction is assumed to be 0.6. The thickness of each lamina is 0.17272 mm and the
stacking sequence is [0]16. The lamina properties obtained using the rule of mixtures is
calculated as:
E11 = 43.4 GPa
E22 = E33 = 14.79 GPa
G12 = G13 = 4.45 GPa
12
=
13
= 0.26
The adhesive considered is a structural adhesive, FM-73. It is considered to be a
linear elastic isotropic material with the properties given as
E = 1.8GPa
= 0.4.
A series of models were analyzed to study the convergence behavior in both the
conventional finite element and B-spline finite element. The cluster boundaries for the
52
B-spline mesh are as shown in fig. 30. The geometry for each of these clusters is
represented using 8 nodes, and for a graded mesh the mid-side nodes are biased towards
the area of interest. There are no degrees of freedom associated with these 8 nodes. They
are only used to represent the geometry. The degrees of freedom associated with each
cluster can be specified separately during run time. Several experiments with a varying
number of degrees of freedom for each cluster have been conducted.
0
1
2
3
6
7
8
9
Fig. 30 Cluster mesh for B-spline finite elements.
Fig. 31 Deformed shape for the lap shear specimen.
The typical deformed shape for the specimen as obtained for a very refined mesh
using conventional finite element solution is as shown in fig. 31. The displacement
magnification scale factor for the deformed shape as shown in fig. 31 is 5. This solution
obtained by a very refined mesh of 34714 degrees of freedom is considered as the
reference solution to evaluate the B-spline finite element solutions and the less refined
conventional finite element solutions.
The stress contours for the three components σxx, σyy, σxy as obtained from a very
refined conventional finite element mesh are as shown in fig. 32. The shear stress at the
interface is zero in the middle, but peak up at the edges. At the corner of the interface, a
very high peel stress and shear stress are observed as can be seen from the figure. For the
converged solution, σ22, σ12 are continuous in adherend and the adhesive. But in the case
53
of the less refined mesh, the values at the same point for the two materials differ, and is
larger in the adhesive.
a) σ11
b) σ22
c) σ12
Fig. 32 Contour plots of σ11, σ22 , σ12 obtained by 8 node serendipity elements.
Figure 33 shows a plot of the peel stress at the two interfaces between the
adhesive and the adherend layer. The stresses for the lower and upper interfaces are
plotted separately for the adhesive and the adherend. As can be seen from the plot the
stresses at the middle are approximately zero, with very high peaks at the corners. A
54
similar plot obtained for the shear stress is shown in fig. 34. The shear stress also attains
very high value near the edges, with the maximum shear stress seen in the adhesive.
125
105
σ22
UpperI-Adherend
UpperI-Adhesive
LowerI-Adherend
LowerI-Adhesive
85
65
45
25
5
-15 75
80
85
x (mm)
90
95
100
Fig. 33 Variation of peel stress at the interface between the adhesive layer and the
adherends.
σ12
5
-5 75
-15
-25
80
85
90
95
100
UpperI-Adherend
UpperI-Adhesive
LowerI-Adherend
LowerI-Adhesive
-35
-45
x
Fig. 34 Variation of shear stress at the interface between the adhesive layer and the
adherends.
55
Fig. 35 Convergence behavior for peel stress near the interface for conventional finite
element solution.
The results obtained from the finite element solution are taken as a benchmark to
compare the accuracy and study the convergence behavior of the B-spline finite element
solution. Several cases for conventional finite elements using Lagrange interpolation for
different number of degrees of freedom were run. Figure 35 shows the contour plots of
the peel stresses obtained from the conventional solution for different numbers of
degrees of freedom. The results are plotted starting from 1370 degrees of freedom till the
56
reference solution which has 34714 degrees of freedom. As can be seen from the figure,
for the case of 1370 and 2362 degrees of freedom the stress plots are not very continuous
and do not agree well with the reference solution. Even with an increase to 5554 degrees
of freedom, there is an improvement in the results, but they are still not very accurate.
The results seem to match the reference solution well in the case of 18322 degrees of
freedom.
Fig. 36 Convergence behavior for peel stress near the interface using B-spline elements.
57
A similar study was conducted using B-spline finite elements. The results are as
shown in fig. 36. The initial plot shows the case of 1412 degrees of freedom, which does
not seem to match well with the reference solution. As the number of degrees of freedom
is increased, there is an improvement in the stress contours seen for the case of 2782
degrees of freedom. The results matched much better to the reference solution for 5782
degrees of freedom in the case of B-spline finite elements, as compared to the a case
with similar number of degrees of freedom in the case of conventional finite elements. It
can be observed from these plots that the stress contours for B-splines match with the
reference solution at much lower degrees of freedom than the conventional method. The
convergence rate of the solution for the B-spline finite elements is much faster than the
conventional case.
The contour plots only provide a qualitative estimate of the convergence
behavior of the two different methods for finite elements. To get a better idea of the
convergence behavior, the error in the stress values at the centerline in the adhesive is
compared for different cases. A curve fit for the stress values on the centerline is found
using spline interpolation for different cases of conventional and B-spline elements. The
difference between the fitted curves for different degrees of freedom and the fitted curve
for the reference stress values is then compared. Fig. 37 shows the error in σ22 with
respect to the reference solution for two cases using quadratic Lagrange elements, and
two cases with a similar number of degrees of freedom using B-Spline interpolation. As
can be seen from the figure, the stress values in the middle are almost converging except
for the slight oscillations. Near the two ends there are oscillations seen in both B-Spline
and Lagrange interpolation cases.
58
B11782
(σ
ref
22
− σ 22 )
B5782
L11762
L5554
Fig. 37 Difference in σ22 value with respect to the reference value for conventional and
B-Spline finite elements.
The figure shows higher amplitude of oscillations in the case of Lagrange
elements than the B-Spline elements for approximately the same number of degrees of
freedom. The figure shows a higher accuracy in the stress values along the centerline in
the case of B-Spline finite elements than the conventional finite elements.
59
14
Lagrange
12
B-Spline
time
10
8
6
4
2
0
1000
10000
100000
number of degrees of freedom
Fig. 38 Solution time vs number of degrees of freedom for conventional and B-Spline
finite elements.
A true comparison of the efficiency can be done, if for the same level of accuracy
the time required to solve a problem is less in the case of B-spline elements. To compare
the time required a plot of time required to solve the equations vs the number of degrees
of freedom is shown in fig. 38. As can be seen from the figure, for the same number of
degrees of freedom, the solution time is only slightly higher in the case of B-Spline
elements. This was expected due to the higher coupling of the stiffness terms of the
patches than in the case of conventional finite elements.
To further analyze the accuracy of the two methods with respect to the solution
time, an error measure is introduced. The error in the stress values along the centerline
obtained from different cases is calculated using the formula:
∫ (σ
x2
Error =
ref
− σ ) 2 dx
5.1
x1
This error is calculated by calculating the difference between the curves fitted by
spline interpolation. The plot of error in σ22 along the adhesive centerline against time is
shown in fig. 39. It can be clearly seen from the plot that for the same time to run a
60
particular case, the error in B-spline finite element is less than the conventional finite
elements using quadratic Lagrange interpolation.
2
∫ (σ
x2
ref
22
x1
1.8
Lagrange
1.6
B-Spline
1.4
−σ22 )2 dx1.2
1
0.8
0.6
0.4
0.2
1
time (s) 10
100
Fig. 39 Error in σ22 vs time for both conventional and B-spline finite elements.
A similar study was done for shear stress distribution along the centerline in the
adhesive. The shear stress contour plots for conventional finite elements for different
number of degrees of freedom are as shown in figure 40. The shear stress distribution
near the adhesive adherend interface is shown in these plots, to study the convergence
behavior of the stress distribution. A similar study was done for the case of B-spline
elements as shown in figure 41. Again in this case, the solution for lower number of
degrees of freedom (1412) does not match very well with the very refined mesh
reference solution. But as the number of degrees of freedom increase to 2782, the
solution matches pretty well with the reference solution.
61
Fig. 40 Convergence behavior for shear stress near the interface using conventional
finite element solution.
62
Fig. 41 Convergence behavior for shear stress near the interface using B-spline finite
element solution.
For a more quantitative analysis of the convergence behavior in shear stress, the
difference in the shear stress with respect to the reference solution is plotted. For all the
different cases of degrees of freedom, the data points for stress along the centerline are
fitted using spline interpolation. Figure 42 shows the difference between the fitted curve
and the reference fitted curve along the centerline for two cases of conventional finite
elements and two for the B-spline finite elements. As can be seen from the figure, for
almost the same number of degrees of freedom for the two different cases, the
convergence behavior is different. The two curves for the Lagrange interpolation case
never approach zero, whereas for the case of B-spline interpolation for the middle part,
63
the difference is almost zero. This plot clearly shows a better convergence rate for the
same number of degrees of freedom in the case of B-spline finite elements.
(σ12ref −σ12 )
L5554
L11762
B11782
B5782
Fig.42 Difference in σ12 value with respect to the reference value for conventional and
B-Spline finite elements.
64
2.
Lagrange
∫ (σ
2
x2
ref
12
B-Spline
− σ 12 ) dx 1.
2
x1
1
0.
0
time (s)
1
1
10
Fig. 43 Error in σ12 vs time for both conventional and B-spline finite elements.
The error in the shear component of stress against run time is shown in figure 43.
The B-spline finite elements show a much lower error than the conventional elements.
For both, the stress components σ11 and σ12 for the case of lap shear joint, B-spline
shows a higher accuracy at lower number of degrees of freedom. Even though the
solution time required for the same number of degrees of freedom in B-spline elements
is more, the overall time required to attain the same accuracy level is less in the case of
B-spline elements.
2. Plate with Elliptical Hole
The second problem considered is a square plate with an elliptical hole, and an
applied tensile load in the y direction. The dimensions and the boundary conditions for
the plate are as shown in figure 44. Exploiting the symmetry of material, geometry and
boundary conditions, only onequarter of the plate is analyzed. The plate is considered to
be an aluminum plate, with material properties assumed as:
E = 70 GPa
υ = 0.33
G=
E
= 26.3 GPa
2(1 + υ )
65
1
2
1
1
0.125
0.25
Fig. 44 Plate with elliptical hole.
A two dimensional plane stress analysis was conducted using the two different
methods for different number of degrees of freedom. The results from the quadratic
Lagrange elements are compared with the cubic B-spline elements by running several
experiments with different number of degrees of freedom. The reference solution for
comparing the two methods is taken to be a very refined mesh of 150,000 degrees of
freedom run in an in-house code using 8 noded Lagrange elements.
66
Fig. 45 Deformed quarter plate with contours showing axial stress.
Fig. 46 Stress contours for σ22 for the reference solution.
67
Fig. 47 Stress contours for σ12 for the reference solution.
Figure 45 shows the mesh considered for the reference solution. The figure also
shows the deformed quarter plate along with the stress contours for the σ11 direction. The
inset shows the stress distribution near the hole. Similar plots are shown in figure 46 and
47 for stress components σ22 and σ12 respectively.
Figure 48 shows the cluster mesh considered for the B-spline finite element
analysis. This mesh was used to define the geometry of the problem. The mid-side nodes
are biased towards the hole, for the clusters near the hole, to obtain a graded mesh. To
obtain the conventional finite element mesh, the same super elements are further divided
to obtain a finer graded mesh. Based on the number of degrees of freedom associated
with each cluster, the number of degrees of freedom for the entire analysis is varied.
Several cases are run for different number of degrees of freedom to study the
convergence behavior for both the conventional and B-spline finite elements.
68
Fig. 48 Cluster mesh for B-spline finite element.
76602
2724
(σ 11ref − σ 11 )
σ 11ref
19402
5554
Fig. 49 Normalized difference in σ11 value with respect to the reference value for
conventional finite elements.
69
The results for these cases are compared by evaluating the stress along the y = 0
line. The error in the stress values along the same line is calculated using the reference
solution. Figure 49 shows the plot of the error in σ11 calculated for the conventional
finite elements with respect to the reference solution for four different degrees of
freedom values: 76602, 19402, 5554, 2724. The error shows lower oscillation with an
increase in the number of degrees of freedom for the four different cases of degrees of
freedom considered. Similarly, fig. 50 shows the plot if the error in σ11 using B-spline
finite elements for degrees of freedom considered as 24524, 12004, 5964 and 1564. The
change in oscillations is not as high as in the case of conventional elements, and the
amplitude of oscillations is much lower than the conventional elements. The two plots
show the error in the case of B-spline elements to be smaller and show a much higher
convergence rate for the B-spline elements as compared to the conventional elements.
These two plots show the convergence rate with respect to the number of degrees of
freedom, and it can be seen that the convergence rate for B-spline is much faster than the
conventional finite elements.
12004
(σ 11ref − σ 11 )
1564
σ 11ref
24524
5964
Fig. 50 Normalized difference in σ11 value with respect to the reference value for Bspline finite elements.
70
100
Lagrange
B-spline
10
time (s)
1
1
10
100
1000
number degrees of freedom
10000
Fig. 51 Solution time vs number of degrees of freedom for convetional and B-Spline
finite elements.
In order to compare the efficiency of the two methods, the time required to solve
the two problems needs to be compared. Figure 51, shows a comparison of the time
required to solve the equations for different number of degrees of freedom for both the
cases. It can be seen from the plot that the time for B-spline is slightly higher than the
Lagrange elements, which was expected. The error in the stress component σ11 for both
the cases is compared against the solving time. The plot showing the error in σ11 along y
= 0 line vs time is shown in fig. 52. For the lower number of degrees of freedom the
time required to solve in the conventional case is less than the B-spline elements, but the
error calculated is much larger than the same degree of freedom B-spline case. For the
same error value, the time required to solve the equations for conventional finite
elements is larger than for the B-spline elements.
71
14
Lagrange
12
∫ (σ
x2
ref
11
−σ11)2 dx
x1
B-Spline
10
8
6
4
2
0
1
1
time
10
100
Fig. 52 Error in σ11 vs time for both conventional and B-spline finite elements.
(σ
ref
22
− σ 22 )
19402
σ 22ref
76602
5554
2724
Fig. 53 Normalized difference in σ22 value with respect to the reference value for
conventional finite elements.
72
A similar study is conducted for the stress component σ22, which is the largest
along the y = 0 line. The error in σ22 along the line is plotted in fig. 53 for the four
different cases: 76602, 19402, 5554 and 2724 for conventional finite elements. The error
for the B-spline finite elements for degrees of freedom 24524, 12004, 5964 and 1564 is
shown in figure 54. Comparing the two plots, it can be observed that the curve showing
the error for the case of 1564 B-spline finite element dof’s is much less than even 2724
dof’s for the conventional finite elements. The error for the 1564 dof B-spline case is
almost the same as the conventional 5554 dof case. Also the four cases in the B-spline
case only differ near the hole, and are almost overlapping for the entire length of the
plate. The convergence behavior observed in this case for B-spline is again much better
than the conventional finite elements.
5964
12004
ref
(σ 22
− σ 22 )
σ 22ref
24524
1564
Fig. 54 Normalized difference in σ22 value with respect to the reference value for Bspline finite elements.
73
15
∫ (σ
x2
x1
ref
22
− σ 22 ) dx
2
13
Lagrange
11
B-Spline
9
7
5
3
1
10
time (s)
100
1000
Fig. 55 Error in σ22 vs time for both conventional and B-spline finite
elements.
The error vs solution time plot for the stress component σ22 is shown in fig. 55 for
both the B-spline and conventional elements case. The trend shown is very similar to the
σ11 case shown in fig. 52. The time required to reach the same level of accuracy for Bspline seems to be less than for the conventional elements. The error value reaches its
lowest much faster, for a much lower number of degrees of freedom than the
conventional finite element case.
74
CHAPTER VI
CONCLUSIONS AND FUTURE WORK
A novel method for finite element analysis for one and two dimensional
problems is introduced in which B-spline interpolations are used instead of the Lagrange
interpolations as in the case of conventional finite elements. The technique takes
advantage of the higher continuity of the B-spline interpolation resulting in the
development of a much efficient and accurate analysis tool. A strategy to implement the
interpolation functions used in CAD modeling in the existing finite element model has
been developed.
A convergence study and error analysis has been conducted to compare the
efficiency of the performance of B-spline finite elements with the Lagrange interpolation
used for finite elements. The error as compared to the number of degrees of freedom in
the case of B-spline finite elements is less than the conventional method. The new
technique is more efficient in terms of the time required to acquire the same level of
accuracy as the conventional finite element analysis. This is particularly useful for cases
where there are large stress gradients, and require a lot of run time for an accurate
analysis. The performance and efficiency of the B-spline finite elements is considerably
better than the conventional elements.
This method seems to have a huge potential for finite element problems requiring
huge solution time, especially for the case of three dimensional finite elements. The
program can be extended for the complex three dimensional problems which can result
in a much more efficient analysis. More robust techniques for grading the mesh need to
be developed for a more efficient analysis. Adaptive refinement strategies need to be
developed for optimization.
The accuracy and efficiency for the two methods is analyzed by only calculating
the error in stress distribution along a line. Some more comprehensive error analysis
techniques for the overall model need to be developed and compared. Also, the
75
efficiency of the two methods needs to be compared for elements which use selective
reduced integration to improve performance.
The design process involves two main steps, the design using Computer Aided
Design (CAD) tools and then further analysis using Computer Aided Engineering (CAE)
tools. The use of CAE requires remeshing of the model generated from CAD, since the
interpolation functions used in both cases are different. The CAD models use B-spline
interpolation whereas the CAE uses Lagrange type interpolation. The use of B-spline
interpolation for CAE can help in integrating the two steps. The complexity involved in
the generation of a new mesh for CAE can be eliminated by the use of this method, but
there needs to be future work done to be able to use the data generated by CAD to be
automatically used by CAE. This would eliminate the cumbersome process of meshing,
and would make the design process more optimized.
76
REFERENCES
1. Turner, M. J., Clough, R. W., Martin, H. C., and Topp, L. J., (1956), Stiffness
and Deflection Analysis of Complex Structures, Journal of Aeronautical
Sciences, 23, (9), 805-824.
2. Zienkiewicz, O.C., (1967), The Finite Element Method in Structural and
Continuum Mechanics, McGraw-Hill, New York.
3. Rogers, D.F., (2001), An Introduction to NURBS, with Historical Perspective,
Morgan Kaufmann Publishers, San Fransisco.
4. Prenter, P. M., (1975), Splines and Variational Methods, Wiley, New York.
5. Hollig, K., (2003), Finite Element Methods with B-Splines, Frontiers in Applied
Mathematics 26, SIAM, Philadelphia.
6. Sabin, M.A., (1997), Spline Finite Elements, PHd Dissertation, Cambridge
University, U.K.
7. Schoenberg, I. J., (1946), Contributions to the Problem of Approximation of
Equidistant Data by Analytic Functions, Quart. Appl. Math., 4, 45-99, 112-141.
8. Ahlberg, J. H.,Nilson, E.N., and Walsh, J.L., (1967), The Theory of Splines and
Their applications, Academic Press, New York.
9. De Boor,C., (1962), Bicubic spline interpolation, J. Math. Phys., 41, 212–218.
10. De Boor, C., (1978), A Practical Guide to Splines, Springer- Verlag, New York.
11. Cote, K., Complex 3D Flight Trajectory Generation and Tracking Using Cubic
Splines”, AIAA’s 1st Technical Conference and Workshop on Unmanned
Aerospace Vehicles, 20-23 May 2002, Portsmouth, Virginia.
77
12. Zamani, N.G.,(1981), A Least Squares Finite Element Method Applied to BSplines”, Journal of the Franklin Institute, 311, (3), 195-208.
13. Zamani, N.G., (1981), Least Squares Finite Element Approximation of Navier’s
Equation, Journal of the Franklin Institute, 311, (5), 311-321.
14. Peng-Cheng, S. and Jian-Guo,W., (1987), Vibration Analysis of Flat Shells by
using B Spline Functions, Computers & Structures, 25, (1), 1-10.
15. Gupta, A., Kiusalaas, J. and Saraph, M., (1991), Cubic B-Spline for Finite
Element Analysis of Axisymmetric Shells, Computers & Structures, 38, (4), 463468.
16. Gutkowski,R.M., (1991), Plate Bending Analysis by Unequally Spaced Splines,
Thin Walled Structures, 11, 409-430.
17. Benjeddou, A., (2000), Vibrations of Complex Shells of Revolution Using Bspline Finite Elements, Computers & Structures, 74, 429-440.
18. Roh, H.Y., and Cho, M., (2004), The Application of Geometrically Shell
Elements to B-Spline Surfaces, Computer Methods in Applied Mechanics and
Engineering, 193, 2261-2299.
19. Braibant,V. and Fleury,C., (1984), Shape Optimal Design Using B-Splines,
Computer Methods in Applied Mechanics and Engineering, 44, 247-267.
20. Schramm, U. and Pilkey, W. D., (1993), The Coupling of Geometric
Descriptions and Finite Elements Using NURBs – A Study in Shape
Optimization, Finite Elements in Analysis and Design, 15, 11-34.
78
21. Onwubolu,G.C., (1989), Finite Element Mesh Generation of 3D-Surfaces in
CAD, Computers & Structures, 32, (1), 31-36.
22. Onwubolu,G.C., (1991), Finite Element Mesh Generation of Arbitrary Solid
Objects in CAD, Computers & Structures, 41, (5), 1011-1018.
23. Kagan, P., Fischer, A. and Bar-Yoseph, P.Z., (1998), New B-Spline Finite
Element Approach for Geometrical Design and Mechanical Analysis,
International Journal for Numerical Methods in Engineering, 41, 435-458.
24. Kagan, P. and Fischer, A., (2000), Integrated Mechanically Based CAE System
Using B-Spline Finite Elements, Computer -Aided Design, 32, 539-552.
25. Roh, H.Y., and Cho, M., (2005), Integration of Geometric Design and
Mechanical Analysis Using B-Spline Functions on Surface, International
Journal for Numerical Methods in Engineering, 62, 1927–1949.
26. Natekar, D., Zhang, X., and Subbarayan, G., (2004), Constructive Solid
Analysis: A Hierarchical, Geometry-Based Meshless Analysis Procedure for
Integrated Design and Analysis, Computer-Aided Design, 36, 473-486.
27. Hughes, T.J.R., Cottrell, J.A., and Bazilevs, Y., (2005), Isogeometric Analysis:
CAD, Finite Elements, NURBS, Exact Geometry and Mesh Refinement,
Computer Methods in Applied Mechanics and Engineering, 194, 4135-4195.
28. Poschl, W., (1998), B-Spline Finite Elements and their Efficiency in Solving
Relativistic Mean Field EquationsComputer Physics Communications, 112, 4266.
79
29. Bahadir, A. R., (2004), Application of Cubic B-spline Finite Element Technique
to the Thermistor Problem, Applied Mathematics and Computation, 149, 379387.
30. Kutluay, S. and Esen, A., (2004), A B-spline Finite Element Method for the
Thermistor Problem with the Modified Electrical Conductivity, Applied
Mathematics and Computation, 156, 621-632.
31. Kutluay, S., Esen, A., and Dag, I., (2004), Numerical Solutions of the Burgers’
Equation by the Least-Squares Quadratic B-spline Finite Element Method,
Journal of Computational and Applied Mathematics, 167, 21-33.
32. Dag, I., Irk, D., and Saka, B., (2005), A Numerical Solution of the Burger’s
Equation Using Cubic B-splines, Applied Mathematics and Computation, 163,
199-211.
33. Aksan, E.N., (2006), Quadratic B-spline Element Method for Numerical Solution
of the Burgers’ Equation, Applied Mathematics and Computation, 174, 884-896.
34. Lagrange, J.L., Le,cons ´el´ementaires sur les math´ematiques, donn´ees `a
l’Ecole Normale en 1795, in Oeuvres VII, Gauthier–Villars, Paris, 1877, pp.
183–287.
35. Reddy, J.N., (1984), An Introduction to the Finite Element Method, McGrawHill, New York.
80
VITA
BACKGROUND
Name
: Bhavya Aggarwal
Address
: C – 2/164, West Enclave, Pitampura, New Delhi – 110034, INDIA
Phone
: 91-120-4336319
Email
: abhavya@gmail.com
EDUCATIONAL BACKGROUND
•
Bachelor of Engineering
Punjab Engineering College,
Panjab University, INDIA
•
Graduation : Spring 2002
Master of Science
Texas A&M University, USA
Graduation : December 2006