Click here to load reader
View
215
Download
0
Embed Size (px)
International Journal of Science and Research (IJSR) ISSN (Online): 2319-7064
Index Copernicus Value (2013): 6.14 | Impact Factor (2013): 4.438
Volume 4 Issue 6, June 2015
www.ijsr.net Licensed Under Creative Commons Attribution CC BY
Study of 1D Bar Problem by Finite Element Method
on Parallel Architectures
Pikle Nileshchandra K1, Umesh B. Chavan
2
Department of Information Technology Walchand College of Engineering, Sangli, India
Abstract: Finite element method (FEM) is one of the most commonly used numerical technique to find approximate solution for various problems in the field of mechanical engineering, civil engineering etc. In this paper we are presenting the overview of solving
mechanical 1D bar problem by Finite Element Method (FEM). This method include two steps, first we have to generate stiffness matrix
and after generating stiffness matrix solve the system of linear equations by suitable method either by direct method or by iterative
method. As Iterative methods are more computationally efficient in this paper we emphasize Conjugate gradient (CG) method and
Preconditioned Conjugate Gradient method (PCG). Later on we will focus on the parallelization of these methods on parallel
architectures such as CPU-GPU architecture or Message passing interface (MPI).
Keywords: Finite Element Method (FEM), Element By Element Finite Element Method (EBEFEM), Conjugate Gradient (CG), Preconditioned Conjugate Gradient (PCG), Graphics Processing Unit (GPU), Compute Unified Device Architecture (CUDA).
1. Introduction
Finite Element Method is one of the best methods for
solving partial differential equations (PDE) from various
domains of engineering such as Mechanical Engineering
civil engineering etc. Various structural analysis problems[1]
like determining effects of loads on structures like vehicles,
bridges, buildings, etc. are routinely carried out using the
Finite Element Method. A typical Finite Element simulation
of a practical problem usually involves the assembly and
solution of hundreds of thousands of simultaneous linear
algebraic equations which can be written in the of the form
Ax=b (1)
Solving FEM problem divided into following steps
1. Divide problem into number of finite elements. 2. Generate local stiffness matrix. 3. Assemble to form the linear systems of equations of the
form Ku = f.
4. Solve this linear system of equations by preconditioned conjugate gradient method.
Figure 1: Steps in Finite Element Method
where K is stiffness matrix, u is a load vector, L is total
length of bar and f is a applied force refer figure. One end of
bar is fixed and force (f) is applied at other end of bar. Bar is
divided into n number of finite elements area of cross
sections (A) at each element is given. According to the
hook's law stiffness (k) is given by
k=
(2)
where l is segmented length and is computed by Total
length/number of elements (L/n), E is modulus of elasticity.
The memory requirements and the computational time
required to solve such equations increases as the number of
equations increases. To deal with such large numerical
problems in the Finite Element Analysis, parallel computing
on high performance computer is gradually becoming a main
stream tool. Many parallel algorithms and programs for
finite element computation have been developed on parallel
computers, utilizing vast numbers of CPUs or GPU cores to
achieve high speed up and scalability.
2. Literature Survey
The theory and implementation of the Finite Element
Method is discussed various books, see for example Seshu
[1]. The element by element algorithm is discussed in
Hughes et. al [2] and Hughes [3]. A serial implementation of
the element by element method is discussed in King and
Sonnad [4]. A parallel implementation of the element-by-
element method using CUDA is presented in Kiss et. al [5]
where they solved the problem of heat conduction in an in
homegeneous media. Sheth [6] has demonstrated a proof of
concept implementation of the element by element method
using CUDA to solve plane linear elastic problems. Mafi and
Sirouspour [7] have also implemented the element by
element Finite Element Method using GPU solve problems
in nonlinear finite deformation analysis. High Performance
Conjugate Gradient (HPCG) algorithm explained in [8] on
GPU.
Paper ID: SUB155753 2065
International Journal of Science and Research (IJSR) ISSN (Online): 2319-7064
Index Copernicus Value (2013): 6.14 | Impact Factor (2013): 4.438
Volume 4 Issue 6, June 2015
www.ijsr.net Licensed Under Creative Commons Attribution CC BY
Problem solving by FEM
Figure 2: 1Dimensional Bar Problem
a) Generating Local Stiffness Matrix According to hook's law stress directly proportional to strain
f=ku (3)
then stiffness is given by equation (2) where A is area of
cross section, E young's modulus, L is length of the bar, f is
force acting on bar, u is displacement.
let and be the force acting on bar in X and Y direction
respectively.
=
(5)
=
(6)
Then is reaction to force i.e. opposite to
therefor = -
=
( ) (7)
=
( ) (8)
[
]=k [1 11 1
] [
] (9)
b) Generating global stiffness matrix (Assembling) In the second step all local stiffness matrices generated from
previous steps are assembled to produce the stiffness matrix
(K). Assembled matrix looks like as follows
K=[
1 1 0 0
1 1+k2 0
0 0
] (10)
This matrix is sparse, symmetric and tridiagonal. When the
arrangement of the elements get changed the stiffness matrix
is also get changed so there is no guarantee that stiffness
matrix generated will be symmetric and tridiagonal. By
putting stiffness matrix in equation (2) we will generate a
system of linear equations of the form shown in equation
(1).Then next step is solving this system.
c) Solving the system of linear equations There are several methods of solving system of linear
equations divided direct and iterative method. Direct
methods like gauss-elimination, LU decomposition,
cholesky's decom- position[9] are somewhat costlier in
terms of memory and number of iterations. As in this case
the matrix generated is tridiagonal and symmetric Thomas
Algorithm[10] can be used to reduce space complexity.
Because in Thomas algorithm no need to store whole
stiffness matrix, only diagonal is stored so space is reduced
from 2to 3. Like other direct methods solution is found by forward or backward substitution which takes n iterations in
Thomas algorithm. On the other hand iterative methods are
more suitable in terms of space and time complexity. One of
the best iterative methods is conjugate gradient method. It
converges towards the solution faster than the other
methods. The main drawback of direct method is we have to
followiterations forequations. In CG method we can iterate less than , it depends on up to what approximation we can tolerate the error. If the solution to this equation
represents the deformation takes place in the bar at various
positions. The stiffness matrix generated from assembling
process is a very large sparse matrix, to solve this very large
memory space required. So another method called Element
by Element Finite Element Method (EBEFEM) [11] is used
to solve the 1D bar problem. EBEFEM is solved by using
preconditioned conjugate gradient method.
3. Element by Element Finite Element Method
Element-by-element (EBE) algorithm implements the
conjugate gradient method at the element level. It reduces
solving the linear set of equations Ax=b for the whole system to
() ()=b
(11)
That is instead of generating the global stiffness matrix,
solution is find out at element level. This system is
explained by law[12]. In equation (11) ()is an element level stiffness- matrix ()vector of unknowns at element level and ()is right hand side known vector. The reason behind such element level computations is, easy for
parallelization. On parallel architecture each processor will
compute these computations locally hence speedup will be
achived. Further, Liu and Yang [13] combined a similar
model proposed by Hughes, Levit et al. [1] with this model
and implemented an element by element (EBE) Jacobi
preconditioned conjugate gradient (PCG) method.
4. Graphics Processing Unit
Graphics processing unit (GPU) most of the times it is also
called as visual processing unit (VPU).GPU is not a
standalone device it is works with CPU. Most of the
computers now a days comes with GPUs.GPU accelerated
computing combined with CPU together used to accelerate
the scientific, analytical, etc. applications. Generally GPUs
considers two architectures memory architecture and host
device architecture. In GPUs thousands of cores are present
as compare to CPUs now a days 4, 8, 16 cores are present.
Though GPUs having these many cores it cannot be used as
stand