Abstract
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 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
Substituting (2.2) into (2.1) and multiplying by , we can obtain Knowing that are all constant matrices, a variable substitution can be executed as Substituting (2.4) into (2.3), a new dynamic system which is equivalent to the original system can be obtained as Let where is a diagonal matrix and its diagonal elements are the diagonal elements of matrix is a matrix whose diagonal elements are zero, and other elements are equal to those in . Note that for which is a positive definite matrix and is a semipositive definite matrix. Let Then (2.5) can be rewritten as The separate form of the above matrix equation can be expressed as follows: where is the th row of the matrix . 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
In order to derive the time integral formula, let in (2.10) and (2.11), where is the integral time step, then we have
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
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 . From (2.14), it can be obtained that where: where an undetermined parameter has been introduced in 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
By means of multinomial interpolation, can be written as
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 as where are scalar and can be obtained by follow polynomials Substituting (2.20) into (2.12), we have Knowing that , so we can write the above equation in a matrix form: where , , are diagonal matrices and their diagonal elements are , , , (), respectively. From (2.22), the iterative solution can be expressed as Multiplying (2.23) by , we have
Note that is a matrix whose diagonal elements are zero, and other elements are equal to those in and is a diagonal matrix, so is a symmetrical matrix. The left hand side of (2.24) can be written as From (2.5) and (2.6), we have From (2.3) and (2.26), the left hand of (2.24) can be written as All the terms in the right hand side of (2.24) can be expressed separately as After substituting proper variables, the iteration formula in terms of the original variables can be expressed as
In (2.29), there is a term consisting of a double derivative. According to (2.3), the term with the double derivative can be replaced by . Finally, the displacement iteration formula can be obtained as
Substituting (2.14) and (2.15) into (2.13) and through some mathematical manipulations, the velocity iteration formula can be obtained as where, , , are diagonal matrices with diagonal elements , , , , respectively. is also a diagonal matrix and its diagonal elements are (). Every term in the right hand side of (2.31) is given as bellow: where , are diagonal matrices with diagonal elements , , 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
Integrating (2.32) from to , we can obtain namely,
Simplifying (3.3), we can obtain an energy conservation equation between and as follows: where
Substituting (2.30) and (2.31) into the left hand side of (3.4), a polynomial of the undermined parametercan be easily achieved. For the right hand side of (3.4), the integral term can be firstly decomposed into two parts as follows: where the term is an integral of an autonomous system and can be integrated easily. The in term 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 in (2.15). One is to let and the other is to let 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 in (2.18), that is,
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
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 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 . 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 Let . Figures 5 and 6 compare the displacement () and velocity () 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
Figures 8 and 9 show the numerical solution under different damping. Parameters and initial condition are given as follows:
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:
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.
Acknowledgments
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.