Click here to load reader

Study of 1D Bar Problem by Finite Element Method on ... · PDF fileb) Generating global stiffness matrix (Assembling) In the second step all local stiffness matrices generated from

  • View
    215

  • Download
    0

Embed Size (px)

Text of Study of 1D Bar Problem by Finite Element Method on ... · PDF fileb) Generating global...

  • 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

Search related