of 13 /13
Research Article Fast Stiffness Matrix Calculation for Nonlinear Finite Element Method Emir Gülümser, 1 ULur Güdükbay, 1 and Sinan Filiz 2 1 Department of Computer Engineering, Bilkent University, 06800 Ankara, Turkey 2 Department of Mechanical Engineering, Bilkent University, 06800 Ankara, Turkey Correspondence should be addressed to U˘ gur G¨ ud¨ ukbay; [email protected] Received 29 May 2014; Revised 24 July 2014; Accepted 6 August 2014; Published 28 August 2014 Academic Editor: Henggui Zhang Copyright © 2014 Emir G¨ ul¨ umser et al. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. We propose a fast stiffness matrix calculation technique for nonlinear finite element method (FEM). Nonlinear stiffness matrices are constructed using Green-Lagrange strains, which are derived from infinitesimal strains by adding the nonlinear terms discarded from small deformations. We implemented a linear and a nonlinear finite element method with the same material properties to examine the differences between them. We verified our nonlinear formulation with different applications and achieved considerable speedups in solving the system of equations using our nonlinear FEM compared to a state-of-the-art nonlinear FEM. 1. Introduction Mesh deformations have widespread usage areas, such as computer games, computer animations, fluid flow, heat transfer, surgical simulations, cloth simulations, and crash test simulations. e major goal in mesh deformations is to establish a good balance between the accuracy of the simulation and the computational cost; achieving this balance depends on the application. e speed of the simulation is far more important than the accuracy in computer games. e simulation needs to be real-time in order to be used in games so free-form deformation or fast linear FEM solvers can be used. However, high computation cost gives much more accurate results when we are working with life-critical applications such as car crash tests, surgical simulators, and concrete analysis of buildings; even linear FEM solvers are not adequate enough for these types of applications in terms of the accuracy. For realistic and highly accurate deformations, one can use the finite element method (FEM), a numerical technique to find approximate solutions to engineering and mathemat- ical physics problems. FEM could be used to solve problems in areas such as structural analysis, heat transfer, fluid flow, mass transport, and electromagnetics [1, 2]. We propose a fast stiffness matrix calculation technique for nonlinear FEM. We derive nonlinear stiffness matri- ces using Green-Lagrange strains, themselves derived from infinitesimal strains by adding the nonlinear terms discarded from infinitesimal strain theory. We mainly focus on the construction of the stiffness matrices because change in material parameters and change in boundary conditions can be directly represented and applied without choosing a proper FEM [3]. Joldes et al. [4] and Taylor et al. [5] achieve real-time computations of soſt tissue deformations for nonlinear FEM using GPUs; however, they do not describe how they compute stiffness matrices; thus, we cannot implement their methods and compare them with our proposed method. Cerrolaza and Osorio describe a simple and efficient method to reduce the integration time of nonlinear FEM for dynamic problems using hexahedral 8-noded finite elements [6]. We compare our stiffness matrix calculations with Pedersen’s method [3] to measure performance and verify correctness. We achieve a 142% speedup in calculating the stiffness matrices and a 15% Hindawi Publishing Corporation Journal of Applied Mathematics Volume 2014, Article ID 932314, 12 pages http://dx.doi.org/10.1155/2014/932314

Research Article Fast Stiffness Matrix Calculation for Nonlinear … · 2018. 12. 30. · Fast Stiffness Matrix Calculation for Nonlinear Finite Element Method EmirGülümser, 1 U

  • Author
    others

  • View
    5

  • Download
    0

Embed Size (px)

Text of Research Article Fast Stiffness Matrix Calculation for Nonlinear … · 2018. 12. 30. · Fast...

  • Research ArticleFast Stiffness Matrix Calculation for NonlinearFinite Element Method

    Emir Gülümser,1 ULur Güdükbay,1 and Sinan Filiz2

    1 Department of Computer Engineering, Bilkent University, 06800 Ankara, Turkey2Department of Mechanical Engineering, Bilkent University, 06800 Ankara, Turkey

    Correspondence should be addressed to Uğur Güdükbay; [email protected]

    Received 29 May 2014; Revised 24 July 2014; Accepted 6 August 2014; Published 28 August 2014

    Academic Editor: Henggui Zhang

    Copyright © 2014 Emir Gülümser et al.This is an open access article distributed under the Creative CommonsAttribution License,which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

    We propose a fast stiffness matrix calculation technique for nonlinear finite element method (FEM). Nonlinear stiffness matricesare constructed usingGreen-Lagrange strains, which are derived from infinitesimal strains by adding the nonlinear terms discardedfrom small deformations. We implemented a linear and a nonlinear finite element method with the same material properties toexamine the differences between them.We verified our nonlinear formulationwith different applications and achieved considerablespeedups in solving the system of equations using our nonlinear FEM compared to a state-of-the-art nonlinear FEM.

    1. Introduction

    Mesh deformations have widespread usage areas, such ascomputer games, computer animations, fluid flow, heattransfer, surgical simulations, cloth simulations, and crashtest simulations. The major goal in mesh deformations isto establish a good balance between the accuracy of thesimulation and the computational cost; achieving this balancedepends on the application. The speed of the simulation isfar more important than the accuracy in computer games.The simulation needs to be real-time in order to be used ingames so free-form deformation or fast linear FEM solverscan be used. However, high computation cost gives muchmore accurate results when we are working with life-criticalapplications such as car crash tests, surgical simulators, andconcrete analysis of buildings; even linear FEM solvers arenot adequate enough for these types of applications in termsof the accuracy.

    For realistic and highly accurate deformations, one canuse the finite element method (FEM), a numerical techniqueto find approximate solutions to engineering and mathemat-ical physics problems. FEM could be used to solve problems

    in areas such as structural analysis, heat transfer, fluid flow,mass transport, and electromagnetics [1, 2].

    We propose a fast stiffness matrix calculation techniquefor nonlinear FEM. We derive nonlinear stiffness matri-ces using Green-Lagrange strains, themselves derived frominfinitesimal strains by adding the nonlinear terms discardedfrom infinitesimal strain theory.

    We mainly focus on the construction of the stiffnessmatrices because change in material parameters and changein boundary conditions can be directly represented andapplied without choosing a proper FEM [3]. Joldes et al.[4] and Taylor et al. [5] achieve real-time computations ofsoft tissue deformations for nonlinear FEM using GPUs;however, they do not describe how they compute stiffnessmatrices; thus, we cannot implement their methods andcompare them with our proposed method. Cerrolaza andOsorio describe a simple and efficient method to reduce theintegration time of nonlinear FEM for dynamic problemsusing hexahedral 8-noded finite elements [6]. We compareour stiffness matrix calculations with Pedersen’s method [3]to measure performance and verify correctness.We achieve a142% speedup in calculating the stiffness matrices and a 15%

    Hindawi Publishing CorporationJournal of Applied MathematicsVolume 2014, Article ID 932314, 12 pageshttp://dx.doi.org/10.1155/2014/932314

  • 2 Journal of Applied Mathematics

    speedup in solving the whole system on average, compared toPedersen’s method.

    2. The Nonlinear FEM withGreen-Lagrange Strains

    We use tetrahedral elements for modeling meshes in theexperiments. Overall, there are 12 unknown nodal displace-ments in a tetrahedral element. They are given by [2]

    {𝑑} = {𝑢 (𝑥, 𝑦, 𝑧)} =

    {{{{{{{{{{

    {{{{{{{{{{

    {

    𝑢1

    V1

    𝑤1

    ...𝑢4

    V4

    𝑤4

    }}}}}}}}}}

    }}}}}}}}}}

    }

    . (1)

    In global coordinates, we represent displacements by linearfunction by

    𝑢𝑒(𝑥, 𝑦, 𝑧) = 𝑐

    1+ 𝑐2𝑥 + 𝑐3𝑦 + 𝑐4𝑧. (2)

    For all 4 vertices, (2) is extended as

    [[[

    [

    1 𝑥1

    𝑦1

    𝑧1

    1 𝑥2

    𝑦2

    𝑧2

    1 𝑥3

    𝑦3

    𝑧3

    1 𝑥4

    𝑦4

    𝑧4

    ]]]

    ]

    {{{

    {{{

    {

    𝑐1

    𝑐2

    𝑐3

    𝑐4

    }}}

    }}}

    }

    =

    {{{

    {{{

    {

    𝑢1

    𝑢2

    𝑢3

    𝑢4

    }}}

    }}}

    }

    . (3)

    Constants 𝑐𝑛can be found as

    𝑐𝑛= V−1𝑢

    𝑛, (4)

    where V−1 is given by

    V−1 =1

    det (V)[[[

    [

    𝛼1

    𝛼2

    𝛼3

    𝛼4

    𝛽1

    𝛽2

    𝛽3

    𝛽4

    𝛾1

    𝛾2

    𝛾3

    𝛾4

    𝛿1

    𝛿2

    𝛿3

    𝛿4

    ]]]

    ]

    . (5)

    det(V) is 6𝑉, where 𝑉 is the volume of the tetrahedron. If wesubstitute (4) into (2), we obtain

    𝑢𝑒(𝑥, 𝑦, 𝑧) =

    1

    6𝑉𝑒[1 𝑥 𝑦 𝑧]

    [[[

    [

    𝛼1

    𝛼2

    𝛼3

    𝛼4

    𝛽1

    𝛽2

    𝛽3

    𝛽4

    𝛾1

    𝛾2

    𝛾3

    𝛾4

    𝛿1

    𝛿2

    𝛿3

    𝛿4

    ]]]

    ]

    {{{

    {{{

    {

    𝑢1

    𝑢2

    𝑢3

    𝑢4

    }}}

    }}}

    }

    .

    (6)

    𝛼, 𝛽, 𝛾, 𝛿, and the volume 𝑉 are calculated by

    𝛼1=

    𝑥2

    𝑦2

    𝑧2

    𝑥3

    𝑦3

    𝑧3

    𝑥4

    𝑦4

    𝑧4

    , 𝛼2= −

    𝑥1

    𝑦1

    𝑧1

    𝑥3

    𝑦3

    𝑧3

    𝑥4

    𝑦4

    𝑧4

    ,

    𝛼3=

    𝑥1

    𝑦1

    𝑧1

    𝑥2

    𝑦2

    𝑧2

    𝑥4

    𝑦4

    𝑧4

    , 𝛼4= −

    𝑥1

    𝑦1

    𝑧1

    𝑥2

    𝑦2

    𝑧2

    𝑥3

    𝑦3

    𝑧3

    ,

    𝛽1= −

    1 𝑦2

    𝑧2

    1 𝑦3

    𝑧3

    1 𝑦4

    𝑧4

    , 𝛽2=

    1 𝑦1

    𝑧1

    1 𝑦3

    𝑧3

    1 𝑦4

    𝑧4

    ,

    𝛽3= −

    1 𝑦1

    𝑧1

    1 𝑦2

    𝑧2

    1 𝑦4

    𝑧4

    , 𝛽4=

    1 𝑦1

    𝑧1

    1 𝑦2

    𝑧2

    1 𝑦3

    𝑧3

    ,

    𝛾1=

    1 𝑥2

    𝑧2

    1 𝑥3

    𝑧3

    1 𝑥4

    𝑧4

    , 𝛾2= −

    1 𝑥1

    𝑧1

    1 𝑥3

    𝑧3

    1 𝑥4

    𝑧4

    ,

    𝛾3=

    1 𝑥1

    𝑧1

    1 𝑥2

    𝑧2

    1 𝑥4

    𝑧4

    , 𝛾4= −

    1 𝑥1

    𝑧1

    1 𝑥2

    𝑧2

    1 𝑥3

    𝑧3

    ,

    𝛿1= −

    1 𝑥2

    𝑦2

    1 𝑥3

    𝑦3

    1 𝑥4

    𝑦4

    , 𝛿2=

    1 𝑥1

    𝑦1

    1 𝑥3

    𝑦3

    1 𝑥4

    𝑦4

    ,

    𝛿3= −

    1 𝑥1

    𝑦1

    1 𝑥2

    𝑦2

    1 𝑥4

    𝑦4

    , 𝛿4=

    1 𝑥1

    𝑦1

    1 𝑥2

    𝑦2

    1 𝑥3

    𝑦3

    ,

    6𝑉 =

    1 𝑥𝑖

    𝑦𝑖

    𝑧𝑖

    1 𝑥𝑗

    𝑦𝑗

    𝑧𝑗

    1 𝑥𝑘

    𝑦𝑘

    𝑧𝑘

    1 𝑥𝑙

    𝑦𝑙

    𝑧𝑙

    .

    (7)

    Because of the differentials in strain calculation, 𝛼 is not usedin the following stages. If we expand (6), we obtain

    𝑢𝑒(𝑥, 𝑦, 𝑧)

    =1

    6𝑉𝑒

    [[[

    [

    𝛼1+ 𝛽1𝑥 + 𝛾1𝑦 + 𝛿1𝑧

    𝛼2+ 𝛽2𝑥 + 𝛾2𝑦 + 𝛿2𝑧

    𝛼3+ 𝛽3𝑥 + 𝛾3𝑦 + 𝛿3𝑧

    𝛼4+ 𝛽4𝑥 + 𝛾4𝑦 + 𝛿4𝑧

    ]]]

    ]

    × [𝑢(𝑥, 𝑦, 𝑧)1

    𝑢(𝑥, 𝑦, 𝑧)2

    𝑢(𝑥, 𝑦, 𝑧)3

    𝑢(𝑥, 𝑦, 𝑧)4] .

    (8)

    For tetrahedral elements, to express displacements in simplerform, shape functions are introduced (𝜓

    1, 𝜓2, 𝜓3, 𝜓4). They

    are given by

    𝜓1=

    1

    6𝑉(𝛼1+ 𝛽1𝑥 + 𝛾1𝑦 + 𝛿1𝑧) 𝑢(𝑥, 𝑦, 𝑧)

    1,

    𝜓2=

    1

    6𝑉(𝛼2+ 𝛽2𝑥 + 𝛾2𝑦 + 𝛿2𝑧) 𝑢(𝑥, 𝑦, 𝑧)

    2,

    𝜓3=

    1

    6𝑉(𝛼3+ 𝛽3𝑥 + 𝛾3𝑦 + 𝛿3𝑧) 𝑢(𝑥, 𝑦, 𝑧)

    3,

    𝜓4=

    1

    6𝑉(𝛼4+ 𝛽4𝑥 + 𝛾4𝑦 + 𝛿4𝑧) 𝑢(𝑥, 𝑦, 𝑧)

    4.

    (9)

    In our method, nonlinear stiffness matrices are derivedusing Green-Lagrange strains (large deformations), which

  • Journal of Applied Mathematics 3

    y, uy

    x, ux

    dx

    C

    C

    B

    B

    A

    A

    𝜕uy

    𝜕xdx

    dx +𝜕ux

    𝜕xdx

    Figure 1: 2D element before and after deformation.

    themselves are derived directly from infinitesimal strains(small deformations), by adding the nonlinear terms dis-carded in infinitesimal strain theory.The proposed nonlinearFEM uses the linear FEM framework but it does not requirethe explicit use of weight functions and differential equations.Hence, numerical integration is not needed for the solution ofthe proposed nonlinear FEM. Instead of using weight func-tions and integrals, we use displacement gradients and strainsto make the elemental stiffness matrices space-independentin order to discard the integral. We extend the linear FEMto the nonlinear FEM by extending the linear strains to theGreen-Lagrange strains.

    We constructed our linear FEM by extending Logan’s 2Dlinear FEM to 3D [2]. To understandGreen-Lagrange strains,wemust first see how they differ from the infinitesimal strainsused to calculate the global stiffness matrices in a linear FEM.Figure 1 shows a 2D element before and after deformation,where the element edge 𝐴𝐵 with initial length 𝑑𝑥 becomes𝐴𝐵. The engineering normal strain is calculated as the

    change in the length of the line

    𝜀𝑥=

    𝐴𝐵

    − |𝐴𝐵|

    |𝐴𝐵|. (10)

    The final length of the elemental edge can be calculated using

    𝐴𝐵

    2

    = (𝑑𝑥 +𝜕𝑢𝑥

    𝜕𝑥𝑑𝑥)

    2

    + (

    𝜕𝑢𝑦

    𝜕𝑥𝑑𝑥)

    2

    ,

    𝐴𝐵

    2

    = 𝑑𝑥2[1 + 2(

    𝜕𝑢𝑥

    𝜕𝑥) + (

    𝜕𝑢𝑥

    𝜕𝑥)

    2

    + (

    𝜕𝑢𝑦

    𝜕𝑥)

    2

    ] .

    (11)

    By neglecting the higher-order terms in (11), 2D infinitesimalstrains are defined by

    𝜀𝑥𝑥

    =𝜕𝑢𝑥

    𝜕𝑥, 𝜀

    𝑦𝑦=

    𝜕𝑢𝑦

    𝜕𝑦, 𝜀

    𝑥𝑦=

    1

    2(

    𝜕𝑢𝑥

    𝜕𝑦+

    𝜕𝑢𝑦

    𝜕𝑥) .

    (12)

    By the definition, the nonlinear FEM differs from thelinear FEM because of the nonlinearity that arises from thehigher-order term neglected in calculation of strains. Thestrain vector used in the linear FEM relies on the assumptionthat the displacements at the 𝑥-axis, 𝑦-axis, and 𝑧-axis arevery small. The initial and final positions of a given particleare practically the same; thus, the higher-order terms areneglected [7]. When the displacements are large, however,this is no longer the case and one must distinguish betweenthe initial and final coordinates of the particles; thus thehigher-order terms are added into the strain equations. Byadding these high-order terms, 3D strains are defined as [8]

    𝜂𝑥𝑥

    =𝜕𝑢𝑥

    𝜕𝑥+

    1

    2[(

    𝜕𝑢𝑥

    𝜕𝑥

    𝜕𝑢𝑥

    𝜕𝑥) + (

    𝜕𝑢𝑦

    𝜕𝑥

    𝜕𝑢𝑦

    𝜕𝑥) + (

    𝜕𝑢𝑧

    𝜕𝑥

    𝜕𝑢𝑧

    𝜕𝑥)] ,

    𝜂𝑦𝑦

    =

    𝜕𝑢𝑦

    𝜕𝑦+

    1

    2[(

    𝜕𝑢𝑥

    𝜕𝑦

    𝜕𝑢𝑥

    𝜕𝑦) + (

    𝜕𝑢𝑦

    𝜕𝑦

    𝜕𝑢𝑦

    𝜕𝑦) + (

    𝜕𝑢𝑧

    𝜕𝑦

    𝜕𝑢𝑧

    𝜕𝑦)] ,

    𝜂𝑧𝑧

    =𝜕𝑢𝑧

    𝜕𝑧+

    1

    2[(

    𝜕𝑢𝑥

    𝜕𝑧

    𝜕𝑢𝑥

    𝜕𝑧) + (

    𝜕𝑢𝑦

    𝜕𝑧

    𝜕𝑢𝑦

    𝜕𝑧) + (

    𝜕𝑢𝑧

    𝜕𝑧

    𝜕𝑢𝑧

    𝜕𝑧)] ,

    𝜂𝑥𝑦

    =1

    2(

    𝜕𝑢𝑥

    𝜕𝑦+

    𝜕𝑢𝑦

    𝜕𝑥)

    +1

    2[(

    𝜕𝑢𝑥

    𝜕𝑥

    𝜕𝑢𝑥

    𝜕𝑦) + (

    𝜕𝑢𝑦

    𝜕𝑥

    𝜕𝑢𝑦

    𝜕𝑦) + (

    𝜕𝑢𝑧

    𝜕𝑥

    𝜕𝑢𝑧

    𝜕𝑦)] ,

    𝜂𝑧𝑥

    =1

    2(𝜕𝑢𝑧

    𝜕𝑥+

    𝜕𝑢𝑥

    𝜕𝑧)

    +1

    2[(

    𝜕𝑢𝑥

    𝜕𝑧

    𝜕𝑢𝑥

    𝜕𝑥) + (

    𝜕𝑢𝑦

    𝜕𝑧

    𝜕𝑢𝑦

    𝜕𝑥) + (

    𝜕𝑢𝑧

    𝜕𝑧

    𝜕𝑢𝑧

    𝜕𝑥)] ,

    𝜂𝑦𝑧

    =1

    2(

    𝜕𝑢𝑦

    𝜕𝑧+

    𝜕𝑢𝑧

    𝜕𝑦)

    +1

    2[(

    𝜕𝑢𝑥

    𝜕𝑦

    𝜕𝑢𝑥

    𝜕𝑧) + (

    𝜕𝑢𝑦

    𝜕𝑦

    𝜕𝑢𝑦

    𝜕𝑧) + (

    𝜕𝑢𝑧

    𝜕𝑦

    𝜕𝑢𝑧

    𝜕𝑧)] ,

    (13)

    which leads to

    {𝑛} =

    {{{{{{{{

    {{{{{{{{

    {

    𝜂𝑥𝑥

    𝜂𝑦𝑦

    𝜂𝑧𝑧

    2 (𝜂𝑥𝑦

    + 𝜂𝑦𝑥

    )

    2 (𝜂𝑥𝑧

    + 𝜂𝑧𝑥

    )

    2 (𝜂𝑦𝑧

    + 𝜂𝑧𝑦

    )

    }}}}}}}}

    }}}}}}}}

    }

    =

    {{{{{{{

    {{{{{{{

    {

    𝜂𝑥𝑥

    𝜂𝑦𝑦

    𝜂𝑧𝑧

    2𝜂𝑥𝑦

    2𝜂𝑧𝑥

    2𝜂𝑦𝑧

    }}}}}}}

    }}}}}}}

    }

    . (14)

    The Green-Lagrange strain tensor is represented in matrixnotation as

    {𝜂} = [𝐵𝑇

    𝐿] {𝑑} +

    1

    2{𝑑}𝑇[𝐵NL] {𝑑} , (15)

    where {𝑑} is the nodal displacement, [𝐵𝐿] is the linear, and

    [𝐵NL] is the nonlinear part of the [𝐵0]matrix [3]. For a specific

  • 4 Journal of Applied Mathematics

    element, [𝐵𝐿] and [𝐵NL] are constant, as with the [𝐵] matrix

    in the linear FEM.With the variation of {𝑑} [9], (15) becomes

    {𝜂} = [𝐵𝑇

    𝐿] {𝑑} + {𝑑}

    𝑇[𝐵NL] {𝑑} . (16)

    Gathering the strain components together, we can rewrite(15) and (16) as

    {𝜂} = ([𝐵𝐿] +

    1

    2{𝑑𝑇} [𝐵NL]) {𝑑} = [𝐵0] {𝑑} ,

    {𝜂} = ([𝐵𝐿] + {𝑑

    𝑇} [𝐵NL]) {𝑑} = [𝐵0] {𝑑} .

    (17)

    The linear part of the [𝐵0]matrix ([𝐵

    𝐿]) is the same as the

    [𝐵]matrix in the linear FEM. Calculating [𝐵0] becomesmore

    complex with the introduction of the nonlinear terms. Afterfinding the nonlinear strains, these equations are combinedwith the shape functions to find matrix [𝐵

    0]:

    {𝜂} = [𝐵0] {𝑑} . (18)

    The most frequently used terms, which are the nine dis-placement gradients for calculating the nonlinear strains, are𝜕𝑢𝑥/𝜕𝑥, 𝜕𝑢

    𝑥/𝜕𝑦, 𝜕𝑢

    𝑥/𝜕𝑧, 𝜕𝑢

    𝑦/𝜕𝑥, 𝜕𝑢

    𝑦/𝜕𝑦, 𝜕𝑢

    𝑦/𝜕𝑥, 𝜕𝑢

    𝑧/𝜕𝑥,

    𝜕𝑢𝑧/𝜕𝑦, and 𝜕𝑢

    𝑧/𝜕𝑧. Using (8) for displacements, we can con-

    struct the displacement gradients using the partial derivativesof the shape functions. They are represented by

    𝑢𝑥𝑥

    =1

    6𝑉(𝛽1𝑢1+ 𝛽2𝑢2+ 𝛽3𝑢3+ 𝛽4𝑢4) ,

    𝑢𝑦𝑥

    =1

    6𝑉(𝛽1V1+ 𝛽2V2+ 𝛽3V3+ 𝛽4V4) ,

    𝑢𝑧𝑥

    =1

    6𝑉(𝛽1𝑤1+ 𝛽2𝑤2+ 𝛽3𝑤3+ 𝛽4𝑤4) ,

    𝑢𝑥𝑦

    =1

    6𝑉(𝛾1𝑢1+ 𝛾2𝑢2+ 𝛾3𝑢3+ 𝛾4𝑢4) ,

    𝑢𝑦𝑦

    =1

    6𝑉(𝛾1V1+ 𝛾2V2+ 𝛾3V3+ 𝛾4V4) ,

    𝑢𝑧𝑦

    =1

    6𝑉(𝛾1𝑤1+ 𝛾2𝑤2+ 𝛾3𝑤3+ 𝛾4𝑤4) ,

    𝑢𝑥𝑧

    =1

    6𝑉(𝛿1𝑢1+ 𝛿2𝑢2+ 𝛿3𝑢3+ 𝛿4𝑢4) ,

    𝑢𝑦𝑧

    =1

    6𝑉(𝛿1V1+ 𝛿2V2+ 𝛿3V3+ 𝛿4V4) ,

    𝑢𝑧𝑧

    =1

    6𝑉(𝛿1𝑤1+ 𝛿2𝑤2+ 𝛿3𝑤3+ 𝛿4𝑤4) ,

    (19)

    where 𝑢𝑥𝑥

    represents 𝜕𝑢𝑥/𝜕𝑥.

    We can evaluate the partial derivatives of the shapefunctions as follows (for the 1st node of [𝐵NL]):

    [(𝜕𝑢𝑥

    𝜕𝑥

    𝜕𝑢𝑥

    𝜕𝑥) + (

    𝜕𝑢𝑦

    𝜕𝑥

    𝜕𝑢𝑦

    𝜕𝑥) + (

    𝜕𝑢𝑧

    𝜕𝑥

    𝜕𝑢𝑧

    𝜕𝑥)]

    =1

    6𝑉(𝛽1(𝑢𝑥𝑥

    + 𝑢𝑦𝑥

    + 𝑢𝑧𝑥

    )) ,

    [(𝜕𝑢𝑥

    𝜕𝑦

    𝜕𝑢𝑥

    𝜕𝑦) + (

    𝜕𝑢𝑦

    𝜕𝑦

    𝜕𝑢𝑦

    𝜕𝑦) + (

    𝜕𝑢𝑧

    𝜕𝑦

    𝜕𝑢𝑧

    𝜕𝑦)]

    =1

    6𝑉(𝛾1(𝑢𝑥𝑦

    + 𝑢𝑦𝑦

    + 𝑢𝑧𝑦

    )) ,

    [(𝜕𝑢𝑥

    𝜕𝑧

    𝜕𝑢𝑥

    𝜕𝑧) + (

    𝜕𝑢𝑦

    𝜕𝑧

    𝜕𝑢𝑦

    𝜕𝑧) + (

    𝜕𝑢𝑧

    𝜕𝑧

    𝜕𝑢𝑧

    𝜕𝑧)]

    =1

    6𝑉(𝛿1(𝑢𝑥𝑧

    + 𝑢𝑦𝑧

    + 𝑢𝑧𝑧

    )) ,

    [(𝜕𝑢𝑥

    𝜕𝑥

    𝜕𝑢𝑥

    𝜕𝑦) + (

    𝜕𝑢𝑦

    𝜕𝑥

    𝜕𝑢𝑦

    𝜕𝑦) + (

    𝜕𝑢𝑧

    𝜕𝑥

    𝜕𝑢𝑧

    𝜕𝑦)]

    =1

    6𝑉(𝛾1(𝑢𝑥𝑥

    + 𝑢𝑦𝑥

    + 𝑢𝑧𝑥

    ))

    +1

    6𝑉(𝛽1(𝑢𝑥𝑦

    + 𝑢𝑦𝑦

    + 𝑢𝑧𝑦

    )) ,

    [(𝜕𝑢𝑥

    𝜕𝑧

    𝜕𝑢𝑥

    𝜕𝑥) + (

    𝜕𝑢𝑦

    𝜕𝑧

    𝜕𝑢𝑦

    𝜕𝑥) + (

    𝜕𝑢𝑧

    𝜕𝑧

    𝜕𝑢𝑧

    𝜕𝑥)]

    =1

    6𝑉(𝛿1(𝑢𝑥𝑥

    + 𝑢𝑦𝑥

    + 𝑢𝑧𝑥

    ))

    +1

    6𝑉(𝛽1(𝑢𝑥𝑧

    + 𝑢𝑦𝑧

    + 𝑢𝑧𝑧

    )) ,

    [(𝜕𝑢𝑥

    𝜕𝑦

    𝜕𝑢𝑥

    𝜕𝑧) + (

    𝜕𝑢𝑦

    𝜕𝑦

    𝜕𝑢𝑦

    𝜕𝑧) + (

    𝜕𝑢𝑧

    𝜕𝑦

    𝜕𝑢𝑧

    𝜕𝑧)]

    =1

    6𝑉(𝛾1(𝑢𝑥𝑧

    + 𝑢𝑦𝑧

    + 𝑢𝑧𝑧

    ))

    +1

    6𝑉(𝛿1(𝑢𝑥𝑦

    + 𝑢𝑦𝑦

    + 𝑢𝑧𝑦

    )) .

    (20)

    Using (17) and (20), we obtain [𝐵0] for the 1st node (21).

    Similarly, using (17) and (20), we obtain [𝐵0] for the 1st node

    (22).

  • Journal of Applied Mathematics 5

    Consider

    [𝐵01

    ] =

    [[[[[[[[[[[[[[

    [

    𝛽1+ 𝛽1(𝑢𝑥𝑥

    ) 𝛽1(𝑢𝑦𝑥

    ) 𝛽1(𝑢𝑧𝑥

    )

    𝛾1(𝑢𝑥𝑦

    ) 𝛾1+ 𝛾1(𝑢𝑦𝑦

    ) 𝛾1(𝑢𝑧𝑦

    )

    𝛿1(𝑢𝑥𝑧

    ) 𝛿1(𝑢𝑦𝑧

    ) 𝛿1+ 𝛿1(𝑢𝑧𝑧

    )

    𝛾1+ 𝛾1(𝑢𝑥𝑥

    ) + 𝛽1(𝑢𝑥𝑦

    ) 𝛾1(𝑢𝑦𝑥

    ) + 𝛽1+ 𝛽1(𝑢𝑦𝑦

    ) 𝛾1(𝑢𝑧𝑥

    ) + 𝛽1(𝑢𝑧𝑦

    )

    𝛿1+ 𝛿1(𝑢𝑥𝑥

    ) + 𝛽1(𝑢𝑥𝑧

    ) 𝛿1(𝑢𝑦𝑥

    ) + 𝛽1(𝑢𝑦𝑧

    ) 𝛿1(𝑢𝑧𝑥

    ) + 𝛽1+ 𝛽1(𝑢𝑧𝑧

    )

    𝛾1(𝑢𝑥𝑧

    ) + 𝛿1(𝑢𝑥𝑦

    ) 𝛾1+ 𝛾1(𝑢𝑦𝑧

    ) + 𝛿1(𝑢𝑦𝑦

    ) 𝛾1(𝑢𝑧𝑧

    ) + 𝛿1+ 𝛿1(𝑢𝑧𝑦

    )

    ]]]]]]]]]]]]]]

    ]

    {

    {

    {

    𝑢1

    V1

    𝑤1

    }

    }

    }

    , (21)

    [𝐵01

    ] =

    [[[[[[[[[[[[[[[[[[[[[

    [

    𝛽1+

    1

    2𝛽1(𝑢𝑥𝑥

    )1

    2𝛽1(𝑢𝑦𝑥

    )1

    2𝛽1(𝑢𝑧𝑥

    )

    1

    2𝛾1(𝑢𝑥𝑦

    ) 𝛾1+

    1

    2𝛾1(𝑢𝑦𝑦

    )1

    2𝛾1(𝑢𝑧𝑦

    )

    1

    2𝛿1(𝑢𝑥𝑧

    )1

    2𝛿1(𝑢𝑦𝑧

    ) 𝛿1+

    1

    2𝛿1(𝑢𝑧𝑧

    )

    𝛾1+

    1

    2𝛾1(𝑢𝑥𝑥

    ) +1

    2𝛽1(𝑢𝑥𝑦

    )1

    2𝛾1(𝑢𝑦𝑥

    ) + 𝛽1+

    1

    2𝛽1(𝑢𝑦𝑦

    )1

    2𝛾1(𝑢𝑧𝑥

    ) +1

    2𝛽1(𝑢𝑧𝑦

    )

    𝛿1+

    1

    2𝛿1(𝑢𝑥𝑥

    ) +1

    2𝛽1(𝑢𝑥𝑧

    )1

    2𝛿1(𝑢𝑦𝑥

    ) +1

    2𝛽1(𝑢𝑦𝑧

    )1

    2𝛿1(𝑢𝑧𝑥

    ) + 𝛽1+

    1

    2𝛽1(𝑢𝑧𝑧

    )

    1

    2𝛾1(𝑢𝑥𝑧

    ) +1

    2𝛿1(𝑢𝑥𝑦

    ) 𝛾1+

    1

    2𝛾1(𝑢𝑦𝑧

    ) +1

    2𝛿1(𝑢𝑦𝑦

    )1

    2𝛾1(𝑢𝑧𝑧

    ) + 𝛿1+

    1

    2𝛿1(𝑢𝑧𝑦

    )

    ]]]]]]]]]]]]]]]]]]]]]

    ]

    {

    {

    {

    𝑢1

    V1

    𝑤1

    }

    }

    }

    . (22)

    The FEM is derived from conservation of the potentialenergy, which is defined by

    𝜋 = Estrain + 𝑊, (23)

    where Estrain is the strain energy of the linear element and 𝑊is the work potential. They are given by

    Estrain =1

    2∫

    Ω𝑒

    𝜀𝑇𝜎𝑑𝑥, 𝑊 = 𝑓

    𝑒𝑑𝑇, (24)

    where the engineering strain vector {𝜀} is

    {𝜀} = [𝐵] {𝑑} . (25)

    From (24), the engineering stress vector 𝜏 is related to thestrain vector by

    𝜏 = [𝐸] {𝜂} = [𝐸] [𝐵0] {𝑑} . (26)

    The secant relations are described by the matrix [𝐸]. Wesubstitute (15) and (26) into (24), obtaining the elementstiffness matrix

    [𝑘 (𝑢)] = ∭{𝑑}𝑇[𝐵0]𝑇

    [𝐸] [𝐵0] {𝑑} 𝑑𝑥 𝑑𝑦 𝑑𝑧. (27)

    We can discard the integrals as we did for the linear FEM.[𝐵0], [𝐸], and [𝐵

    0] are constant for the four-node tetrahedral

    element, so (27) is rewritten as

    [𝑘 (𝑢)] = {𝑑}𝑇[𝐵0]𝑇

    [𝐸] [𝐵0]𝑉. (28)

    The secant stiffness matrix which is [𝑘𝑠(𝑑)𝑇] = [𝐵

    0]𝑇[𝐸][𝐵

    0]

    is nonsymmetric because of the fact that [𝐵0]𝑇

    ̸= [𝐵0].

    Introducing nodal forces, we obtain

    {𝑓} =

    {{{{{{{{{{

    {{{{{{{{{{

    {

    𝑓1𝑥

    𝑓1𝑦

    𝑓1𝑧

    ...𝑓4𝑥

    𝑓4𝑦

    𝑓4𝑧

    }}}}}}}}}}

    }}}}}}}}}}

    }

    {𝑑}𝑇. (29)

    With the equilibrium equation and cancelling {𝑑}𝑇, the wholesystem for one element reduces to

    𝑘𝑠(𝑑)𝑒{𝑑}𝑒= 𝑓𝑒. (30)

    By substituting {𝑑} with 𝑢, we obtain

    𝑘𝑠(𝑢)𝑒𝑢𝑒= 𝑓𝑒. (31)

    Finally, only nonlinear displacement functions remain, whichare solved with Newton-Raphson to find the unknowndisplacements 𝑢 [10].

    Element residuals are necessary for the iterative Newton-Raphsonmethod.The element residual is a 12×1 vector for aspecific element.The residual for a specific element is definedas

    𝑟𝑒= 𝑘𝑠(𝑢)𝑒− 𝑓𝑒. (32)

  • 6 Journal of Applied Mathematics

    Having determined 𝑟𝑒, we can now express (32) in expandedvector form as

    {{{{{{

    {{{{{{

    {

    𝑟1

    𝑟2

    𝑟3

    ...𝑟12

    }}}}}}

    }}}}}}

    }

    =

    [[[[[[[[[[[

    [

    𝑘𝑠(𝑢)(1,1)

    + 𝑘𝑠(𝑢)(1,2)

    + 𝑘𝑠(𝑢)(1,3)

    + ⋅ ⋅ ⋅ + 𝑘𝑠(𝑢)(1,12)

    𝑘𝑠(𝑢)(2,1)

    + 𝑘𝑠(𝑢)(2,2)

    + 𝑘𝑠(𝑢)(2,3)

    + ⋅ ⋅ ⋅ + 𝑘𝑠(𝑢)(2,12)

    𝑘𝑠(𝑢)(3,1)

    + 𝑘𝑠(𝑢)(3,2)

    + 𝑘𝑠(𝑢)(3,3)

    + ⋅ ⋅ ⋅ + 𝑘𝑠(𝑢)(3,12)

    ...𝑘𝑠(𝑢)(12,1)

    + 𝑘𝑠(𝑢)(12,2)

    + 𝑘𝑠(𝑢)(12,3)

    + ⋅ ⋅ ⋅ + 𝑘𝑠(𝑢)(12,12)

    ]]]]]]]]]]]

    ]

    {{{{{{

    {{{{{{

    {

    𝑓1

    𝑓2

    𝑓3

    ...𝑓12

    }}}}}}

    }}}}}}

    }

    . (33)

    The tangent stiffness matrix [𝐾]𝑒𝑇(𝑟𝑒) is also neces-

    sary for the iterative Newton-Raphson method. The tan-gent stiffness matrix is also 12 × 12 matrix, like theelemental stiffness matrix. However, the tangent stiffnessmatrix depends on residuals, unlike the elemental stiffness

    matrix. Elemental stiffness matrices are used to constructresiduals and the derivatives of the residuals are used toconstruct the elemental tangent stiffness matrices. We canexpress the elemental tangent stiffness matrix for a specificelement as

    𝑟𝑒

    = [𝐾]𝑒

    𝑇=

    [[[[[[[[[[[[[[[[

    [

    𝜕

    𝜕𝑢1

    𝑟1

    𝜕

    𝜕V1

    𝑟1

    𝜕

    𝜕𝑤1

    𝑟1

    ⋅ ⋅ ⋅𝜕

    𝜕𝑢4

    𝑟1

    𝜕

    𝜕V4

    𝑟1

    𝜕

    𝜕𝑤4

    𝑟1

    𝜕

    𝜕𝑢1

    𝑟2

    𝜕

    𝜕V1

    𝑟2

    𝜕

    𝜕𝑤1

    𝑟2

    ⋅ ⋅ ⋅𝜕

    𝜕𝑢4

    𝑟2

    𝜕

    𝜕V4

    𝑟2

    𝜕

    𝜕𝑤4

    𝑟2

    𝜕

    𝜕𝑢1

    𝑟3

    𝜕

    𝜕V1

    𝑟3

    𝜕

    𝜕𝑤1

    𝑟3

    ⋅ ⋅ ⋅𝜕

    𝜕𝑢4

    𝑟3

    𝜕

    𝜕V4

    𝑟3

    𝜕

    𝜕𝑤4

    𝑟3

    ......

    ......

    ......

    ...𝜕

    𝜕𝑢1

    𝑟12

    𝜕

    𝜕V1

    𝑟12

    𝜕

    𝜕𝑤1

    𝑟12

    ⋅ ⋅ ⋅𝜕

    𝜕𝑢4

    𝑟12

    𝜕

    𝜕V4

    𝑟12

    𝜕

    𝜕𝑤4

    𝑟12

    ]]]]]]]]]]]]]]]]

    ]

    . (34)

    Newton-Raphsonmethod is a fast and popular numericalmethod for solving nonlinear equations [10], as comparedto the other methods, such as direct iteration. In principle,the method works by applying the following two steps (cf.Algorithm 1): (i) check if the equilibrium is reached withinthe desired accuracy; (ii) if not, make a suitable adjustment tothe state of the deformation [11]. An initial guess for displace-ments is needed to start the iterations. The displacements areupdated according to

    𝑥𝑘+1

    = 𝑥𝑘−

    𝑓𝑥𝑘

    𝑓

    𝑥𝑘

    . (35)

    In the proposed nonlinear FEM, 𝑢 is the vector thatkeeps the information of the nodal displacements. Instead ofmaking only one assumption, we make whole 𝑢 vector initialguess in order to start the iteration.

    Consider

    𝑢1= 𝑢0−

    𝑟𝑢0

    𝑟

    𝑢0

    , (36)

    where 𝑟 is residual of the global stiffnessmatrix [𝐾] calculatedin (33) and 𝑟 is the tangent stiffness matrix calculated in (34).

    At every step, the vector 𝑟 and the matrix 𝑟 are updatedfor every element with the new 𝑢

    𝑖values. Then, 𝑟 and 𝑟 are

    assembled as we did with for the global stiffnessmatrix𝐾 andthe global force vector 𝐹 in linear FEM. Boundary conditionsare applied to the global 𝑟 vector and the global 𝑟 matrix.Using the global 𝑟 vector and the global 𝑟 matrix, we have

    𝑟(𝑢𝑖) 𝑝 = −𝑟 (𝑢

    𝑖) , 𝑝 = −(𝑟

    (𝑢𝑖))−1

    𝑟 (𝑢𝑖) . (37)

    𝑢𝑖is updated with the solution of (37). Consider

    𝑢𝑖+1

    = 𝑢𝑖+ 𝑝. (38)

    Then, we check if the equilibrium is reached within thedesired accuracy defined by 𝛿 as

    𝑟 (𝑢𝑖) ≤ 𝛿. (39)

    After the desired accuracy is reached, the unknown nodaldisplacements are found.

    3. Experimental Results

    The proposed nonlinear FEM and Pedersen’s nonlinear FEMwere implemented using MATLAB programming language.

  • Journal of Applied Mathematics 7

    Make initial guess 𝑓(𝑥)while 𝑓 (𝑥)

    ≤ 𝛿 do

    Compute 𝑝 = −𝑓(𝑥)

    𝑓(𝑥)

    Update 𝑥 = 𝑥 + 𝑝Calculate 𝑓(𝑥)

    end while

    Algorithm 1: Newton-Raphson method.

    1

    2 3

    4

    5

    6 7

    8

    Figure 2: A 10 × 10 × 10m cube mesh with eight nodes and sixtetrahedra is constrained at the blue nodes and pulled downwardsfrom the green nodes.

    The visualizer was implemented with C++ language andconnected to the solver using the MATLAB engine [12],which allows users to call the MATLAB solver from C/C++or Fortran programs.The simulation results, interaction withthe 3Dmodel, and the 3Dmodels themselves were visualizedusing OpenGL, and the nose experiment was visualizedusing 3ds Max [13]. To speed up the nonlinear FEM, weused MAPLE’s symbolic solver [14], which is integrated intoMATLAB. We conducted all the experiments on a desktopcomputer with a Core i7 3930K processor overclockedat 4.2 GHz with 32GB of RAM. We used linear materialproperties for the models in the experiments. We used 1GPafor Young’s modulus (𝜖) because polypropylene has Young’smodulus between 1.5 and 2GPa and polyethylene HDPEhas Young’s modulus 0.8GPa, which shows plastic propertiesand they are close to 1 GPa. Because most steels and plasticmaterials undergo plastic deformation near the value of 0.3,we used 0.25 for Poisson’s ratio (]). Our simulation is staticso we used a single load step in all experiments. Multiple loadsteps are usedwhen the load forces are time-dependent or thesimulation is dynamic [15].

    We conducted four experiments, each having differentnumber of elements to observe the speedup for both stiff-ness matrix calculation and for the solution of the system.As expected, the proposed method and Pedersen’s methodproduced same amount of nodal displacements in all experi-ments.

    Table 1: The displacements (in m) at nodes 1, 2, 3, and 4 using thelinear FEM for the first experiment.The displacements of nodes 5 to8 for all axes are zero.

    Node Displacement-𝑥 Displacement-𝑦 Displacement-𝑧1 0.027234 0.011064 −0.2899652 0.004306 −0.109719 −0.4407393 −0.066065 −0.056547 −0.3435194 −0.107536 0.070143 −0.514524

    Table 2: The displacements (in m) at nodes 1, 2, 3, and 4 using thenonlinear FEM for the first experiment.The displacements of nodes5 to 8 for all axes are zero.

    Node Displacement-𝑥 Displacement-𝑦 Displacement-𝑧1 0.029911 0.012665 −0.2783652 0.008606 −0.103350 −0.4155943 −0.058835 −0.051901 −0.3241264 −0.098945 0.068928 −0.478495

    Table 3: The displacements (in m) at green nodes using the linearFEM for the second experiment. The displacements at blue nodesare zero.

    Node Displacement-𝑥 Displacement-𝑦 Displacement-𝑧0 −3.717 4.208 −0.03941 4.738 4.208 −0.049472 4.737 −4.245 0.037773 −3.716 −4.246 0.0490220 3.01 −3.547 −0.0542921 −4.117 −3.548 −0.0614322 −4.117 3.581 0.0434823 3.01 3.581 0.05155

    Table 4: The displacements (in m) at green nodes using thenonlinear FEM for the second experiment. The displacements atblue nodes are zero.

    Node Displacement-𝑥 Displacement-𝑦 Displacement-𝑧0 −2.083 4.102 0.37981 4.72 2.298 0.35882 2.913 −4.501 0.45863 −3.884 −2.699 0.480920 3.28 −2.561 −0.42421 −2.842 −3.931 −0.403222 −4.217 2.194 −0.301823 1.911 3.565 −0.3212

    The first experiment was conducted for a cube mesh witheight nodes and six tetrahedral elements. Figure 2 shows thatthe cube is constrained at the upper four nodes and pulleddownwards with a small amount of force (one unit force foreach of the upper four nodes). This experiment was con-ducted with a small mesh in order to carefully examine thenodal displacements and strains for each element. Figure 3shows the initial and final positions of the nodes for the linearand nonlinear FEMs, respectively. As seen in Figure 3, the

  • 8 Journal of Applied Mathematics

    (a) (b)

    Figure 3: (a) The initial and final positions of the nodes for the linear FEM. (b) The initial and final positions of the nodes for the nonlinearFEM.

    6

    5

    4

    3

    2

    1

    0

    Disp

    lace

    men

    t (m

    )

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Force (N)

    Linear FEMNonlinear FEM

    Liner FEM versus nonlinear FEM

    Figure 4: Force displacements (in m) at node 4 for the linear andnonlinear FEMs.

    100

    10

    1

    0.1

    0.01

    0.001

    Erro

    r (%

    )

    1 2 3 4 5

    Newton-Raphson convergence graphics80.79

    20.43

    1.18

    0.01

    0.00

    Iteration

    Figure 5: Newton-Raphson convergence graphics for the nonlinearFEM.The graph is plotted using the logarithmic scale.

    linear and nonlinear methods produce similar displacementswhen the force magnitude is small. Tables 1 and 2 show thedisplacements at force applied nodes (first, second, third,and fourth) using the linear and nonlinear FEMs, respec-tively. Figure 4 shows that displacement increases linearlywith force magnitude. However, as expected, the nonlinear

    Table 5: The displacements (in m) at green nodes using the linearFEM for the third experiment. The displacements at blue nodes arezero.

    Node Displacement-𝑥 Displacement-𝑦 Displacement-𝑧5 5.004 230.5 7.2416 −0.4613 239.9 0.014449 −2.3 231.8 6.27110 −4.602 237.5 −0.143741 0.5991 234.5 −0.17

    Table 6: The displacements (in m) at green nodes using thenonlinear FEM for the third experiment. The displacements at bluenodes are zero.

    Node Displacement-𝑥 Displacement-𝑦 Displacement-𝑧5 6.439 69.34 5.0146 −0.2123 79.96 1.4589 −3.372 44.71 −4.78810 0.5483 77.37 0.0658741 1.196 82.84 0.1512

    Table 7: The displacements (in m) at green nodes using the linearFEM for the fourth experiment.The displacements at blue nodes arezero.

    Node Displacement-𝑥 Displacement-𝑦 Displacement-𝑧271 1.086 −0.5297 11.88

    Table 8: The displacements (in m) at green nodes using thenonlinear FEM for the fourth experiment.The displacements at bluenodes are zero.

    Node Displacement-𝑥 Displacement-𝑦 Displacement-𝑧271 0.6538 −0.1851 4.22

    FEM behaves quadratically due to the nonlinear straindefinitions. Figure 5 depicts the convergence of the Newton-Raphson method for the nonlinear FEM.

    The second experiment was conducted on a beam with90 nodes and 216 tetrahedral elements. Figures 6(a) and 6(b)show that the beam is constrained at the blue nodes and

  • Journal of Applied Mathematics 9

    (a) (b)

    Figure 6:The beammesh is constrained at the blue nodes and twisted at the green nodes. (a) Front view; (b) side view, which shows the forcedirections applied on each green node.

    (a) (b)

    (c) (d)

    Figure 7: Nonlinear FEM results for the both the proposed and Pedersen’s methods ((a) wireframe tetrahedra and nodes; (b) nodes only; (c)wireframe surface mesh; and (d) shaded mesh).

    Figure 8: The cross mesh is constrained at the blue nodes andpushed towards the green nodes.

    twisted at both ends. Figure 7 shows the final shape of thebeam mesh for both the proposed and Pedersen’s methods.Tables 3 and 4 show the displacements at force applied nodes(green nodes) for the second experiment using the linear andnonlinear FEMs, respectively.

    The third experiment was conducted with a cross meshof 159 nodes and 244 tetrahedral elements. We aimed toobserve if there is a root jump occurring when solving thesystem for a high amount of force (50N units), and its effect

  • 10 Journal of Applied Mathematics

    (a) (b)

    Figure 9: Nonlinear FEM results for the both proposed and Pedersen’s methods: (a) initial and final wireframemeshes are overlaid; (b) initialand final shaded meshes are overlaid.

    (a) (b)

    Figure 10: The liver mesh is constrained at the blue nodes and pulled from the green node ((a) initial nodes; (b) initial shaded mesh andnodes).

    Table 9: Computation times (in seconds) of stiffness matrices(Pedersen: Pedersen’s nonlinear FEM; Proposed: proposed nonlin-ear FEM; and Speed-up: relative performance comparison of thestiffness matrix calculation of the proposed nonlinear FEMmethodwith Pedersen’s nonlinear FEMmethod using single thread).

    Exp. Elements Pedersen Proposed Speed-up1st 6 0.7322 0.3308 221.34222nd 216 28.1624 11.1542 252.48253rd 224 30.1094 12.2725 245.34044th 1580 239.8753 96.7840 247.8460

    Table 10: Computation times (s) of system solutions (Pedersen:Pedersen’s nonlinear FEM; Proposed: proposed nonlinear FEM;and Speed-up: relative performance comparison of the proposednonlinear FEM method with Pedersen’s nonlinear FEM methodusing single thread).

    Exp. Elements Pedersen Proposed Speed-up1st 6 3.0144 2.4427 123.40442nd 216 192.5288 159.6241 120.61393rd 224 586.2708 612.5911 95.70344th 1580 2840.7558 2401.0994 118.3106

    Table 11: Newton-Raphson iteration count to reach desired accu-racy (Pedersen: Pedersen’s nonlinear FEM; Proposed: proposednonlinear FEM).

    Exp. Elements Pedersen Proposed1st 6 5 52nd 216 7 73rd 224 26 324th 1580 8 8

    on the computation times for both methods. Figure 8 showsthat the cross shape is constrained at the blue nodes andpushed towards the green nodes. Figure 9 shows the finalshape of the beammesh for both the proposed and Pedersen’smethods. Tables 5 and 6 show the displacements at forceapplied nodes (green nodes) using the linear and nonlinearFEMs, respectively.

    We conducted fourth experiment with a livermesh of 465nodes and 1560 tetrahedral elements. Figure 10 shows thatthe mesh is constrained at the blue nodes and pulled fromthe green node (30N units) in the direction of the arrow. Weaimed to observe the similar amount of speedup like previousexperiments for a high density mesh. Figure 11 shows thefinal shape of the beam mesh for both the proposed andPedersen’s methods. Tables 7 and 8 show the displacementsat force applied node (node number 271) using the linear andnonlinear FEMs, respectively.

    Computation times of the finite element experiments arerequired to compare how much faster our proposed methodis than Pedersen’s. When comparing nonlinear FEMs, wecalculated the computation times to construct the stiffnessmatrices as well as the computation times of the nonlinearFEM solutions to determine how different calculations affectthem. Table 9 depicts the computation times for the stiffnessmatrix calculation and Table 10 depicts the computationtimes for the system solution. Table 11 shows the iterationcounts to solve the system using the Newton-Raphson pro-cedure.

    The speed-up columns of Tables 9 and 10 depict thespeedups of the proposed method compared to Pedersen’smethod for the stiffness matrix calculation and the systemsolution using a single thread, respectively. The speedup iscalculated as follows:

    Speedup = Runtime (Pedersen’smethod)Runtime (Theproposedmethod)

    . (40)

  • Journal of Applied Mathematics 11

    (a) (b)

    Figure 11: Nonlinear FEM results for both the proposed and Pedersen’s methods: (a) left: wireframe surface mesh; right: wireframe surfacemesh with nodes; (b) left: shaded mesh; right: shaded mesh with nodes.

    (a) (b)

    (c)

    Figure 12: (a) Initial misshapen nose. (b) The head mesh is constrained at the blue nodes and pushed upwards at the green nodes. (c) Theresult of the nonlinear FEM: left: wireframe surface mesh with nodes; right: shaded mesh with texture.

    Our proposed method outperforms Pedersen’s method.On the average, it is 142% faster at computing stiffnessmatrices because Pedersen’s method uses more symbolicterms. However, bothmethods use Newton-Raphson to solvenonlinear equations, which takes approximately 90% of thecomputation time. Thus, the overall speedup decreases to15% on average. In experiment 3, because of more iterationsdue to root jumps, there was a performance loss againstPedersen’s method.

    We also applied our method for corrective operationon the misshapen nose of a head mesh. The head mesh iscomposed of 6709 nodes and 25722 tetrahedral elements (seeFigure 12(a)); all the operations were performed in the nose

    area of only 1458 tetrahedral elements. Figure 12(b) showsthat the head mesh is constrained at the blue nodes andpushed upwards at the green nodes and Figure 12(c) showsthe result of the nonlinear FEM.

    4. Conclusions and Future Work

    We propose a new stiffness matrix calculation method fornonlinear FEM that is easier to analyze in terms of construct-ing elemental stiffness matrices and is faster than Pedersen’smethod. The proposed method is approximately 2.4 timesfaster, on average, at computing stiffness matrices and 15%faster at computing thewhole system thanPedersen’smethod.

  • 12 Journal of Applied Mathematics

    Although the proposed nonlinear FEM has significantadvantages over Pedersen’s nonlinear FEM, there is still roomfor the following development.

    (1) Heuristics could be applied to avoid root jumps.(2) Although we decreased system memory usage by

    simplifying the solution process for the nonlinearFEM, a significant amount of system memory is stillused.The solution process could be further optimizedto decrease memory usage.

    Conflict of Interests

    The authors declare that there is no conflict of interestsregarding the publication of this paper.

    References

    [1] K.-J. Bathe, Finite Element Procedures, Prentice-Hall, Engle-wood Cliffs, NJ, USA, 1996.

    [2] D. L. Logan, A First Course in the Finite Element Method,Cengage Learning, 5th edition, 2012.

    [3] P. Pedersen, “Analytical stiffness matrices for tetrahedral ele-ments,” Computer Methods in Applied Mechanics and Engineer-ing, vol. 196, no. 1-3, pp. 261–278, 2006.

    [4] G. R. Joldes, A. Wittek, and K. Miller, “Real-time nonlinearfinite element computations on GPU: application to neurosur-gical simulation,” Computer Methods in Applied Mechanics andEngineering, vol. 199, no. 49–52, pp. 3305–3314, 2010.

    [5] Z. A. Taylor, M. Cheng, and S. Ourselin, “High-speed nonlinearfinite element analysis for surgical simulation using graphicsprocessing units,” IEEE Transactions on Medical Imaging, vol.27, no. 5, pp. 650–663, 2008.

    [6] M. Cerrolaza and J. C. Osorio, “Relations among stiffnesscoefficients of hexahedral 8-noded finite elements: a simple andefficient way to reduce the integration time,” Finite Elements inAnalysis and Design, vol. 55, pp. 1–6, 2012.

    [7] J. Bonet and R. D. Wood, Nonlinear Continu um Mechanicsfor Finite Element Analysis, Cambridge University Press, Cam-bridge, UK, 1st edition, 1997.

    [8] C. A. Felippa, “Lecture notes in nonlinear fin ite element meth-ods,” Tech. Rep. CUCSSC-96-16, Department of AerospaceEngineering Sciences and Center for Aerospace Structures,University of Colorado, 1996.

    [9] P. Pedersen, The Basic Matrix Approach for Three Simple FiniteElements, 2008, http://www.topopt.dtu.dk/files/PauliBooks/BasicMatrixApproachInFE.pdf.

    [10] C. T. Kelley, Iterative Methods for Linear and Nonlinear Equa-tions, Frontiers in Applied Mathematics, Society for IndustrialMathematics, 1st edition, 1987.

    [11] S. Krenk, Non-linear Modeling and Analysi s of Solids andStructures, Cambridge University Press, 1st edition, 2009.

    [12] The Mathworks, “Calling MATLAB Engine from C/C++and Fortran Programs,” 2014, http://www.mathworks.com/help/matlab/matlab external/ f38569.html.

    [13] Autodesk, “3ds Max—3D Modeling, Ani mation, and Render-ing Software,” 2012, http://www.autodesk.com/products/auto-desk-3ds-max/.

    [14] Maplesoft, “MATLAB Connectivity—Maple Features,” 2012,http://www.maplesoft.com/products/maple/features/matlab-connectivity.aspx.

    [15] E. Madenci and I. Guven, The Finite Element Method andApplications in Engineering Using ANSYS, Springer, Berlin,Germany, 1st edition, 2006.

  • Submit your manuscripts athttp://www.hindawi.com

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    MathematicsJournal of

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Mathematical Problems in Engineering

    Hindawi Publishing Corporationhttp://www.hindawi.com

    Differential EquationsInternational Journal of

    Volume 2014

    Applied MathematicsJournal of

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Probability and StatisticsHindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Journal of

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Mathematical PhysicsAdvances in

    Complex AnalysisJournal of

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    OptimizationJournal of

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    CombinatoricsHindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    International Journal of

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Operations ResearchAdvances in

    Journal of

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Function Spaces

    Abstract and Applied AnalysisHindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    International Journal of Mathematics and Mathematical Sciences

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    The Scientific World JournalHindawi Publishing Corporation http://www.hindawi.com Volume 2014

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Algebra

    Discrete Dynamics in Nature and Society

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Decision SciencesAdvances in

    Discrete MathematicsJournal of

    Hindawi Publishing Corporationhttp://www.hindawi.com

    Volume 2014 Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

    Stochastic AnalysisInternational Journal of