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 [4ā€“8], 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š‘–šœ3āˆ’6š‘‘š‘–šœī€øš‘‘5š‘–šœ3āˆ’š›½ī€·š‘‘2š‘–šœ2āˆ’4+4cosš‘‘š‘–šœ+š‘‘š‘–šœsinš‘‘š‘–šœī€øš‘‘6š‘–šœ4,š›¾š‘–0=ī€·1āˆ’cosš‘‘š‘–šœī€øš‘‘2š‘–,š›¾š‘–1=ī€·š‘‘š‘–šœāˆ’sinš‘‘š‘–šœī€øš‘‘3š‘–,š›¾š‘–2=ī€·š‘‘2š‘–šœ2āˆ’2+2cosš‘‘š‘–šœī€øš‘‘4š‘–,š›¾š‘–3=ī€·š‘‘3š‘–šœ3āˆ’6š‘‘š‘–šœ+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 š‹šœ¶3āˆ’1, we haveš‹ī€·šœ¶3āˆ’1+šŠ0ī€øš²1=š‹šœ¶3āˆ’1ī€·š”0āˆ’šœ¶0šŠ0ī€øš²0+š‹šœ¶3āˆ’1ī€·š”1āˆ’šœ¶1šŠ0ī€øĢ‡š²0āˆ’š‹šœ¶3āˆ’1šœ¶2šŠ0Ģˆš²0+š‹šœ¶3āˆ’1šœø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 š‹(šœ¶3āˆ’1+šŠ0) is a symmetrical matrix. The left hand side of (2.24) can be written asš‹ī€·šœ¶3āˆ’1+šŠ0ī€øš‹š‘‡š‹āˆ’š‘‡š²1=ī€·š‹šœ¶3āˆ’1š‹š‘‡+š‹šŠ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š‹ī€·šœ¶3āˆ’1+šŠ0ī€øš²1=ī€ŗī€·šœ¶šŠ+š‹3āˆ’1ī€øš‹āˆ’šƒš‘‡ī€»ā‹…š±1.(2.27) All the terms in the right hand side of (2.24) can be expressed separately asš‹šœ¶3āˆ’1ī€·š”0āˆ’šœ¶0šŠ0ī€øš²0=ī€ŗš‹ī€·šœ¶3āˆ’1š”0+šœ¶3āˆ’1šœ¶0šƒī€øš‹š‘‡āˆ’š‹šœ¶3āˆ’1šœ¶0š‹āˆ’1šŠī€»ā‹…š±0,š‹šœ¶3āˆ’1ī€·š”1āˆ’šœ¶1šŠ0ī€øĢ‡š²0=ī€ŗš‹ī€·šœ¶3āˆ’1š”1+šœ¶3āˆ’1šœ¶1šƒī€øš‹š‘‡āˆ’š‹šœ¶3āˆ’1šœ¶1š‹āˆ’1šŠī€»ā‹…Ģ‡š±0,š‹šœ¶3āˆ’1šœ¶2šŠ0Ģˆš²0=š‹šœ¶3āˆ’1šœ¶2š‹āˆ’1š‹šŠ0š‹š‘‡š‹āˆ’š‘‡Ģˆš²0=š‹šœ¶3āˆ’1šœ¶2š‹āˆ’1ī€·šŠāˆ’š‹šƒš‹š‘‡ī€øā‹…Ģˆš±0.(2.28) After substituting proper variables, the iteration formula in terms of the original variables can be expressed asī€ŗī€·šœ¶šŠ+š‹3āˆ’1ī€øš‹āˆ’šƒš‘‡ī€»ā‹…š±1=ī€ŗš‹ī€·šœ¶3āˆ’1š”0+šœ¶3āˆ’1šœ¶0šƒī€øš‹š‘‡āˆ’š‹šœ¶3āˆ’1šœ¶0š‹āˆ’1šŠī€»ā‹…š±0+ī€ŗš‹ī€·šœ¶3āˆ’1š”1+šœ¶3āˆ’1šœ¶1šƒī€øš‹š‘‡āˆ’š‹šœ¶3āˆ’1šœ¶1š‹āˆ’1šŠī€»ā‹…Ģ‡š±0āˆ’š‹šœ¶3āˆ’1šœ¶2š‹āˆ’1ī€·šŠāˆ’š‹šƒš‹š‘‡ī€øā‹…Ģˆš±0+š‹šœ¶3āˆ’1šœø0š‹āˆ’1š«0+š‹šœ¶3āˆ’1šœø1š‹āˆ’1š«1+š‹šœ¶3āˆ’1šœø2š‹āˆ’1š«2+š‹šœ¶3āˆ’1šœø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ī€ŗī€·šœ¶šŠ+š‹3āˆ’1ī€øš‹āˆ’šƒš‘‡ī€»ā‹…š±1šœ¶=š‹ā‹…ī€ŗī€·3āˆ’1š”0+šœ¶3āˆ’1šœ¶0šƒī€øš‹š‘‡āˆ’šœ¶3āˆ’1šœ¶0š‹āˆ’1šŠ+šœ¶3āˆ’1šœ¶2š‹āˆ’1ī€·šŠāˆ’š‹šƒš‹š‘‡ī€øš‹āˆ’š‘‡š‹āˆ’1šŠī€»ā‹…š±0šœ¶+š‹ā‹…ī€ŗī€·3āˆ’1š”1+šœ¶šŸ‘āˆ’1šœ¶1šƒī€øš‹š‘‡āˆ’šœ¶3āˆ’1šœ¶1š‹āˆ’1šŠī€»ā‹…Ģ‡š±0ī€ŗšœ¶+š‹ā‹…3āˆ’1šœø0š‹āˆ’1āˆ’šœ¶3āˆ’1šœ¶2š‹āˆ’1ī€·šŠāˆ’š‹šƒš‹š‘‡ī€øā‹…š‹āˆ’š‘‡š‹āˆ’1ī€»š«0+š‹šœ¶3āˆ’1šœø1š‹āˆ’1š«1+š‹šœ¶3āˆ’1šœø2š‹āˆ’1š«2+š‹šœ¶3āˆ’1šœø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 asĢ‡š±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š‘–šœ2ī€»āˆ’6š‘‘4š‘–šœ2,š‘š‘–2(ī€·=āˆ’1/2)2š‘‘š‘–šœsinš‘‘š‘–šœ+6cosš‘‘š‘–šœ+š‘‘2š‘–šœ2ī€øāˆ’6š‘‘4š‘–šœ,š‘š‘–3=ī€·6cosš‘‘š‘–šœ+3š‘‘2š‘–šœ2ī€øāˆ’6š‘‘4š‘–šœ3āˆ’š›½ī€·6š‘‘š‘–šœcosš‘‘š‘–šœāˆ’24sinš‘‘š‘–šœāˆ’š‘‘2š‘–šœ2ī€ø+18š‘‘5š‘–šœ4,šœ‚š‘–0=sinš‘‘š‘–šœš‘‘š‘–šœ‚š‘–1=1āˆ’cosš‘‘š‘–šœš‘‘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 haveĢ‡š±š‘‡šŒĢˆĢ‡š±š±+š‘‡Ģ‡š±šŠš±=š‘‡Ģ‡šŸ(š±,š±,š‘”).(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šœ0āˆ’3šœ2āˆ’2šœ3šœ2āˆ’1šœ2šœ31šœ2āˆ’2šœ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.

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.

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.

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 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 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.

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.