Table of Contents Author Guidelines Submit a Manuscript
Journal of Applied Mathematics
Volume 2012, Article ID 453230, 18 pages
Research Article

An Energy Conservation Algorithm for Nonlinear Dynamic Equation

1Changan Auto Global R&D Center, State Key Laboratory of Vehicle NVH and Safety Technology, Chongqing 401120, China
2School of Automotive Engineering, Dalian University of Technology, Dalian 116024, China
3State Key Laboratory of Structural Analysis of Industrial Equipment, Dalian University of Technology, Dalian 116024, China
4College of Engineering, University of Michigan, Ann Arbor, MI 48109-2133, USA

Received 14 July 2011; Revised 19 October 2011; Accepted 27 October 2011

Academic Editor: Ferenc Hartung

Copyright © 2012 Jian Pang et al. This 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.


An energy conservation algorithm for numerically solving nonlinear multidegree-of-freedom (MDOF) dynamic equations is proposed. Firstly, by Taylor expansion and Duhamel integration, an integral iteration formula for numerically solving the nonlinear problems can be achieved. However, this formula still includes a parameter that is to be determined. Secondly, through some mathematical manipulations, the original dynamical equation can be further converted into an energy conservation equation which can then be used to determine the unknown parameter. Finally, an accurate numerical result for the nonlinear problem is achieved by substituting this parameter into the integral iteration formula. Several examples are used to compare the current method with the well-known Runge-Kutta method. They all show that the energy conservation algorithm introduced in this study can eliminate algorithm damping inherent in the Runge-Kutta algorithm and also has better stability for large integral steps.

1. Introduction

Numerical stability and algorithmic damping have been long recognized as two important aspects that need to be carefully handled in time integration algorithms for solving dynamic problems. Indeed, many works have been done in this area. For instance, to improve the stability, the Generalized-𝛼method of Chung and Hulbert [1], the HHT-𝛼method of Hilber et al. [2], and the WBZ-𝛼 method of Wood et al. [3] all demonstrate very good dissipation property either at low-frequency or high-frequency ranges. In references [48], Fung presents a series of time-step algorithms that are based on different mathematical and mechanical principles and can be used to deal with linear dynamical problems. Recent works on numerical methods have been focusing on modeling long-term qualitative properties and stabilities in the numerical solutions of nonlinear dynamic problems. In the past, the feature of the energy conservation of a system has been widely used in various numerical integration methods to achieve satisfactory results. Since the property of exact energy conservation enables the numerical scheme to be stable without resorting to high-frequency numerical dissipation [9], the feature of the energy conservation appears particularly attractive in numerically solving nonlinear dynamic systems. Consequently, much effort has gone into the development of energy conserving time-stepping schemes. By adding an additional constraint through the energy conservation equation between adjacent time steps, Bui proposed a modified Newmark family for nonlinear dynamic analysis [10]. Similar works are also reported by LaBudde and Greenspan [11], Hughes et al. [12], Greespan [13], Simo and Tarnow [14], Simo et al. [15], Greenspan [16], and Fung and Chow [17]. Interestingly, all works cited above derived their algorithms starting with the finite difference method, and most of them were based on Hamilton’s canonical equations of motion.

Though energy conservative methods have showed some advantages, they also might suffer from some drawbacks in practical applications. In an attempt to obtain a stable large-step integration, Simo and Gonzalez [9] used the energy-momentum algorithm, which was obtained from the modification of midpoint scheme. By doing this, they risked to wrongly approximate slowly varying solution quantities in highly oscillatory systems, which was especially significant when fast and low modes are tightly coupled [18]. Moreover, with the addition of the constraint on the energy conservation, one has an overdetermined system that the exact solution has to satisfy. However, once the system is discretized and approximated in order to solve it numerically, the overdetermined system may not have a solution anymore. In other words, difficulties may occur in the multidimensional root finding of the corresponding nonlinear system of equations [19].

In this paper, the authors proposed a time integration formula and scheme which can maintain the system energy conservation constraint automatically. However, this method is also different from the energy conservative methods developed previously in the following four aspects. Firstly, the solution of the nonlinear dynamic equation was presented analytically by Duhamel integral in the current method. Secondly, the current method used the Taylor expansion to approximate the exact solution of the nonlinear equation. During this process, an undetermined parameter was introduced. Thirdly, substituting the approximate solution into the analytical solution, an iterative formula with the undetermined parameter was derived. Finally, the energy conservation equation was established and the undetermined parameter was obtained. In practice, how to introduce and obtain the undetermined parameter should be carefully considered case by case, especially when the right hand term of the nonlinear equation includes functions of velocity and time. Another merit of the current algorithm was that it behaved very stable under large time steps. Comparisons with the Rounge-Kutta method showed that the proposed method had much better stabilities in solving different types of nonlinear equations.

The remainder of this paper is arranged as follows. In Section 2, a detailed process of deriving the integral iteration formula is presented. In the iteration formula, we will show that how an undetermined parameter is introduced into the formula. In Section 3, the energy conservation equation is established for obtaining the algebraic expression of the undetermined parameter. Section 4 focuses on the calculation of the multinomial interpolation used in Section 2. Section 5 shows some representative numerical examples which compare the current method with the popular Runge-Kutta method in terms of algorithmic damping and stability. Finally, some discussions and conclusions are given in Section 6.

2. Derivation of the Integral Iteration Formula

Step-by-step time-integration algorithms are commonly used to solve dynamic equations which mostly come from actual engineering problems. By spatial discretization using the finite element method, a nonlinear system may be represented by a second order nonlinear ordinary differential equation as𝐌̈̇𝐱+𝐊𝐱=𝐟(𝐱,𝐱,𝑡),(2.1) where 𝐌,𝐊are 𝑛-by-𝑛 constant mass and stiffness matrices, respectively. ̇̈𝐱,𝐱,𝐱,𝐟 are vectors with rank 𝑛 representing the displacement, velocity, and acceleration, respectively. 𝑡 is time. The right hand term in (2.1), ̇𝐟(𝐱,𝐱,𝐭), is the force vector that includes all external forces such as the damping forces and the nonlinear forces. Using the matrix decomposition, the mass matrix 𝐌 can be expressed as 𝐌=𝐋𝐋𝑇𝐌1=𝐋𝑇𝐋1.(2.2)

Substituting (2.2) into (2.1) and multiplying by 𝐋1, we can obtain𝐋𝑇̈𝐱+𝐋1𝐊𝐋𝑇𝐋𝑇𝐱=𝐋1𝐟.(2.3) Knowing that 𝐋,𝐋1,𝐋𝑇,𝐋𝑇 are all constant matrices, a variable substitution can be executed as𝐲=𝐋𝑇̇𝐱,𝐲=𝐋𝑇̇̈𝐱,𝐲=𝐋𝑇̈𝐱.(2.4) Substituting (2.4) into (2.3), a new dynamic system which is equivalent to the original system can be obtained as̈𝐲+𝐊𝐲=𝐅(𝑡),𝐅(𝑡)=𝐋1𝐟(𝑡),𝐊=𝐋1𝐊𝐋𝑇.(2.5) Let𝐊=𝐊0+𝐃,(2.6) where 𝐃 is a diagonal matrix and its diagonal elements are the diagonal elements of matrix 𝐊.𝐊0 is a matrix whose diagonal elements are zero, and other elements are equal to those in 𝐊. Note that 𝐷𝑖𝑖0 for 𝐌 which is a positive definite matrix and 𝐊 is a semipositive definite matrix. Let𝐷𝑖𝑖=𝑑2𝑖.(2.7) Then (2.5) can be rewritten as̈𝐲+𝐃𝐲=𝐅(𝑡)𝐊0𝐲.(2.8) The separate form of the above matrix equation can be expressed as follows:̈𝑦𝑖+𝑑2𝑖𝑦𝑖=𝐹𝑖(𝑡)𝐤𝑖0𝐲,𝑖=1,2,,𝑛,(2.9) where 𝐤𝑖0 is the 𝑖th row of the matrix 𝐊0. From (2.9), it is easy to see that the analytical solution of the displacement and the velocity can be obtained by the Duhamel integral as𝑦𝑖(𝑡)=𝑦𝑖𝑡𝑘cos𝑑𝑖𝑡𝑡𝑘+̇𝑦𝑖𝑡𝑘sin𝑑𝑖𝑡𝑡𝑘𝑑𝑖+1𝑑𝑖𝑡𝑡𝑘𝐹𝑖(𝜍)sin𝑑𝑖1(𝑡𝜍)𝑑𝜍𝑑𝑖𝑡𝑡𝑘𝐤𝑖0𝐲(𝜍)sin𝑑𝑖(𝑡𝜍)𝑑𝜍,(2.10)̇𝑦𝑖(𝑡)=𝑦𝑖𝑡𝑘𝑑𝑖sin𝑑𝑖𝑡𝑡𝑘+̇𝑦𝑖𝑡𝑘cos𝑑𝑖𝑡𝑡𝑘+𝑡𝑡𝑘𝐹𝑖(𝜍)cos𝑑𝑖(𝑡𝜍)𝑑𝜍𝑡𝑡𝑘𝐤𝑖0𝐲(𝜍)cos𝑑𝑖(𝑡𝜍)𝑑𝜍.(2.11)

In order to derive the time integral formula, let 𝑡=𝑡𝑘+𝜏in (2.10) and (2.11), where 𝜏 is the integral time step, then we have𝑦𝑖𝑡𝑘+𝜏=𝑦𝑖𝑡𝑘cos𝑑𝑖𝜏+̇𝑦𝑖𝑡𝑘sin𝑑𝑖𝜏𝑑𝑖+1𝑑𝑖𝑡𝑘𝑡+𝜏𝑘𝐹𝑖(𝜍)sin𝑑𝑖𝑡𝑘1+𝜏𝜍𝑑𝜍𝑑𝑖𝑡𝑘𝑡+𝜏𝑘𝐤𝑖0𝐲(𝜍)sin𝑑𝑖𝑡𝑘+𝜏𝜍𝑑𝜍,(2.12)̇𝑦𝑖𝑡𝑘+𝜏=𝑦𝑖𝑡𝑘𝑑𝑖sin𝑑𝑖𝜏+̇𝑦𝑖𝑡𝑘cos𝑑𝑖𝜏+𝑡𝑘𝑡+𝜏𝑘𝐹𝑖(𝜍)cos𝑑𝑖𝑡𝑘+𝜏𝜍𝑑𝜍𝑡𝑘𝑡+𝜏𝑘𝐤𝑖0𝐲(𝜍)cos𝑑𝑖𝑡𝑘+𝜏𝜍𝑑𝜍.(2.13)

Inspecting (2.12) and (2.13), it can be found that there are still some unknown parameters that need to be identified before the time integral formula can be carried out numerically. They are the right hand side terms consisting of the undetermined variables 𝐲(𝑡) and 𝐹𝑖(𝑡). The latter one may also be a function of 𝐲(𝑡) and ̇𝐲(𝑡). To proceed, the Taylor expansion formula is used to expand 𝐲(𝑡) on the interval (𝑡𝑘𝑡𝑡𝑘+𝜏) as𝑡𝐲(𝑡)=𝐲𝑘+𝑡𝑡𝑘̇𝐲𝑡𝑘+𝑡𝑡𝑘22̈𝐲𝑡𝑘+𝑡𝑡𝑘36𝐚.(2.14)

In (2.14), 𝐲(𝑡) is expanded to the third order term following exactly the Taylor expansion process, while in calculating the fourth order term, a new variable vector 𝐚is introduced. It should be pointed out that although the Taylor expansion is an approximation to the original variable 𝐲(𝑡), (2.14) is still an exact expression of the variable 𝐲(𝑡). This is because the last term in (2.14) which includes the newly introduced vector 𝐚 can be interpreted to compensate for the difference between 𝐲(𝑡) and the summation of the first three terms in (2.14). In order to express the vector 𝐚 by the variable 𝐲(𝑡), let 𝐲1=𝐲(𝑡=𝑡𝑘+𝜏),𝐲0=𝐲(𝑡=𝑡𝑘). From (2.14), it can be obtained that6𝐚=𝜏3𝐲1𝐲0̇𝐲𝜏0𝜏22̈𝐲0,𝐲(𝑡)=𝑁1(𝑡)𝐲0+𝑁2̇𝐲(𝑡)0+𝑁3̈𝐲(𝑡)0+𝑁4(𝑡)𝐲1,(2.15) where:𝑁1(𝑡)=1𝑡𝑡𝑘3𝜏3,𝑁2(𝑡)=𝑡𝑡𝑘𝑡𝑡𝑘3𝜏2,𝑁3(𝑡)=𝑡𝑡𝑘22𝑡𝑡𝑘32𝜏,𝑁4(𝑡)=𝛽𝑡𝑡𝑘3𝑡𝑡𝑘+𝜏𝑡𝑡𝑘3𝜏3,(2.16) where an undetermined parameter 𝛽 has been introduced in 𝑁4(𝑡) to regulate the stability of the algorithm and will be determined by the energy conservation equation in the next section. By 𝑡=𝑡𝑘,𝑡=𝑡𝑘+𝜏 in (2.14), we can obtain𝐲𝑡𝑘=𝐲0,̇𝐲𝑡𝑘=̇𝐲0,̈𝐲𝑡𝑘=̈𝐲0𝑡,𝐲𝑘+𝜏=𝐲1.(2.17)

By means of multinomial interpolation, 𝐟(𝑡)(𝑡𝑘𝑡𝑡𝑘+𝜏) can be written as𝐟(𝑡)=𝐫0+𝑡𝑡𝑘𝐫1+𝑡𝑡𝑘2𝐫2+𝑡𝑡𝑘3𝐫3+𝑜𝑡𝑡𝑘4.(2.18)

Here we use the third order interpolation, and generally one can choose the order of interpolation discretionarily based on solely the algorithm accuracy order that is needed. Different interpolation order will lead to different integration formulas. Now, we will derive the integration formulas first, and the discussion of the interpolation will be addressed at Section 4. Using (2.5) and (2.14), the last two terms of the right hand of (2.11) can be expressed separately as1𝑑𝑖𝑡𝑘𝑡+𝜏𝑘𝐤𝑖0𝐲(𝜍)sin𝑑𝑖𝑡𝑘+𝜏𝜍𝑑𝜍=𝛼𝑖0𝐤𝑖0𝐲0+𝛼𝑖1𝐤𝑖0̇𝐲0+𝛼𝑖2𝐤𝑖0̈𝐲0+𝛼𝑖3𝐤𝑖0𝐲1,1𝑑𝑖𝑡𝑘𝑡+𝜏𝑘𝐋𝑖1𝐟(𝜍)sin𝑑𝑖𝑡𝑘+𝜏𝜍𝑑𝜍=𝛾𝑖0𝐋𝑖1𝐫0+𝛾𝑖1𝐋𝑖1𝐫1+𝛾𝑖2𝐋𝑖1𝐫2+𝛾𝑖3𝐋𝑖1𝐫3,(2.19) where 𝛼𝑖𝑘,𝛾𝑖𝑘,𝑘=0,1,2,3 are scalar and can be obtained by follow polynomials𝛼𝑖0=6sin𝑑𝑖𝜏+𝑑3𝑖𝜏3cos𝑑𝑖𝜏6𝑑𝑖𝜏𝑑5𝑖𝜏3,𝛼𝑖1=6𝑑𝑖𝜏𝑑2𝑖𝜏2sin𝑑𝑖𝜏6sin𝑑𝑖𝜏𝑑5𝑖𝜏2,𝛼𝑖2=2𝑑𝑖𝜏3sin𝑑𝑖𝜏+𝑑𝑖𝜏cos𝑑𝑖𝜏𝑑5𝑖𝜏,𝛼𝑖3=6sin𝑑𝑖𝜏+𝑑3𝑖𝜏36𝑑𝑖𝜏𝑑5𝑖𝜏3𝛽𝑑2𝑖𝜏24+4cos𝑑𝑖𝜏+𝑑𝑖𝜏sin𝑑𝑖𝜏𝑑6𝑖𝜏4,𝛾𝑖0=1cos𝑑𝑖𝜏𝑑2𝑖,𝛾𝑖1=𝑑𝑖𝜏sin𝑑𝑖𝜏𝑑3𝑖,𝛾𝑖2=𝑑2𝑖𝜏22+2cos𝑑𝑖𝜏𝑑4𝑖,𝛾𝑖3=𝑑3𝑖𝜏36𝑑𝑖𝜏+6sin𝑑𝑖𝜏𝑑5𝑖.(2.20) Substituting (2.20) into (2.12), we have𝑦𝑖𝑡𝑘+𝜏=𝑦𝑖𝑡𝑘cos𝑑𝑖𝜏+̇𝑦𝑖𝑡𝑘sin𝑑𝑖𝜏𝑑𝑖+𝛾𝑖0𝐋𝐢1𝐫0+𝛾𝑖1𝐋𝐢1𝐫1+𝛾𝑖2𝐋𝐢1𝐫2+𝛾𝑖3𝐋𝐢1𝐫3𝛼𝑖0𝐤𝑖0𝐲0+𝛼𝑖1𝐤𝑖0̇𝐲0+𝛼𝑖2𝐤𝑖0̈𝐲0+𝛼𝑖3𝐤𝑖0𝐲1(𝑖=1,2,,𝑛).(2.21) Knowing that 𝐲1=𝐲(𝑡=𝑡𝑘+𝜏), so we can write the above equation in a matrix form:𝐲1=𝐔0𝐲0+𝐔1̇𝐲0+𝜸0𝐋1𝐫0+𝜸𝟏𝐋1𝐫1+𝜸2𝐋1𝐫2+𝜸3𝐋1𝐫3𝜶0𝐊0𝐲0𝜶1𝐊0̇𝐲0𝜶2𝐊0̈𝐲0𝜶3𝐊0𝐲1,(2.22) where 𝐔0, 𝐔1,𝜶𝑘,𝜸𝑘(𝑘=0,1,2,3) are diagonal matrices and their diagonal elements are cos𝑑𝑖𝜏, sin𝑑𝑖𝜏/𝑑𝑖, 𝛼𝑖𝑘, 𝛾𝑖𝑘(𝑖=1,2,,𝑛,𝑘=0,1,2,3), respectively. From (2.22), the iterative solution 𝑦1 can be expressed as𝐈+𝜶3𝐊0𝐲1=𝐔0𝜶0𝐊0𝐲0+𝐔1𝜶1𝐊0̇𝐲0𝜶2𝐊0̈𝐲0+𝜸0𝐋1𝑟0+𝜸1𝐋1𝑟1+𝜸2𝐋1𝑟2+𝜸3𝐋1𝑟3.(2.23) Multiplying (2.23) by 𝐋𝜶31, we have𝐋𝜶31+𝐊0𝐲1=𝐋𝜶31𝐔0𝜶0𝐊0𝐲0+𝐋𝜶31𝐔1𝜶1𝐊0̇𝐲0𝐋𝜶31𝜶2𝐊0̈𝐲0+𝐋𝜶31𝜸0𝐋1𝐫0+𝜸1𝐋1𝐫1+𝜸2𝐋1𝐫2+𝜸3𝐋1𝐫3.(2.24)

Note that 𝐊0 is a matrix whose diagonal elements are zero, and other elements are equal to those in 𝐊 and 𝜶𝑘 is a diagonal matrix, so 𝐋(𝜶31+𝐊0) is a symmetrical matrix. The left hand side of (2.24) can be written as𝐋𝜶31+𝐊0𝐋𝑇𝐋𝑇𝐲1=𝐋𝜶31𝐋𝑇+𝐋𝐊0𝐋𝑇𝐋𝑇𝐲1.(2.25) From (2.5) and (2.6), we have𝐋𝐊0𝐋𝑇=𝐋𝐊𝐃𝐋𝑇=𝐋𝐋1𝐊𝐋𝑇𝐋𝑇𝐋𝐃𝐋𝑇=𝐊𝐋𝐃𝐋𝑇.(2.26) From (2.3) and (2.26), the left hand of (2.24) can be written as𝐋𝜶31+𝐊0𝐲1=𝜶𝐊+𝐋31𝐋𝐃𝑇𝐱1.(2.27) All the terms in the right hand side of (2.24) can be expressed separately as𝐋𝜶31𝐔0𝜶0𝐊0𝐲0=𝐋𝜶31𝐔0+𝜶31𝜶0𝐃𝐋𝑇𝐋𝜶31𝜶0𝐋1𝐊𝐱0,𝐋𝜶31𝐔1𝜶1𝐊0̇𝐲0=𝐋𝜶31𝐔1+𝜶31𝜶1𝐃𝐋𝑇𝐋𝜶31𝜶1𝐋1𝐊̇𝐱0,𝐋𝜶31𝜶2𝐊0̈𝐲0=𝐋𝜶31𝜶2𝐋1𝐋𝐊0𝐋𝑇𝐋𝑇̈𝐲0=𝐋𝜶31𝜶2𝐋1𝐊𝐋𝐃𝐋𝑇̈𝐱0.(2.28) After substituting proper variables, the iteration formula in terms of the original variables can be expressed as𝜶𝐊+𝐋31𝐋𝐃𝑇𝐱1=𝐋𝜶31𝐔0+𝜶31𝜶0𝐃𝐋𝑇𝐋𝜶31𝜶0𝐋1𝐊𝐱0+𝐋𝜶31𝐔1+𝜶31𝜶1𝐃𝐋𝑇𝐋𝜶31𝜶1𝐋1𝐊̇𝐱0𝐋𝜶31𝜶2𝐋1𝐊𝐋𝐃𝐋𝑇̈𝐱0+𝐋𝜶31𝜸0𝐋1𝐫0+𝐋𝜶31𝜸1𝐋1𝐫1+𝐋𝜶31𝜸2𝐋1𝐫2+𝐋𝜶31𝜸3𝐋1𝐫3.(2.29)

In (2.29), there is a term consisting of a double derivative. According to (2.3), the term with the double derivative ̈𝐱0 can be replaced by 𝐋𝑇𝐋1𝐊𝐱0+𝐋𝑇𝐋1𝐟0. Finally, the displacement iteration formula can be obtained as𝜶𝐊+𝐋31𝐋𝐃𝑇𝐱1𝜶=𝐋31𝐔0+𝜶31𝜶0𝐃𝐋𝑇𝜶31𝜶0𝐋1𝐊+𝜶31𝜶2𝐋1𝐊𝐋𝐃𝐋𝑇𝐋𝑇𝐋1𝐊𝐱0𝜶+𝐋31𝐔1+𝜶𝟑1𝜶1𝐃𝐋𝑇𝜶31𝜶1𝐋1𝐊̇𝐱0𝜶+𝐋31𝜸0𝐋1𝜶31𝜶2𝐋1𝐊𝐋𝐃𝐋𝑇𝐋𝑇𝐋1𝐫0+𝐋𝜶31𝜸1𝐋1𝐫1+𝐋𝜶31𝜸2𝐋1𝐫2+𝐋𝜶31𝜸3𝐋1𝐫3.(2.30)

Substituting (2.14) and (2.15) into (2.13) and through some mathematical manipulations, the velocity iteration formula can be obtained aṡ𝐱1=𝐑𝜏𝐱1+𝐑0𝐱0+𝐑1̇𝐱0+𝐋𝑇𝜼0𝐋1𝐜2𝐋1𝐊𝐜2𝐃𝐋𝑇𝐋𝑇𝐋1𝐫0+𝐋𝑇𝜼1𝐋1𝐫1+𝐋𝑇𝜼2𝐋1𝐫2+𝐋𝑇𝜼3𝐋1𝐫3,(2.31) where𝜼0, 𝜼1, 𝜼2, 𝜼3 are diagonal matrices with diagonal elements 𝜂𝑖0, 𝜂𝑖1, 𝜂𝑖2, 𝜂𝑖3, respectively. 𝐜𝑚 is also a diagonal matrix and its diagonal elements are 𝑐𝑖𝑚(𝑚=0,1,2,3). Every term in the right hand side of (2.31) is given as bellow: 𝐑0=𝐋𝑇𝐕0𝐋𝑇+𝐜0𝐃𝐋𝑇𝐜0𝐋1𝐊+𝐜𝟐𝐋1𝐊𝐜𝟐𝐃𝐋𝐓𝐋𝐓𝐋1𝐑𝐊,1=𝐋𝑇𝐕1𝐋T+𝐜1𝐃𝐋𝑇𝐜1𝐋1𝐊,𝐑𝜏=𝐋𝑇𝐜3𝐋1𝐊𝐃𝐋𝑇,𝑐𝑖0=𝑑3𝑖𝜏3sin𝑑𝑖𝜏6cos𝑑𝑖𝜏3𝑑2𝑖𝜏2+6𝑑4𝑖𝜏3,𝑐𝑖1𝑑=2𝑖𝜏2cos𝑑𝑖𝜏+6cos𝑑𝑖𝜏+2𝑑2𝑖𝜏26𝑑4𝑖𝜏2,𝑐𝑖2(=1/2)2𝑑𝑖𝜏sin𝑑𝑖𝜏+6cos𝑑𝑖𝜏+𝑑2𝑖𝜏26𝑑4𝑖𝜏,𝑐𝑖3=6cos𝑑𝑖𝜏+3𝑑2𝑖𝜏26𝑑4𝑖𝜏3𝛽6𝑑𝑖𝜏cos𝑑𝑖𝜏24sin𝑑𝑖𝜏𝑑2𝑖𝜏2+18𝑑5𝑖𝜏4,𝜂𝑖0=sin𝑑𝑖𝜏𝑑𝑖𝜂𝑖1=1cos𝑑𝑖𝜏𝑑2𝑖𝜂𝑖2=2𝑑𝑖𝜏2sin𝑑𝑖𝜏𝑑3𝑖,𝜂𝑖3=𝑡𝑘𝑡+𝜏𝑘𝜍𝑡𝑘3cos𝑑𝑖𝑡𝑘+𝜏𝜍𝑑𝜍,(2.32) where 𝐕0, 𝐕1 are diagonal matrices with diagonal elements 𝑑𝑖sin𝑑𝑖𝜏, cos𝑑𝑖𝜏, respectively.

3. Energy Conservation Equation

One reason of expressing the dynamic equation in the form of (2.1) is to establish the energy conservation equation more conveniently and more directly. The following steps illustrate the construction of the energy conservation equation. Multiplying ̇𝐱𝑇 to both sides of (2.1), we havė𝐱𝑇𝐌̈̇𝐱𝐱+𝑇̇𝐱𝐊𝐱=𝑇̇𝐟(𝐱,𝐱,𝑡).(3.1)

Integrating (2.32) from 𝑡𝑘 to 𝑡𝑘+1, we can obtain𝑡𝑘+1𝑡𝑘̇𝐱𝑇𝐌̈𝐱𝑑𝑡+𝑡𝑘+1𝑡𝑘̇𝐱𝑇𝐊𝐱𝑑𝑡=𝑡𝑘+1𝑡𝑘̇𝐱𝑇𝐟𝑑𝑡𝑘=0,1,2,3,,(3.2) namely,12̇𝐱𝑇𝐌̇𝐱|||𝑡𝑘+1𝑡𝑘+12𝐱𝑇|||𝐊𝐱𝑡𝑘+1𝑡𝑘=𝑡𝑘+1𝑡𝑘̇𝐱𝑇𝐟𝑑𝑡𝑘=0,1,2,3,.(3.3)

Simplifying (3.3), we can obtain an energy conservation equation between 𝑡𝑘 and 𝑡𝑘+1as follows:𝑇𝑘+1𝑇𝑘+𝑉𝑘+1𝑉𝑘=𝑡𝑘+1𝑡𝑘̇𝐱𝑇𝐟𝑑𝑡𝑘=0,1,2,3,,(3.4) where𝑇𝑘+1=12̇𝐱𝑇𝑘+1𝐌̇𝐱𝑘+1,𝑇𝑘=12̇𝐱𝑇𝑘𝐌̇𝐱𝑘,𝑉𝑘+1=12𝐱𝑇𝑘+1𝐊𝐱𝑘+1,𝑉𝑘=12𝐱𝑇𝑘𝐊𝐱𝑘.(3.5)

Substituting (2.30) and (2.31) into the left hand side of (3.4), a polynomial of the undermined parameter𝛽can be easily achieved. For the right hand side of (3.4), the integral term can be firstly decomposed into two parts as follows:𝑓1=𝑡𝑘+1𝑡𝑘̇𝐱𝑇𝐪1(𝐱)𝑑𝑡,𝑓2=𝑡𝑘+1𝑡𝑘̇𝐱𝑇𝐪2(̇𝐱,𝑡)𝑑𝑡,(3.6) where the term 𝑓1 is an integral of an autonomous system and can be integrated easily. The ̇𝐱(𝑡) in term 𝑓2 can be expressed as a polynomial of time using the relationship in (2.4) and taking the derivative of (2.15) with respect to time. Two predictive methods are recommended for determining the unknown term 𝐲1 in (2.15). One is to let 𝐲1=𝐲𝟎+̇𝐲𝟎𝝉 and the other is to let 𝛽=1 in (2.23).

Then through (3.5), an algebraic equation with an undetermined parameter 𝛽 can be established and 𝛽 can be numerically obtained by the Newton iteration method or other algebraic methods. Finally, substituting 𝛽 into (2.30) and (2.31), a numerical result can then be achieved.

4. Calculations of the Interpolation

Before giving some numerical examples, choosing the proper interpolation form of (2.18) must be discussed because it will affect the accuracy and stability of the proposed algorithm. In the current study, the authors use the Hermite interpolation to approximate the 𝐫1,𝐫2,𝐫3,𝐫4 in (2.18), that is,𝑟𝑖0𝑟𝑖1𝑟𝑖2𝑟𝑖3=11000𝜏01𝜏03𝜏22𝜏3𝜏21𝜏2𝜏31𝜏22𝜏31𝜏2𝑓𝑖0,𝑥𝑖(0),̇𝑥𝑖𝑓(0)𝑖0,𝑥𝑖(0),̇𝑥𝑖𝑓(0)𝑖𝑡,𝑥𝑖(𝜏),̇𝑥𝑖𝑓(𝜏)𝑖𝑡,𝑥𝑖(𝜏),̇𝑥𝑖(𝜏).(4.1)

It should be noted that there are unknowns in the right hand term of (4.1) which are 𝑥𝑖(𝜏),̇𝑥𝑖(𝜏). The prediction of the two unknowns is shown below. For example, we can let𝑥𝑖(𝜏)=𝑥𝑖(0)+̇𝑥𝑖(0)𝜏,̇𝑥𝑖(𝜏)=̇𝑥𝑖(0)+̈𝑥𝑖(0)𝜏.(4.2)

Then at every iteration of (3.4), the parameter 𝜷 can be updated. Submitting 𝜷 into (2.30) and (2.31), a new prediction of the displacement and velocity can therefore be obtained.

5. Numerical Examples

In this section we give some numerical examples to verify the effectiveness of the proposed algorithm, in particular, the advantage in stability of the proposed algorithm. Since (2.14) is a fourth order Taylor expansion, the energy conservation algorithm has fourth order accuracy. So we choose the Rounge-Kutta method as a numerical comparison. The numerical results show the advantages of the proposed energy conservation algorithm in terms of its integration stability and the ability to eliminate the algorithm damping inherent in the Rounge-Kutta method.

5.1. The Oscillation of a Nonlinear Simple Pendulum

The dynamic equation of a nonlinear single pendulum without damping can be written as̈𝑥+𝜔20sin𝑥=0,𝜔20=1.0,𝑥(0)=1.57,(5.1) where 𝑥 denotes the angular displacement. The numerical solutions are shown in Figure 1. From the figure we can see that the proposed energy conservation method (ECM) can keep the numerical stability and have no computing damping under large-step comparing with the Rounge-Kutta (RK) method. The numerical result of parameter 𝛽 is shown in Figure 2. Table 1 gives the comparison of the computing efficiency. The efficiency of the proposed method is not as good as the RK method due to the iteration of parameter 𝛽 and the time needed to compute the associated matrices. Figure 3 gives the error analysis between the ECM and the RK under time step 1.0 s.

Table 1: Comparison of computing efficiency.
Figure 1: Angular Displacement comparison between the proposed energy conservation method (ECM) and the RK method.
Figure 2: Value of parameter 𝛽(time step = 1.0 s).
Figure 3: The log-log plot of the error between the ECM and RK.
5.2. The Unforced Linear Vibration of the Cuboid Rigid Body with Two DOF

The structural diagram of the system is shown in Figure 4. The mass of the rigid body is 𝑚 and the length of the hemline is 𝑎. The center of mass is collocated at the geometry center (point C). The mass moment of inertia around the center of mass is 𝐽 and the stiffness of the spring is 𝑘. The deformations of the two springs are 𝑥1,𝑥2. The displacement in vertical direction of the center of mass is 𝑥𝑐. The angular displacement of the rigid body about the mass center is 𝜙. Using the above parameters, the equation of motion of the system can be written as𝑚4+𝐽𝑎2𝑚4𝐽𝑎2𝑚4𝐽𝑎2𝑚4+𝐽𝑎2̈𝑥1̈𝑥2+𝑥𝑘00𝑘1𝑥2=00.(5.2) Let 𝑚=8,𝑎=1,𝑘=2,𝐽=1,𝑥1=1,and𝑥2=1. Figures 5 and 6 compare the displacement (𝑥1) and velocity (𝑥2-dot) results predicted by the proposed method and the RK method. It can be seen that even with a big time step 1.0 s, the proposed method still has an accurate numerical solution but the RK method does not. Table 2 gives the comparison of the computing efficiency. Again, the efficiency of the proposed method is lower than that of the RK method in calculating these two degrees of freedom problem. Furthermore, it is noticed that the RK method almost keeps the same efficiency in Sections 5.1 and 5.2.

Table 2: Comparison of computing efficiency.
Figure 4: Structural diagram of the cuboid rigid body.
Figure 5: Comparison of displacement.
Figure 6: Comparison of velocity.

Figure 7 gives the error analysis between the ECM and the RK under time step 1.0 s. As Figure 7 already shows that the accuracy of the ECM is almost same as the result of RK with a 0.001 time step, the comparison does not use the RK with a small time step.

Figure 7: The log-log plot of the error between the ECM and RK with time step 1.0 s.
5.3. The Unforced Nonlinear Oscillation of a Spring Pendulum with Two DOF

The dynamic equation of the spring pendulum can be written as̈𝑥1+2𝑐1̇𝑥1+𝜔21𝑥1𝑏1𝑥1𝑥2=0,̈𝑥2+2𝑐2̇𝑥2+𝜔22𝑥2𝑏2𝑥21=0.(5.3)

Figures 8 and 9 show the numerical solution under different damping. Parameters and initial condition are given as follows:𝜔1=1.0,𝜔2=1.5,𝑏1=𝑏2=1.0,𝑥1=𝑥2=0.1,̇𝑥1=̇𝑥2=0.0.(5.4)

Figure 8: Displacement trajectory.
Figure 9: Velocity trajectory.

Figure 10 shows the comparison of the numerical results between ECM and RK methods under large time steps. It is obvious that the proposed method can eliminate algorithm damping better and provides better stability than the RK scheme. Parameters and initial conditions used in the calculation are as follows:𝑐1=𝑐2=0.0,𝜔1=1.0,𝜔2𝑏=1.5,1=𝑏2=1.0,𝑥1=𝑥2=0.1,̇𝑥1=̇𝑥2=0.0.(5.5)

Figure 10: Displacement trajectory.

Figure 11 shows long-time response of (5.2). Parameter and initial condition is as same as (5.4). From this figure we can see that after long-term iteration the proposed method still keeps numerical stability under a relatively large time step. But the algorithm damping makes the RK lose accuracy. Table 3 gives the comparison of the computing efficiency between RK and the ECM algorithms. It is shown that, in solving the two degrees of freedom nonlinear problem, the efficiency of the EMC is lower than the RK method. Moreover, comparing the elapsed time by the ECM in Table 2 and Table 3, it also can be seen that the computation efficiency of the ECM is worse for calculating nonlinear problems than for linear problems. Figure 12 shows the error analysis between the ECM and the RK under time step 1.0 s.

Table 3: Comparison of computing efficiency.
Figure 11: Displacement trajectory.
Figure 12: The log-log plot of the error between the ECM and RK.

6. Conclusion

(1) The energy conservation algorithm has the advantage in stability and time step compared with some numerical means because the numerical solution has been corrected by the energy conservation equation.

(2) All examples have shown that the energy conservation method can eliminate algorithm damping. It is also an effective means for calculating the long-term characteristics of nonlinear dynamic systems.

(3) The proposed method conserves the angular momentum automatically. Although the efficiency of the energy conservation method is not as good as the RK algorithm as well as some other numerical methods discussed in the literature, the integration step is large enough to implement long-term integration with good numerical stability.

(4) The reason of the low efficiency of the proposed method is because the iterations need to calculate the parameter 𝛽 and the time consumed in matrix computing needed by the algorithm. The efficiency of the EMC is lower in dealing with nonlinear problems compared with linear problems.


This work was funded by the “973” National Basic Research Project of China (no. Q10110919), Key Project of the National Natural Science Foundation of China (no. 10932003), “863” Project of China (no. 2009AA04Z101), and “973” National Basic Research Project of China (no. 2010CB832700). These supports are gratefully acknowledged. Many thanks are due to the reviewers for their valuable comments.


  1. J. Chung and G. M. Hulbert, “A time integration algorithm for structural dynamics with improved numerical dissipation: the generalized- α method,” Journal of Applied Mechanics, vol. 60, no. 2, pp. 371–375, 1993. View at Publisher · View at Google Scholar
  2. H. M. Hilber, T. J. R. Huge, and R. L. Taylor, “Improved numerical dissipation for time integration algorithms in structural dynamics,” Earthquake Engineering and Structural Dynamics, vol. 5, pp. 283–292, 1977. View at Google Scholar
  3. W. L. Wood, M. Bossak, and O. C. Zienkiewicz, “An alpha modification of Newmark's method,” International Journal for Numerical Methods in Engineering, vol. 15, pp. 1562–1566, 1981. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  4. T. C. Fung, “Unconditionally stable time-step-integration algorithms based on Hamilton's principle,” AIAA Journal, vol. 38, no. 8, pp. 1443–1464, 2000. View at Google Scholar · View at Scopus
  5. T. C. Fung, “On the equivalence of the time domain differential quadrature method and the dissipative Runge-Kutta collocation method,” International Journal for Numerical Methods in Engineering, vol. 53, no. 2, pp. 409–431, 2002. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  6. T. C. Fung, “Construction of higher-order accurate time-step integration algorithms by equal-order polynomial projection,” Journal of Vibration and Control, vol. 11, no. 1, pp. 19–49, 2005. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  7. T. C. Fung, “Bi-discontinuous time step integration algorithms-Part 2: second-order equations,” Computer Methods in Applied Mechanics and Engineering, vol. 192, no. 3-4, pp. 351–374, 2003. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  8. T. C. Fung and Z. L. Chen, “Krylov precise time-step integration method,” International Journal for Numerical Methods in Engineering, vol. 68, no. 11, pp. 1115–1136, 2006. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  9. J. C. Simo and O. Gonzalez, “Assessment of energy-momentum and sympletic schemes for stiff dynamic systems,” in Proceedings of the ASME Winter Annual Meeting, New Orleans, La, USA, December 1993.
  10. Q. V. Bui, “Modified Newmark family for non-linear dynamic analysis,” International Journal for Numerical Methods in Engineering, vol. 61, no. 9, pp. 1390–1420, 2004. View at Publisher · View at Google Scholar
  11. R. A. LaBudde and D. Greenspan, “Energy and momentum conserving methods of arbitrary order for the mumerical integration of equations of motion, II. Motion of a system of particles,” Numerische Mathematik, vol. 26, no. 1, pp. 1–16, 1976. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  12. T. J. R. Hughes, T. K. Caughey, and W. K. Liu, “Finite-element methods for nonlinear elastodynamics which conserve energy,” Journal of Applied Mechanics, vol. 45, no. 2, pp. 366–370, 1978. View at Google Scholar · View at Scopus
  13. D. Greenspan, “Conservative numerical methods for ẍ=f(x),” Journal of Computational Physics, vol. 56, no. 1, pp. 28–41, 1984. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  14. J. C. Simo and N. Tarnow, “The discrete energy-momentum method. Conserving algorithms for nonlinear elastodynamics,” Journal of Applied Mathematics and Physics (ZAMP), vol. 43, no. 5, pp. 757–792, 1992. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  15. J. C. Simo, N. Tarnow, and K. K. Wong, “Exact energy-momentum conserving algorithms and symplectic schemes for nonlinear dynamics,” Computer Methods in Applied Mechanics and Engineering, vol. 100, no. 1, pp. 63–116, 1992. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  16. D. Greenspan, “Completely conservative, covariant numerical methodology,” Computers and Mathematics with Applications, vol. 29, no. 4, pp. 37–43, 1995. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  17. T. C. Fung and S. K. Chow, “Solving non-linear problems by complex time step methods,” Communications in Numerical Methods in Engineering, vol. 18, no. 4, pp. 287–303, 2002. View at Publisher · View at Google Scholar · View at Scopus
  18. U. M. Ascher and S. Reich, “The midpoint scheme and variants for Hamiltonian systems: advantages and pitfalls,” SIAM Journal on Scientific Computing, vol. 21, no. 3, pp. 1045–1065, 1999. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  19. U. M. Ascher and S. Reich, “On some difficulties in integrating highly oscillatory Hamiltonian systems,” in Proceedings on Computational Molecular Dynamics, pp. 281–296, Springer Lecture Notes, 1999. View at Publisher · View at Google Scholar · View at Zentralblatt MATH