Appendix
Numerical methods solving finite element dynamic equations This appendix gives some numerical methods, developed by Xing (2005), in FORTRAN designed to solve dynamic finite element (FE) equations. The principles, solution processes, examples, and comparison of five time integration methods—Newmark, Wilson-θ, Hilber-α, Hilber collocation, and central difference—which are often used to solve dynamic FE equations, are presented. A computer code Program of Time Element Methods (PTEM), developed by the author, is introduced and presented. This code provides a generalized functional module using these five algorithms to solve the FE equation t M x€ 1 t C x_ 1 t Kx 5 Rðt; x; x_ Þ describing linear and nonlinear structural dynamics. This functional program module is conveniently incorporated into any computer program used to investigate complex dynamics problems in maritime engineering.
A.1
Introduction
Direct integration methods, or time element methods, are important and necessary approaches in analyzing dynamic response problems of linear and nonlinear dynamic systems (Bathe and Wilson, 1976; Bathe, 1982, 1986, 1996; Belytschko and Hughes 1983; Zheng and Tan, 1985; Zheng 1986). Essentially, direct numerical integration methods are based on two ideas. First, instead of satisfying the FE dynamic equation at any time t, these methods are aimed to satisfy it only at discrete time intervals Δt apart. The second is that a variation of displacements, velocities, and accelerations within each time interval is assumed. In depending on the different discrete points and variation assumptions used, there are different time integration schemes with different performances of accuracy, stability, and cost of solution. The central difference method is an often used explicit method with three-point interpolation. Houbolt (1950) developed a four-point implicit scheme. Newmark (1959) introduced two parameters γ and β to represent displacement and velocity, respectively, and created a very useful algorithm called the Newmark method. Hilber and Taylor (1977) introduced another parameter, α, in order to control numerical damping and to improve accuracy, into the Newmark scheme and created the Hilber-α method. Wilson et al. (1973), assuming a linear acceleration distribution over a time interval (t,t 1 θΔt), constructed the Wilson-θ method. Combining the ideas of the Wilson and Newmark methods, Hilber and Hughes (1978) developed another method called the Hilber collocation method. Zienkiewiez (1977) investigated the constructions of the Newmark and other time integration methods using a weighted residual approach. Based on variational principles and interpolations in the time domain, Xing and Zheng (1985, 1987) studied existing methods and created a new approach. In an integrated variational frame for the interpolations in space and time domains, the concept of a four-dimensional FE method was proposed. In the current FE software, the five methods—the central difference, Newmark, Wilson-θ, Hilber-α, Hilber collocation schemes—are widely used. This appendix gives a description and comparison of these five methods. A computer code PTEM, developed by the author, is introduced and listed here for application by readers.
A.2 A.2.1
Fundamental iteration formulations Generalized dynamic equation
In a linear FE analysis (FEA), a generalized dynamic equation is expressed as M€x 1 C_x 1 Kx 5 R;
(A.1)
577
578
Appendix: Numerical methods solving finite element dynamic equations
where M, C, and K are constant mass, damping, and stiffness matrices of the system, x, x_ , and x€ , represent the displacement, velocity, and acceleration vectors, and R is a time-dependent load vector. For nonlinear systems, Eq. (A.1) can be replaced by the following increment form: t
MΔ€x 1 t CΔ_x 1 t KΔx 5 Δt R;
(A.2)
where tM, tC, and tK denote the tangent mass, damping, and stiffness matrices at time t, and Δt R is the load increment. Since at each time step, the tangent mass, damping, and stiffness matrices are recalculated, the cost of solving Eq. (A.2) is quite high. For practical problems, nonlinearity is mainly caused by stiffness and damping but not involving the mass of the system. To reduce the computational cost, Eq. (A.2) is represented as t 1 Δt
M x€ ðkÞ 1 0 CΔ_xðkÞ 1 0 KΔxðkÞ 5 t 1 Δt R 2 t 1 Δt Fd ð_xðk21Þ Þ 2 t 1 Δt Fs ðxðk21Þ Þ;
t 1 Δt ðkÞ
5 t 1 Δt xðk 2 1Þ 1 ΔxðkÞ ;
t 1 Δt ðkÞ
5 t 1 Δt _x ðk 2 1Þ 1 Δ_xðkÞ ;
x
x_
(A.3)
k 5 1; 2; 3; :::
where 0C and 0K are the initial damping and stiffness matrices at time t 5 0, and Fd and Fs represent the damping and stiffness forces that can be expressed in a summation of linear and nonlinear components as follows: d Fd 5 0 C x_ 1 F~ ð_xÞ;
s Fs 5 0 Kx 1 F~ ðxÞ:
(A.4)
Eq. (A.3) is now rewritten in the form t 1 Δt
t 1 Δt ~ R 2 t 1 Δt F~ d ð_xðk21Þ Þ 2 t 1 Δt F~ s ðxðk21Þ Þ 5 t 1 Δt R; ðM€xðkÞ 1 C_xðkÞ 1 KxðkÞ Þ 5
(A.5)
where for convenience the superscripts of the damping and stiffness matrices are neglected. Eq. (A.5) provides an iteration formulation to obtain a solution x(k) at iteration k from previous result x(k21). The following three convergence criteria may be chosen to check whether the convergence is reached at iteration k.
A.2.2
Iteration criterions
A.2.2.1 Energy criterion ΔxðkÞ t 1 Δt ½R 2 Fd ð_xðk21Þ 2 Fs ðxðk21Þ 2 M€xðk21Þ Δxð1Þ U½t 1 Δt R 2 t Fd 2 t Fs 2 Mt1Δt x€ ð0Þ
(A.6)
# ETOL:
A.2.2.2 Force criterion :t1Δt ½R2Fd ð_xðk21Þ 2Fs ðxðk21Þ 2M€xðk21Þ :2 :½t1Δt R2 t Fd 2 t Fs 2Mt1Δt x€ ð0Þ :2
(A.7)
# RTOL:
A.2.2.3 Displacement criterion :ΔxðkÞ :2 # DTOL: :xðkÞ :2
Here :a:2 5
pffiffiffiffiffiffiffiffi aUa, ETOL, RTOL, and DTOL represent accuracy errors defined by users.
(A.8)
Appendix: Numerical methods solving finite element dynamic equations
A.3 A.3.1
579
Five numerical integration schemes Newmark method
The Newmark method assumes that the velocity and displacement vectors at time step n 1 1 take the forms x_ n11 5 x_ n 1 ½ð1 2 γÞ€xn 1 γ x€ n11 ; xn11 5 xn 1 x_ n Δt 1 ½ð0:5 2 βÞ€xn 1 β x€ n11 Δt2 ;
(A.9)
~ n11 ; M€xn11 1 C_xn11 1 Kxn11 5 R from which the displacement, velocity, and acceleration vectors xn11, x_ n11 , and x€ n11 at time step n 1 1 are derived from their values at the previous time step n. The unconditional stable condition of the Newmark method requires that β $ 0:25ð0:51γÞ2 :
γ $ 0:5;
A.3.2
(A.10)
Wilson-θ method
This method assumes that the acceleration in time interval τAðt; t 1 θΔtÞ varies in a linear form: τ ð€xn1θΔt 2 x€ n Þ: x€ n1τ 5 x€ n 1 θΔt
(A.11)
The integration of this equation gives that x_ n1τ 5 x_ n 1 x€ n τ 1
τ2 ð€xn1θΔt 2 x€ n Þ; 2θΔt
τ2 τ3 xn1τ 5 xn 1 x_ n τ 1 x€ n 1 ð€xn1θΔt 2 x€ n Þ; 2 6θΔt
(A.12)
which, at τ 5 θΔt, x_ n1θΔt , and x€ n1θΔt , can be solved in terms of xn1θΔt . The substitution of the results of x_ n1θΔt and x€ n1θΔt into the dynamic equation M€xn1θΔt 1 C_xn1θΔt 1 Kxn1θΔt ~ n1θΔt 5 R ~ n 1 θðR ~ n1Δt 2 R ~ nÞ 5R
(A.13)
provides a solution for xn1θΔt . The solution of xn1Δt , x_ n1Δt , and x€ n1Δt can be obtained by 3 6 6 x€ n 2 2 x_ n 1 3 2 ðxn1θΔt 2 xn Þ; x€ n11 5 1 2 θ θ Δt θ Δt x_ n11 5 x_ n 1
(A.14a)
Δt ð€xn11 1 x€ n Þ; 2
Δt2 ð€xn11 1 2€xn Þ: xn11 5 xn 1 Δtx_ n 1 6
(A.14b)
The unconditional stable condition of the method requires θ $ 1:37.
A.3.3
Hilber-α method
Based on the Newmark method, Hilber introduced a parameter α into Eq. (A.9) and obtained that ~ n11 ; M€xn11 1 C_xn11 1 K½xn11 ð1 1 αÞ 2 αxn 5 R
(A.15)
580
Appendix: Numerical methods solving finite element dynamic equations
developing a modification algorithm. The parameter α controls human-made damping and increases the accuracy. The unconditional stable condition of this method requires that γ 5 0:5 2 α; β 5 0:25ð1 2 αÞ;
A.3.4
20:5 # α # 0 :
(A.16)
Hilber collocation method
Combining the Wilson-θ and Newmark methods, Hilber constructed a collocation scheme using the following form: x€ n1θ 5 x€ n 1 θð€xn11 2 x€ n Þ; x_ n1θ 5 x_ n 1 θΔt½ð1 2 γÞ€xn 1 γ x€ n1θ ; xn1θ 5 xn 1 θΔtx_ n 1 ðθΔtÞ2 ½ð0:5 2 βÞ€xn 1 β x€ n1θ ; ~ n1θ ; M€xn1θ 5 C€xn1θ 1 Kxn1θ 5 R
(A.17)
in which x_ n1θ and x€ n1θ are represented in terms of xn1θ , and then xn1θ is obtained by solving ^ ^ n1θ 5 R; Kx 1 γ ^5 C 1 K; M1 K βθΔt βðθΔtÞ2 ^ 5 ð1 2 θÞR ~ n 1 θR ~ n11 ; R 0 1 3 2 1 1 1 xn 1 1 M4 x_ n 1 @ 2 1Ax€ n 5; βðθΔtÞ 2β βðθΔtÞ2 0 1 0 1 2 3 γ γ γ xn 1 @ 2 1Ax_ n 1 @ 2 1AθΔtx€ n 5: 1 C4 βðθΔtÞ β 2β
(A.18)
Hilber demonstrated that this method is unconditionally stable provided that γ 5 0;
θ 2θ2 2 1 $β$ ; 2ðθ 1 1Þ 4ð2θ3 2 1Þ
θ$1
(A.19)
This method reduces to a Newmark method of γ 5 0:5 and β 5 0:25 if θ 5 1 and to a Wilson-θ method if γ 5 1=2 and β 5 1=6.
A.3.5
Central difference method
For the central difference method, it is assumed that
x_ n 5
1 ðxn11 2 xn21 Þ; 2Δt (A.20a)
1 x€ n 5 2 ðxn11 2 2xn 1 xn21 Þ; Δt ~ n; M€xn 1 C_xn 1 Kxn 5 R
(A.20b)
Appendix: Numerical methods solving finite element dynamic equations
581
from which it follows that ^ n11 5 R; ^ Kx ^ 5 1 M 1 1 C; K Δt2 2Δt 0 1 0 1 2 1 1 ^ 5R ~ n 2 @K 2 CAxn21 ; R M A xn 2 @ 2 M 2 Δt2 Δt 2Δt x21 5 x0 2 Δtx_ 0 1
(A.21)
Δt2 x€ 0 : 2
The central difference method is an explicit method for which iteration is not needed, and therefore it is widely used in nonlinear analysis. This method is conditionally stable, and the stable condition requires Δt #
Tm ; π
(A.22)
where Tm is the minimum vibration period of the problem.
A.4
Stability and accuracy
As previously described, the four methods, except for the central difference method, are unconditionally stable, implying that for any time step Δt, an approximate solution can be definitely obtained. However, for a large time step Δt, the accuracy of the result is lower but at less of a cost of calculation. Here, the stability and accuracy analysis of the methods are given for a reference in applications.
A.4.1
Stability and spectral radius
The stability of an integration method is determined by examining the behavior of the numerical solution for arbitrary initial conditions. Assume that the iteration formulation of a method to determine the solution t 1 Δt x^ from the solution t x^ is defined as t 1 Δt
x^ 5 At x^ ;
(A.23)
where A represents the matrix operator of a method. Let ρ(A) be the spectral radius of A defined as ρðAÞ 5 max jλj j;
j 5 1; 2; 3; . . . :
(A.24)
The necessary and sufficient condition of a stable time integration method is ρðAÞ # 1:
A.4.2
(A.25)
Period elongation and amplitude decay
Various studies of the accuracies of time integration methods have been reported. Here, we only summarize some important solution characteristics. For this purpose, we consider the solution of the initial value problem defined by x€ 1 ω2 x 5 0;
0
x 5 1:0; 0 x_ 5 0:0;
(A.26)
for which the exact solution is x 5 cos ωt. However, there is a period elongation PE and an amplitude decay AD in the approximate solution obtained by time integration methods. It has been defined that Percentage amplitude decay 5 AD 3 100%; Percentage period elongation 5
PE 3 100%; T
(A.27)
582
Appendix: Numerical methods solving finite element dynamic equations
to describe the accuracy of a method. Also, a damping factor η has been introduced as AD 5 1 2 e22πη ;
η5
2lnð1 2 ADÞ : 2π
(A.28)
For the often used time integration methods, the references by Hilber et al. (1977) and Hilber and Hughes (1978) present the spectral radii ρ(A), the percentage amplitude decay, the damping factor, and the percentage of period elongation as functions of Δt/T. These curves provide a good comparison of the discussed time integration methods. From the point of view of engineering applications, all of the five methods can provide sufficient accuracy for engineering analysis, provided a suitable time step chosen.
A.5
Implementation
The implementation process of these five time integration methods is described as follows.
A.5.1
Initial calculations
1. Form mass, stiffness, and damping matrices M, K, and C. 2. Initialize 0 x, 0 x_ , and 0 x€ 5 M21 ð0 R 2 C0 x_ 2 K0 xÞ. For the central difference method, you need to calculate 21 x 5 0 x 5 0 x_ Δt 1 0:50 x€ Δt2 . 3. Select time step Δt , Δtcr , and calculate the integration constants.
A.5.1.1 Newmark method γ $ 0:5; Ak 5 1;
β $ 0:25ð0:51γÞ2 ; A0 5 1ðβΔt2 Þ; A1 5 γ=ðβΔtÞ;
A2 5 1=ðβΔtÞ;
A3 5 1ð2βÞ 2 1;
A5 5 ðγ=β 2 2ÞΔt=2;
A4 5 γ=β 2 1;
A6 5 ð1 2 γÞΔt;
A7 5 γΔt:
A.5.1.2 Hilber-α method 0:5 # α # 0;
γ 5 0:5 2 α; β 5 0:25ð12αÞ2 ;
Ak 5 1 1 α;
A0 5 1=ðβΔt2 Þ;
A2 5 1=ðβΔtÞ;
A1 5 γ=ðβΔtÞ;
A3 5 1=ð2βÞ 2 1;
A5 5 ðγ=β 2 2ÞΔt=2;
A4 5 γ=β 2 1;
A6 5 ð1 2 γÞΔt;
A7 5 γΔt:
A.5.1.3 Wilson-θ method θ $ 1:37;
Ak 5 1;
A0 5 6=ðθΔt2 Þ; A3 5 θΔt=2; A6 5 1 2 3=θ;
A1 5 3=ðθΔtÞ; A2 5 2A1 ;
A4 5 A0 =θ;
A5 5 2 A2 =θ;
A7 5 Δt=2; A8 5 Δt2 =6:
Appendix: Numerical methods solving finite element dynamic equations
583
A.5.1.4 Hilber collocation method θ $ 1;
γ 5 0:5;
Ak 5 1;
θ 2θ2 2 1 $β$ ; 2ðθ 1 1Þ 4ð2θ3 2 1Þ
A0 5 1=ðβθ2 Δt2 Þ;
A1 5 γ=ðβθΔtÞ;
A2 5 1=ðβθΔtÞ; A3 5 1=ð2βÞ 2 1; A4 5 γ=β 2 1; γ A0 21 2 1 θΔt; A6 5 A5 5 ; A7 5 2 ; 2β θ βθ Δt A8 5 2
1 ; 2βθ
B1 5 Δtγ;
A9 5 ð1 2 γÞΔt;
B2 5 ð0:5 2 βÞθ2 Δt2 ;
B3 5 βθ2 Δt2 :
A.5.1.5 Central difference method Δt # Tn =π 5 Δtcr ; Ak 5 0; A0 5 1=Δt2 ;
A.5.2
A1 5 1ð2ΔtÞ;
A2 5 2A0 :
Form effective stiffness matrix ^ 5 A0 M 1 A1 C 1 Ak K: K
A.5.3
Triangular decomposition of matrix K^ ^ 5 LDLT : K
A.5.4
(A.29a)
(A.29b)
Calculations at each time step
1. Form effective loads at time t 1 Δt. For a convenience in equation expression, we define that t
R 5 MðA0 t x 1 A2 t x_ 1 A3 t x€ Þ 1 CðA1 t x 1 A4 t x_ 1 A5 t x€ Þ:
(A.30)
Newmark method t 1 Δt
^ 5 t 1 Δt R 1 t R: R
(A.31)
t 1 Δt
^ 5 t 1 Δt R 1 t R: R
(A.32)
Hilber-α method
Wilson-θ method t 1 Δt
^ 5 A2 t R 1 θt 1 Δt R 2 A2 Mt x€ R 2 Kðt x 1 A3 t x_ 1 A5 t x€ Þ 2 Cðt x 1 A4 t x€ Þ:
(A.33)
Hilber collocation method t 1 Δt
^ 5 ð1 2 θÞt R 1 θt 1 Δt R 1 t R: R
(A.34)
584
Appendix: Numerical methods solving finite element dynamic equations
Central difference method t 1 Δt
^ 5 t R 1 MðA2 t x 2 A0 t 2 Δt xÞ 2 Kt x 1 CA1 t 1 Δt x: R
(A.35)
2. Solve for x^ at time t 1 Δt: ^ ^ x 5 LDLT x^ 5 t 1 Δt R: K^
(A.36)
3. Evaluate displacements, velocities, and accelerations at time t 1 Δt. Newmark and Hilber-α methods t 1 Δt
x 5 x^ ;
t 1 Δt
x€ 5 A0 ð^x 2 t x^ Þ 2 A2 t x_ 2 A3 t x€ ;
(A.37)
x 5 t x_ 1 A6 t x€ 1 A7 t 1 Δt x€ :
t 1 Δt _
Wilson-θ method t 1 Δt
x€ 5 A4 ð^x 2 t x^ Þ 1 A5 t x_ 1 A6 t x€ ; x 5 t x_ 1 A7 ðt x€ 1 t 1 Δt x€ Þ;
t 1 Δt _ t 1 Δt
(A.38)
x 5 t x 1 Δtt x_ 1 A8 ð2t x€ 1 t 1 Δt x€ Þ:
Hilber collocation method t 1 Δt
x€ 5 A6 ð^x 2 t x^ Þ 1 A7 t x_ 1 A8 t x€ ; x 5 t x_ 1 A9 t x€ 1 B1 t 1 Δt x€ ;
t 1 Δt _ t 1 Δt
x 5 x 1 Δt x 1 B2 x€ 1 B3 t
t_
t
(A.39) t 1 Δt
x€ :
Central difference method t 1 Δt
x 5 x^ ;
x 5 A1 ðt 1 Δt x 2 t 2 Δt xÞ;
t_ t
A.6
(A.40)
x€ 5 A0 ðt 1 Δt x 2 2t x 1 t 2 Δt xÞ:
Time element program
The time element program PTEM, developed by Xing (1989), is a functional module that includes the five time integration methods just discussed. This program is used to solve linear and nonlinear dynamic FEA equations to obtain displacements, velocities, and accelerations of the system at time t 1 Δt from their values at time t. It can be incorporated into an FEA program as a functional module or directly used to solve dynamic equations obtained using other software.
A.6.1
Main characteristics
1. The program consists of about 1200 FORTRAN sentences. All functions of the program are completed in the module. It provides a convenient interface for users to connect the module into other FEA programs. 2. There are three forms to solve Eq. (A.1), which is controlled by a control variable JC as follows: JC 5 1: The matrices M, C, and K are assumed unchanged at each time step, and load R is dependent on time only. This function is mainly used to solve linear problems with no iteration required at each time step. JC 5 2: The matrices M, C, and K are still assumed unchanged at each time step, but the load R is dependent on unknown displacement and velocity. For the four time integration methods except the central difference method, iteration is required at each time step. Users can choose the convergence criteria. This process is mainly used to solve problems with weak nonlinearity. For problems with strong nonlinearity, iteration convergence may not reach, and the central difference method can be used.
Appendix: Numerical methods solving finite element dynamic equations
585
JC 5 3: The matrices M, C, and K are changed at each time step, but the load R is independent of only the time function unknown variables. During the calculation at each time step the matrices M, C, and K are required to be updated using FEA software. There are three flags JCM, JCC, and JCK to control the changes of matrices M, C, and K, respectively. 3. A control flag IJK is designed for users to choose one of the five time integration methods. 4. The program can automatically check the parameters α, β, γ, and θ to satisfy the stability conditions. 5. The load functions designed in the program include sinusoidal functions, discrete time functions given by input data, and the nonlinear spring function FUNC1 5 Ax2 1 Bx3
(A.41)
FUNC1 5 A_x2 1 B_x3 ;
(A.42)
and nonlinear damping function
where A and B are constants defined by users. Users can input their load functions, defined by themselves, and define the starting time of each load. 6. Output results are the displacements, velocities, and accelerations at the selected degrees of freedom (DOFs) by users. Users can choose the time intervals of the output data.
A.6.2
Flowchart of the program
A flowchart of the program is shown in Fig. A.1. All the input data, the values of control variables, and the method parameters are supplied by an INPUT.DAT file prepared by users. A file OUTPUT.DAT produced automatically by the program gives the output results.
A.7 A.7.1
Examples Example 1
A nondamping free vibration of a system with 1 DOF is defined by the following equation: x€ 1 x 5 0;
xð0Þ 5 1:0;
_ 5 1:0 ; xð0Þ
(A.43)
which has a theoretical solution x5
pffiffiffi π 2 cos t 5 : 4
(A.44)
Table A.1 lists the displacements calculated using the program in association with the parameters Δt 5 π=8, γ 5 0:5, β 5 0:25, α 5 20:01, and θ 5 1:4 for the Wilson-θ method and θ 5 1:001 for the Hilber collocation method.
A.7.2
Example 2
Let us consider a system with 2 DOFs described by the following equation: 2 4
2 0 0 1
2
54
x€1 x€2
3
2
514
2 3 0 4 554 5 0 x2 x1
3
32
2
6
22
22
4
54
2 3 0 4 5 5 4 5: 0 x_2 x_1
3
32
x1 x2
3
2
554
0
3 5;
10 (A.45)
586
Appendix: Numerical methods solving finite element dynamic equations
FIGURE A.1 The flowchart of the PTEM. PTEM, Program of Time Element Methods.
Appendix: Numerical methods solving finite element dynamic equations
587
TABLE A.1 Displacements calculated in Section A.7.1. t Δt
Newmark
Wilson-θ
Hilber-α
Hilber collocation
Central difference
Theoretical
0
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
2
1.4141
1.4256
1.4139
1.4142
1.4283
1.4142
4
1.0195
1.0532
1.0196
1.0196
1.0095
1.0008
6
0.0419
0.0974
0.0426
0.0420
20.0080
0.0017
8
20.9598
20.9063
20.9586
20.9596
201.0207
20.9984
10
21.4125
21.3996
21.4119
21.4125
21.4281
21.4142
12
21.0574
21.1115
21.0582
21.0574
20.9886
21.0024
TABLE A.2 Displacement x1 calculated in Section A.7.2. t Δt
Newmark
Wilson-θ
Hilber-α
Hilber collocation
Central difference
Theoretical
0
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
2
0.0504
0.0525
0.0507
0.0505
0.0307
0.0381
4
0.4846
0.4896
0.4847
0.4845
0.4871
0.4860
6
1.5805
1.5425
1.5790
1.5803
1.7009
1.6570
8
2.7607
2.6702
2.7578
2.7605
2.9134
2.8068
10
2.8505
2.8182
2.8502
2.8506
2.7711
2.8057
11
2.2840
2.3340
2.2865
2.2844
2.0368
2.1306
The theoretical solution of this problem is given by
1 5 x1 5 x2 3 5
22 4
"
pffiffiffi # 1 2 cos 2t pffiffiffi ; 1 2 cos 5t
(A.46)
pffiffiffi pffiffiffi which is a summation of two vibrations of periods T1 5 2π and T2 5 2π= 5. The time step Δt 5 0.1T2 is chosen in the calculations. The results obtained using PTEM are listed in Table A.2. The solutions for the Newmark and Wilson-θ methods are exactly same as the ones reported by Bathe and Wilson (1976) and by Bathe (1982, 1986).
A.7.3
Example 3
Here, a weak nonlinear problem of a system with 100 DOFs, as shown in Fig. A.2, is considered. For the ith degree of the system, the mass mi and the spring force fi are given as mi 5 1; fi 5 δi 1 0:2δ3i ;
(A.47)
where δi represents the elongation of the ith spring. Therefore the spring force of each spring is nonlinear. The Rayleigh damping of the system is assumed, given by C 5 0:01M 1 0:005K:
(A.48)
588
Appendix: Numerical methods solving finite element dynamic equations
C1,K1,m1
C100,K100,m100
•••
•
FIGURE A.2 A nonlinear system of 100 degrees of freedom.
TABLE A.3 Displacement x100 calculated in Section A.7.3. t Δt 0 48
Newmark
Wilson-θ
Hilber-α
20.000
20.000
20.000
8.7725
8.7537
Hilber collocation 20.000
8.7732
8.7727
Central difference 20.000 8.7838
Zheng and Tan 20.000 8.7210
108
23.130
23.245
23.132
23.131
23.028
23.123
149
4.008
3.879
4.006
4.007
4.113
4.080
206
23.597
23.588
23.596
23.596
23.646
23.622
247
2 6.765
26.740
26.765
26.766
26.857
26.862
287
26.985
26.928
26.984
26.985
27.088
26.988
The dynamic response of the system excited by five forces πt ; i 5 20; 40; 60; 80; 100 Ri 5 0:005i sin 50
(A.49)
is calculated using PTEM. The initial conditions are xi ð0Þ 5 0:2i;
x_i ð0Þ 5 0;
ði 5 1; 2; 3; . . .; 100Þ :
(A.50)
If the nonlinear part of total stiffness is relatively smaller than its linear part, we consider a constant linear stiffness 2 3 2 21 6 21 & & 7 7 K56 (A.51) 4 & 2 215 21 1 s and a nonlinear force term F~ , in which an element is given by h i s F~ i 5 0:2 ðxi 2xi21 Þ3 1 ðxi 2xi11 Þ3 ;
x0 5 x101 5 0:
(A.52)
The equation describing the system is now written as s M€x 1 C_x 1 Kx 5 R 1 F~ :
(A.53)
The time steps Δt 5 0.25 for the central difference method and Δt 5 2.5 for the other four methods are used. The parameters for each time integration method are the same as in Sections A.7.1 and A.7.2. The results obtained are shown and compared in Table A.3, in which the results by Zheng and Tan (1985) and Zheng (1986) are listed.
Appendix: Numerical methods solving finite element dynamic equations
A.8
Program of Time Element Methods
589
590
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
591
592
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
593
594
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
595
596
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
597
598
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
599
600
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
601
602
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
603
604
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
605
606
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
607
608
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
609
610
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
611
612
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
613
614
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
615
616
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
A.9
617
User manual
The variables used in the input file INPUT.DAT follow the rules of FORTAN. The users need to generate this INPUT. DAT as their input file to use the program. In Section A.10, the input files for the three examples are listed. The structure of the input file is defined as follows: Line 1: Maximum 72 letters allowed for users to define the title of problem Line 2: Main control data of 20 integer variables IJK, JC, NN, NWM, NWC, NWK, NITER, NPRT, NINT, NC, NO, NLD, NLDT, NLDU, NLDV, NAD, NAT, JCM, JCC, JCK The physical meanings of these variables are: IJK: Time element method control 5 1 Newmark method 5 2 Wilson-θ method 5 3 Hilber-α modification method 5 4 Hilber allocation method 5 5 Central difference method
618
Appendix: Numerical methods solving finite element dynamic equations
JC: Solution method control with the definition 51 M, C, K matrices are not changed at each time step, and loadR(t) is time function only, no iteration for the solution 52 M, C, K matrices are not changed at each time step, but loadR depends on the unknown solution and iteration needed except using the central difference method 53 M, C, K matrices are changed, which is required to be input at each time step, the load R(t) is time function only and no iteration needed NN: NWM: NWC: NWK: NITER: NPRT:
The order of matrices M, C, and K The length of matrix M in a one-dimensional array form The length of matrix C in a one-dimensional array form The length of matrix K in a one-dimensional array form Maximum iteration time number, automatically set to 30, if it is 0 Print control 5 1 Print the results during the process of calculation 5 2 Not print the results during the process of calculation NNIT: Load function control 5 0 Load not involving acceleration 5 2 Load involving acceleration (option not for this version) NC: Time step number for output results NO: Number of DOF that the results require NLD: Number of load functions, NLD 5 NLDT 1 NLDU 1 NLDV NLDT: Number of load functions as time function only NLDU: Number of nonlinear spring forces in the form fI 5 AI ðxI 2xE Þ2 1 BI ðxI 2xE Þ3 ; AI ; BI : constants to be given by users; xI : displacement at end I of spring; where force acted; xE : displacement at another end of sprint:
NLDV: Number of nonlinear damping forces in the form fI 5 AI ðx_I 2 x_E Þ2 1 BI ðx_I 2 x_E Þ3 ; AI ; BI : constants to be given by users; x_I : velocity at end I of damper; where damping force acted; x_E : velocity at another end of damper: NAD: Number of DOF where loads acted. If a DOF has several different forces, the total number of different forces minus 1 should be added into NAD NAT: Number of loads acting times JCM: M matrix change control at each step 5 1 Change 5 0 Not change JCC: C matrix change control at each step 5 1 Change 5 0 Not change JCK: K matrix change control at each step 5 1 Change 5 0 Not change
Appendix: Numerical methods solving finite element dynamic equations
619
Line 3: Eight parameters of time elements TS, TE, DT, GAMMA, BETA, THETA, ALPHA, TOL, defined as: TS: The starting time of solution TE: The ending time of solution DT: Time step (second) GAMMA: Parameter γ BETA: Parameter β THETA: Parameter θ ALPHA: Parameter α TOL: Convergence accuracy, which is set to 1025, if given as 0 Line 4: Loads arriving time data, total NAT real numbers for array AT(NAT) Time load function cards: Total NLDT sets of data. If NLDT 5 0, it is not needed. For each time function, the following data lines are required. Line 1:
Line 2: Line 3:
Line 4:
NLP: Load function control 5 0 Sinusoidal function .0 Discrete time function, NLP equals the data number SFTR: A coefficient factor Title of function: Total maximum 60 letters Sinusoidal function (only for NLP 5 0 case) in the form f ðtÞ 5 SFTR 3 SINð2π 3 FREQ 3 t 1 2π 3 PHASEÞ FREQ: Frequency (Hz) PHASE: Phase angle 5 phase degree/360 Discrete time function data (only for NLP . 0); total NLP sets data of time T and function value for the array (T(J), P(J), J 5 1, NLP), of which the ending time T(NLP) . TE, the ending time of solution
Nonlinear spring force data cards (only used when NLDU . 0): Total NLDU sets data into array AU(NLDU, 2) in the form ðAUðI; 1Þ; AUðI; 2Þ; I 5 1; NLDUÞ; AUðI; 1Þ 5 AI ; AUðI; 2Þ 5 BI : Nonlinear damping force data cards (only used when NLDV . 0): Total NLDV sets data into array AV(NLDV, 2) in the form ðAVðI; 1Þ; AVðI; 2Þ; I 5 1; NLDVÞ; AVðI; 1Þ 5 AI ; AVðI; 2Þ 5 BI : Original matrices data cards: 1.
Mass matrix RM(NWM) and its address array IM(NNN), NNN 5 NN 1 1, NWM 5 IM (NNN) 2 1 RM(NWM): One-dimensional stored mass matrix IM(NNN): The address of diagonal elements of mass matrix M in RM array
2.
Damping matrix RC(NWC) and its address array IC(NNN) (only used for NWC . 0 case) NNN 5 NN 1 1, NWC 5 IC(NNN) 2 1 RC(NWC): One-dimensional stored damping matrix IC(NNN): The address of diagonal elements of damping matrix C in RC array
620
Appendix: Numerical methods solving finite element dynamic equations
3.
Stiffness matrix RK(NWK) and its address array IK(NNN), NNN 5 NN 1 1, NWK 5 IK(NNN) 2 1 RK(NWK): One-dimensional stored stiffness matrix IK(NNN): The address of diagonal elements of stiffness matrix K in RK array
To illustrate this data structure, we give a symmetric matrix M and its corresponding arrays RM and IM as follows: 2 3 a e 0 0 6 b 0 07 7; RM 5 ða; b; c; d; e; f Þ; IM 5 ð1; 2; 4; 5; 7Þ; NNN 5 5: M56 4 d r5 e Here, for example, the third diagonal element d of M matrix locates at the fourth position in array RM, so that IM (3) 5 4. IM(5) 5 Length of RM 1 1 5 7. Initial conditions cards: U0(NN): Initial displacement vector, NN number of real numbers U1(NN): Initial velocity vector, NN umber of real numbers Load information data matrix NADF (NAD,4) and factor PFCTOR (NAD): Total NAD lines of which each line inputs the following five data elements: NADF(I,1): NADF(I,2):
NADF(I,3): NADF(I,4): PFCTOR(I):
Degree number at which Load I acts. This can be repeated to deal with the case if the same degree number is subject to different loads. Load I’s function ID number, which is in the order: NLDT time functions,NLDU nonlinear spring forces, NLDV nonlinear damping forces. Starting time number of load I, which is an integer of 1BNAT For the time function, set to 0; for nonlinear force function I at degree NADF(I,1), here input another end degree number. Load I’s coefficient factor
Elements change data of matrices RM, RC, RK: From the second time step to the NT step, calculated by NT 5 IDINT ((TE 2 TS)/DT) 2 1 NOUT 5 NT/NC 1 1 NT 5 (NOUT 2 1) 3 NC IF (IJK.EQ.5) NT 5 NT 1 1 to input the following data: JCM 5 1 input RM (NWM) JCC 5 1 input RC (NWC) JCK 5 1 input RK (NWK)
A.10
Input and output files for Examples 1 and 2 in Section A.7
As examples, we give the input and output files for Examples 1 and 2 discussed in Section A.7, which should help readers use the program manual for their problems of interest. The data files for Example 3 are quite a bit longer, so they are left out here.
Appendix: Numerical methods solving finite element dynamic equations
A.10.1
Example 1
INPUT.DAT Input file for using the Newmark method
621
622
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
623
624
Appendix: Numerical methods solving finite element dynamic equations
Appendix: Numerical methods solving finite element dynamic equations
625
626
Appendix: Numerical methods solving finite element dynamic equations