1 Introduction

Direct time integration algorithms are widely used in the computational analysis of structural dynamics and transient wave propagation problems. Generally, there are two basic categories of step-by-step integration methods. A time integration method is implicit if the solution procedure requires the factorization of an ‘effective stiffness’ matrix and is explicit otherwise (Dokainish and Subbaraj 1989; Subbaraj and Dokainish 1989). Both explicit and implicit methods have their own advantages and disadvantages.

Stability and accuracy are the most important characteristics of a time integration method. Depending on the stability characteristic, integration algorithms are classified as either unconditionally or conditionally stable, where unconditional stability implies that the numerical solution of a free vibration problem with any arbitrary initial conditions does not grow without bound for any integration time step size (Bathe 1996). In accuracy evaluation of the time integration methods, usually two quantities are determined: dispersion and dissipation. Dissipation (amplitude decay) and dispersion (period elongation) are two criteria used to evaluate the performance of an integration algorithm (Hilber and Hughes 1978).

Various different time integration algorithms have been proposed. The oldest and most powerful algorithms include the Newmark family of integration algorithms (Newmark 1959) and Wilson method (Wilson 1968; Wilson et al. 1972). Today, also new efficient methods have been developed. Recently, Bathe et al. proposed an efficient time integration method for solving the problems in structural dynamics and wave propagation. Desirable performance of the Bathe method was demonstrated in the series of research papers (Bathe 2007; Bathe and Noh 2012; Noh and Bathe 2013).

Application of cubic and quartic B-spline for the numerical solution of dynamic systems has been presented by Rostami and Shojaee in a series of papers (Rostami and Shojaee 2017, 2018; Rostami et al. 2012, 2013; Shojaee et al. 2011, 2015). Implementation of cubic B-spline for the numerical solution of SDOF dynamic systems was introduced in Shojaee et al. (2011). Then in another work (Rostami et al. 2013), the proposed method was generalized for MDOF systems. Implementation of quartic B-spline for the numerical solution of dynamic systems, for the first time, has been done by Rostami et al. (2012). The proposed method has appropriate convergence, accuracy and low time consumption. The only shortcoming of this method was its conditional stability. Recently, in a new study (Shojaee et al. 2015), the proposed method was regenerated and developed to an unconditionally stable state; hence, it was named modified quartic B-spline method. Accuracy and stability analysis was profoundly performed in that paper. Numerical evaluations showed that the proposed method maintains its stability even in the analysis of structures with high frequencies. But some examples, in spite of having stable responses, do not show high accuracy, especially in the acceleration response of the couple systems. The present paper introduces a new version of the previous work and resolves this defect by the use of collocation scheme. Furthermore, in the new formulation, we eliminate the term derivation of acceleration, while we had to calculate it in each time step in the previous procedure (i.e., Rostami et al. 2012).

After our works in this field, Wen et al. (2017) proposed an explicit method by utilizing quartic B-splines. The Wen’s proposed scheme possesses high calculation accuracy, but consumes more computation time compared to Bathe scheme. Malakiyeh et al. (2018) proposed an unconditionally stable method for linear analysis of structures based on Bezier curves and Bernstein polynomials. The important features of this method were low dissipation in the lower modes and high dissipation in the higher modes that leads to an increase in the accuracy of solutions.

2 Brief Review of the B-Splines

2.1 Definition of B-Splines

There are many definitions for B-splines. A detailed description of periodic B-spline functions can be found in Piegl and Tiller (2012) and Rogers (2001). For a simple definition, let \( \varOmega = \left\{ {x_{0} ,x_{1} ,x_{2} , \ldots ,x_{n} } \right\} \) be a partition of \( [a,b] \subset R \). For the ith B-spline function of degree d, the basis function \( B_{i,d} (x) \) is defined by the Cox–de Boor recursion formulas. Specifically

$$ B_{i,0} (x) = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {\quad x_{i} \le x \le x_{i + 1} } \hfill \\ {0,} \hfill & {\quad {\text{otherwise}}} \hfill \\ \end{array} } \right. $$
(1)

and

$$ B_{i,d} (x) = \left( {\frac{{x - x_{i} }}{{x_{d + i} - x_{i} }}} \right)B_{i,d - 1} (x) + \left( {\frac{{x_{d + i + 1} - x}}{{x_{d + i + 1} - x_{i + 1} }}} \right)B_{i + 1,d - 1} (x) $$
(2)

In this formula, \( B_{i,d} (x) \) is a polynomial of degree d on each interval \( x_{i} \le x \le x_{i + 1} \) as \( B_{i,d} (x) \) and its derivatives of order 1, 2, …, d − 1 are all continuous over the entire domain. The values of xi are elements of knot vector \( \varOmega \) that must be monotonically increasing series of real numbers, i.e., \( x_{i} \le x_{i + 1} \). In the recursive formula, \( 0/0 = 0 \) is adopted (De Boor et al. 1978).

Furthermore, in the periodic type, each basis function is a simple transfer of the other one and the range of nonzero function values (support) spreads when the degree increases. Thus, the basis function provides support on the interval \( x_{i} \le x \le x_{i + d + 1} \). Figure 1 shows the B-spline functions. As depicted in Fig. 1, for a quartic B-spline used in this study, the usable parameter range of \( B_{i,4} \) is \( x_{i} \le x \le x_{i + 5} \).

Fig. 1
figure 1

Quartic B-splines

The B-spline of degree d, \( B_{i,d} (x) \), where \( i \in {\mathbf{\mathbb{Z}}} \) possess the properties such as nonnegativity, i.e., \( B_{i,d} (x) \ge 0\,\forall \,x \in R \), and partition of unity, i.e., \( \sum {B_{i,d} (t) = 1} \,\forall \,[\bar{a}_{1} ,\bar{a}_{2} ] \in R \). However, for quartic periodic basis function we used in study, on each interval \( x_{j} \le x \le x_{k} \), the range in which partition of unity properties is satisfied is \( \bar{a}_{1} = x_{j + 4} \le x \le x_{k - 4} = \bar{a}_{2} \). This means that in Fig. 1, with six basis functions considered, the usable range is \( \bar{a}_{1} = x_{i - 1} \le x \le x_{i + 1} = \bar{a}_{2} \).

2.2 Quartic B-Spline Interpolation

In this study, the uniform quartic B-spline with equidistantly distributed set of nodes Ω over the domain \( [a,b] \), and the subinterval length is defined by \( h = x_{i + 1} - x_{i} \)\( (i = 0,1, \ldots ,n - 1) \). As discussed in Rostami et al. (2012), to construct the quartic B-splines, it is required to form the set of nodal points as \( x_{ - 4} < \cdots < x_{0} = a < \cdots < x_{n} = b < \cdots < x_{n + 4} \). For any node \( x_{j} \;(j = - \,4, - \,3, \ldots ,n + 4) \), we have \( x_{j} = x_{i} + (j - i)h \), and thus, \( B_{j,4} (x) \) is the shifted instance of \( B_{i,4} (x) \), i.e., \( B_{j,4} (x) = B_{i,4} (x - (j - i)h) \).

Here, we apply Eq. (2) to get \( B_{i,4} (x) \), \( (i = 0,1, \ldots ,n - 1) \) which are defined as

$$ B_{i,4} (x) = \frac{1}{{4!h^{4} }}\left\{ {\begin{array}{*{20}l} {(x - x_{i} )^{4} } \hfill & {\quad x_{i} \le x \le x_{i + 1} } \hfill \\ {(x - x_{i} )^{4} - 5(x - x_{i + 1} )^{4} } \hfill & {\quad x_{i + 1} \le x \le x_{i + 2} } \hfill \\ {(x - x_{i} )^{4} - 5(x - x_{i + 1} )^{4} + 10(x - x_{i + 2} )^{4} } \hfill & {\quad x_{i + 2} \le x \le x_{i + 3} } \hfill \\ {(x_{i + 5} - x)^{4} - 5(x_{i + 4} - x)^{4} } \hfill & {\quad x_{i + 3} \le x \le x_{i + 4} } \hfill \\ {(x_{i + 5} - x)^{4} } \hfill & {\quad x_{i + 4} \le x \le x_{i + 5} } \hfill \\ \end{array} } \right. $$
(3)

Indeed, for any subinterval \( I_{i} \equiv [x_{i} ,x_{i + 1} ] \), to satisfy partition of unity properties of the basis functions, the usable piecewise quartic B-splines, as shown in Fig. 1, are \( B_{i - 4,4} , \ldots ,B_{i,4} \).

As we use these basis functions in a time-dependent problem, here the knot vector \( \varOmega \) consists of time instants. Therefore, x in I represents t, i.e., time instants. Considering the fact that we will deal with them in the following section, it is necessary to have six basis functions in each time interval. Therefore, we consider each time interval \( I_{i} \equiv [t_{i} ,t_{i + 1} ] \) twofold of the usual range to satisfy this issue. So for any time subinterval \( I_{i} \), the usable pricewise quartic B-splines, as illustrated in Fig. 1, are \( B_{i - 5,4} ,B_{i - 3,4} , \ldots ,B_{i,4} \).

For ease, let \( \tau_{i} = (t - t_{i} )/\Delta t \) (i.e., \( t = t_{i} + \tau_{i} \Delta t \)), based upon the same assumption of Eq. (3), all usable uniform B-splines within any subinterval, \( I_{i} \)(\( \tau \in [t_{i} ,t_{i + 1} ] \), \( \tau_{i} \in [0,1] \)), as displayed in Fig. 2, can be rewritten as \( B_{ - 4,4} (\tau_{i} ),B_{ - 3,4} (\tau_{i} ), \ldots ,B_{1,4} (\tau_{i} ) \). Those B-splines are coupled with their derivatives with respect to variable t. Figures 3 and 4 show the quartic B-splines first and second derivatives, respectively. For \( 0 \le \tau \le 0.5 \), these B-splines coupled with their nth derivatives with respect to variable t can be given as

Fig. 2
figure 2

Quartic B-spline

Fig. 3
figure 3

First derivative of quartic B-spline

Fig. 4
figure 4

Second derivative of quartic B-spline

$$ B_{ - 4}^{(n)} (\tau_{i} ) = \frac{{( - \Delta t/2)^{ - n} }}{(4 - n)!}(1 - 2\tau_{i} )^{4 - n} $$
(4)
$$ B_{ - 3}^{(n)} (\tau_{i} ) = \frac{{( - \Delta t/2)^{ - n} }}{(4 - n)!}\left( {(1 - 2\tau_{i} )^{4 - n} - 5(1 - 2\tau_{i} )^{4 - n} } \right) $$
(5)
$$ B_{ - 2}^{(n)} (\tau_{i} ) = \frac{{( - \Delta t/2)^{ - n} }}{(4 - n)!}\left( {(3 - 2\tau_{i} )^{4 - n} - 5(2 - 2\tau_{i} )^{4 - n} + 10(1 - 2\tau_{i} )^{4 - n} } \right) $$
(6)
$$ B_{ - 1}^{(n)} (\tau_{i} ) = \frac{{(\Delta t/2)^{ - n} }}{(4 - n)!}\left( {(1 + 2\tau_{i} )^{4 - n} - 5(2\tau_{i} )^{4 - n} } \right) $$
(7)
$$ B_{0}^{(n)} (\tau_{i} ) = \frac{{(\Delta t/2)^{ - n} }}{(4 - n)!}(2\tau_{i} )^{4 - n} $$
(8)
$$ B_{1}^{(n)} (\tau_{i} ) = 0 $$
(9)

And for \( 0.5 \le \tau \le 1 \) can be given as

$$ B_{ - 4}^{(n)} (\tau_{i} ) = 0 $$
(10)
$$ B_{ - 3}^{(n)} (\tau_{i} ) = \frac{{( - \Delta t/2)^{ - n} }}{(4 - n)!}(2 - 2\tau_{i} )^{4 - n} $$
(11)
$$ B_{ - 2}^{(n)} (\tau_{i} ) = \frac{{( - \Delta t/2)^{ - n} }}{(4 - n)!}\left( {(3 - 2\tau_{i} )^{4 - n} - 5(2 - 2\tau_{i} )^{4 - n} } \right) $$
(12)
$$ B_{ - 1}^{(n)} (\tau_{i} ) = \frac{{( - \Delta t/2)^{ - n} }}{(4 - n)!}\left( {(4 - 2\tau_{i} )^{4 - n} - 5(3 - 2\tau_{i} )^{4 - n} + 10(2 - 2\tau_{i} )^{4 - n} } \right) $$
(13)
$$ B_{0}^{(n)} (\tau_{i} ) = \frac{{(\Delta t/2)^{ - n} }}{(4 - n)!}\left( {(2\tau_{i} )^{4 - n} - 5(2\tau_{i} - 1)^{4 - n} } \right) $$
(14)
$$ B_{1}^{(n)} (\tau_{i} ) = \frac{{(\Delta t/2)^{ - n} }}{(4 - n)!}(2\tau_{i} - 1)^{4 - n} $$
(15)

The quartic B-spline interpolation function for any interpolated interval \( I_{i} \) as shown in Fig. 2 is a linear combination of the quartic B-spline as follows:

$$ S_{i}^{(n)} (t) = \sum\limits_{j = - 4}^{1} {C_{i + j} } B_{i + j,4}^{(n)} (t) $$
(16)

where \( C_{i + j} \) (control points) are unknown real coefficients and \( B_{i,4}^{(n)} (t) \) is the nth derivative of fourth-degree (quartic) B-spline functions. This is three times differentiable and compatible. A detailed description of periodic B-spline can be found in Rogers (2001).

Having Eqs. (415) in hand, Eq. (16) can be extended to a matrix form as

$$ S_{i}^{(n)} (t) = \varvec{B}^{(n)} (\tau_{i} )\varvec{C}_{i} ,\quad t \in [t_{i} ,t_{i + 1} ]\;\tau_{i} \in [0,1] $$
(17)

where

$$ \varvec{B}^{(n)} (\tau_{i} ) = \left[ {B_{ - 4,4}^{(n)} (\tau_{i} )\quad B_{ - 3,4}^{(n)} (\tau_{i} )\quad \cdots \quad B_{1,4}^{(n)} (\tau_{i} )} \right] $$
(18)
$$ \varvec{C}_{i} = \left[ {C_{i - 4} \quad C_{i - 3} \quad \cdots \quad C_{i + 1} } \right]^{\text{T}} $$
(19)

In the next sections, the quartic B-spline is used to construct a numerical solution of a second-order initial value problem. Thus, the evaluation of \( B_{i,4}^{(n)} \) (\( i = - \,4, - \,3, \ldots ,1; \)\( n = 0,1,2 \)) at the discrete time instant \( t = t_{i} \) and \( t_{i + 1} \) (i.e., \( \tau_{i} = 0 \) and 1) is needed. These values are listed in Table 1.

Table 1 Values of \( B_{i,4} , \, B_{i,4}^{(1)} , \, B_{i,4}^{(2)} \)

3 Implementation of Quartic B-Spline on SDOF Systems

A linear differential equation of motion can be expressed as

$$ u^{(2)} (t) + 2\xi \omega \, u^{(1)} (t) + \omega^{2} u(t) = f(t)/m $$
(20)

where \( m \), \( \xi \) and \( \omega \) are the mass, damping ratio and natural frequency of the system. \( \ddot{u}(t) \), \( \dot{u}(t) \) and \( u(t) \) are the displacement, velocity and acceleration, respectively. This equation is subjected to the initial conditions: \( u(t_{0} ) = u_{0} \) and \( \dot{u}(t_{0} ) = v_{0} \). The applied force, \( f(t) \), is given by a set of discrete values \( f_{i} = f(t_{i} ) \).

According to Eq. (17), the approximate solution of Eq. (20), within any time interval \( \Delta t = t_{i + 1} - t_{i} \), can be expressed as

$$ u^{(n)} (t) = \varvec{B}^{(n)} (\tau_{i} )\varvec{C}_{i} ,\quad t \in \left[ {t_{i} ,t_{i + 1} } \right]\;\tau_{i} \in \left[ {0,1} \right] $$
(21)

According to Eq. (21), all discrete unknown physical variables \( u^{(n)} (t) \) can be degraded into the solving of \( \varvec{C}_{i} \). In fact, to determine Eq. (21), unknown coefficient vector \( \varvec{C}_{i} \) needs to be solved. To avoid direct solution of \( \varvec{C}_{i} \), numerical displacement, velocity and acceleration at start and end points of the time interval \( [t_{i} ,t_{i + 1} ] \) will be determined to represent \( \varvec{C}_{i} \). So, for \( n = 0, \, 1, \, 2 \), when substituting \( t = t_{i} \) (i.e., \( \tau_{i} = 0 \)) and \( t = t_{i + 1} \) (i.e., \( \tau_{i + 1} = 1 \)), we have

$$ \bar{u}_{i} = \varvec{JC}_{i} \quad {\text{or}}\quad \varvec{C}_{i} = \varvec{J}^{ - 1} \bar{u}_{i} $$
(22)

where

$$ \varvec{J} = \frac{1}{24}\left[ {\begin{array}{*{20}c} 1 & {11} & {11} & 1 & 0 & 0 \\ { - \,8} & { - \,24} & {24} & 8 & 0 & 0 \\ {48} & { - \,48} & { - \,48} & {48} & 0 & 0 \\ 0 & 0 & 1 & {11} & {11} & 1 \\ 0 & 0 & { - \,8} & { - \,24} & {24} & 8 \\ 0 & 0 & {48} & { - \,48} & { - \,48} & {48} \\ \end{array} } \right] $$
(23)
$$ \bar{u}_{i} = \left[ {\hat{u}_{i}^{\text{T}} \, \hat{u}_{i + 1}^{\text{T}} } \right]^{\text{T}} $$
(24a)
$$ \hat{u}_{i} = \left[ {u(t_{i} )\quad \Delta {\text{t}} .u^{(1)} (t_{i} )\quad \Delta {\text{t}}^{2} .u^{(2)} (t_{i} )} \right]^{\text{T}} $$
(24b)
$$ \hat{u}_{i + 1} = \left[ {u(t_{i + 1} )\quad \Delta {\text{t}} .u^{(1)} (t_{i + 1} )\quad \Delta {\text{t}}^{2} .u^{(2)} (t_{i + 1} )} \right]^{\text{T}} $$
(24c)

Substituting Eq. (22) into Eq. (21) yields:

$$ u^{(n)} (t) = \varvec{B}^{(n)} (\tau_{i} )\varvec{J}^{ - 1} \bar{u}_{i} ,\quad n = 0,1,2 $$
(25)

Substituting Eq. (25) into Eq. (20), the equation of motion evaluated at time \( t_{i} \) can be expressed as

$$ \left( {\varvec{B}^{(2)} (\tau_{i} ) + 2\xi \omega \varvec{B}^{(1)} (\tau_{i} ) + \omega^{2} \varvec{B}^{(0)} (\tau_{i} )} \right)\varvec{J}^{ - 1} \bar{u}_{i} = f(t_{i} + \tau_{i} \Delta t)/m;\quad t \in \left[ {t_{i} ,t_{i + 1} } \right]\;\tau_{i} \in \left[ {0,1} \right] $$
(26)

In the above equation, we let

$$ p(\tau_{i} ) = \left( {\varvec{B}^{(2)} (\tau_{i} ) + 2\xi \omega \varvec{B}^{(1)} (\tau_{i} ) + \omega^{2} \varvec{B}(\tau_{i} )} \right){\text{J}}^{ - 1} = \left[ {p_{1} (\tau_{i} )\quad p_{2} (\tau_{i} )\quad \cdots \quad p_{6} (\tau_{i} )} \right] $$
(27)

Inserting Eq. (27) in Eq. (26) and using Eqs. (24a, 24b, 24c) can extract the following residual equation:

$$ R(\tau_{i} ) = \left[ {p_{1} (\tau_{i} )\quad p_{2} (\tau_{i} )\quad p_{3} (\tau_{i} )} \right]\hat{u}_{i} + \left[ {p_{4} (\tau_{i} )\quad p_{5} (\tau_{i} )\quad p_{6} (\tau_{i} )} \right]\hat{u}_{i + 1} - f(t_{i} + \tau_{i} \Delta t)/m;\quad t \in \left[ {t_{i} ,t_{i + 1} } \right]\;\tau_{i} \in \left[ {0,1} \right] $$
(28)

Based on the collocation method, the residual Eq. (28) should satisfy \( R(\tau_{i} ) = 0 \) at \( \tau_{i} = 1 \) (i.e., \( t = t_{i + 1} \)), \( \tau_{i} = \alpha_{1} \) (i.e., \( t = t_{i} + \alpha_{1} \Delta t \)) and \( \tau_{i} = \alpha_{2} \) (i.e., \( t = t_{i} + \alpha_{2} \Delta t \)). So we have

$$ \left[ {p_{1} (1) \, p_{2} (1) \, p_{3} (1)} \right]\hat{u}_{i} + \left[ {p_{4} (1) \, p_{5} (1) \, p_{6} (1)} \right]\hat{u}_{i + 1} = f(t_{i} + \Delta t)/m $$
(29)
$$ \left[ {p_{1} (\alpha_{1} ) \, p_{2} (\alpha_{1} ) \, p_{3} (\alpha_{1} )} \right]\hat{u}_{i} + \left[ {p_{4} (\alpha_{1} ) \, p_{5} (\alpha_{1} ) \, p_{6} (\alpha_{1} )} \right]\hat{u}_{i + 1} = f(t_{i} + \alpha_{1} \Delta t)/m $$
(30)
$$ \left[ {p_{1} (\alpha_{2} ) \, p_{2} (\alpha_{2} ) \, p_{3} (\alpha_{2} )} \right]\hat{u}_{i} + \left[ {p_{4} (\alpha_{2} ) \, p_{5} (\alpha_{2} ) \, p_{6} (\alpha_{2} )} \right]\hat{u}_{i + 1} = f(t_{i} + \alpha_{2} \Delta t)/m $$
(31)

Equations (2931) can be written in a matrix form as

$$ \left[ {\begin{array}{*{20}l} {p_{1} (1)} \hfill & {p_{2} (1)} \hfill & {p_{3} (1)} \hfill \\ {p_{1} (\alpha_{1} )} \hfill & {p_{2} (\alpha_{1} )} \hfill & {p_{3} (\alpha_{1} )} \hfill \\ {p_{1} (\alpha_{2} )} \hfill & {p_{2} (\alpha_{2} )} \hfill & {p_{3} (\alpha_{2} )} \hfill \\ \end{array} } \right]\hat{u}_{i} + \left[ {\begin{array}{*{20}l} {p_{4} (1)} \hfill & {p_{5} (1)} \hfill & {p_{6} (1)} \hfill \\ {p_{4} (\alpha_{1} )} \hfill & {p_{5} (\alpha_{1} )} \hfill & {p_{6} (\alpha_{1} )} \hfill \\ {p_{4} (\alpha_{2} )} \hfill & {p_{5} (\alpha_{2} )} \hfill & {p_{6} (\alpha_{2} )} \hfill \\ \end{array} } \right]\hat{u}_{i + 1} = \frac{1}{m}\left[ {\begin{array}{*{20}c} {f(t_{i} + \Delta t)} \\ {f(t_{i} + \alpha_{1} \Delta t)} \\ {f(t_{i} + \alpha_{2} \Delta t)} \\ \end{array} } \right] $$
(32)

With matrix calculation, Eq. (32) will be transformed into a simple equation as

$$ \hat{u}_{i + 1} = A\hat{u}_{i} + \hat{f}_{i} $$
(33)

where

$$ A = - \left[ {\begin{array}{*{20}c} {p_{4} (1)} & {p_{5} (1)} & {p_{6} (1)} \\ {p_{4} (\alpha_{1} )} & {p_{5} (\alpha_{1} )} & {p_{6} (\alpha_{1} )} \\ {p_{4} (\alpha_{2} )} & {p_{5} (\alpha_{2} )} & {p_{6} (\alpha_{2} )} \\ \end{array} } \right]^{ - 1} \cdot \left[ {\begin{array}{*{20}c} {p_{1} (1)} & {p_{2} (1)} & {p_{3} (1)} \\ {p_{1} (\alpha_{1} )} & {p_{2} (\alpha_{1} )} & {p_{3} (\alpha_{1} )} \\ {p_{1} (\alpha_{2} )} & {p_{2} (\alpha_{2} )} & {p_{3} (\alpha_{2} )} \\ \end{array} } \right] $$
(34)
$$ \hat{f}_{i} = \left[ {\begin{array}{*{20}c} {p_{4} (1)} & {p_{5} (1)} & {p_{6} (1)} \\ {p_{4} (\alpha_{1} )} & {p_{5} (\alpha_{1} )} & {p_{6} (\alpha_{1} )} \\ {p_{4} (\alpha_{2} )} & {p_{5} (\alpha_{2} )} & {p_{6} (\alpha_{2} )} \\ \end{array} } \right]^{ - 1} \cdot \frac{1}{m}\left[ {\begin{array}{*{20}c} {f(t_{i} + \Delta t)} \\ {f(t_{i} + \alpha_{1} \Delta t)} \\ {f(t_{i} + \alpha_{2} \Delta t)} \\ \end{array} } \right] $$
(35)

In the above equation, the collocation parameters \( \alpha_{1} \) and \( \alpha_{2} \) have an important role in the stability and accuracy of the proposed method. In order that these matrices be invertible, \( \alpha_{1} \) and \( \alpha_{2} \) must satisfy the conditions \( 0 < \alpha_{1} ,\alpha_{1} < 1 \) and \( \alpha_{1} \ne \alpha_{2} \).

4 Implementation of Quartic B-Spline on MDOF Systems

The equilibrium equations governing the linear dynamic response of a system with multi-degrees of freedom are written as

$$ \varvec{MU}^{(2)} (t) + \varvec{DU}^{(1)} (t) + \varvec{KU}(t) = \varvec{F}(t) $$
(36)

where M, D and K are the mass, damping and stiffness matrices, respectively. F is the vector of externally applied loads. \( \varvec{U} \), \( \varvec{U}^{(1)} \) and \( \varvec{U}^{(2)} \) are the displacement, velocity and acceleration vectors of the discrete nodes on the structure. The initial conditions at \( t = 0 \) are \( \varvec{U}(t_{0} ) = \varvec{U}_{0} , \)\( \varvec{U}^{(1)} (t_{0} ) = \dot{\varvec{U}}_{0} \) and \( \varvec{U}^{(2)} (t_{0} ) = \ddot{\varvec{{U}}}_{0} \). So we have

$$ \varvec{U}^{(n)} (t) = \left[ {u_{1}^{(n)} (t)\quad u_{2}^{(n)} (t)\quad \cdots \quad u_{k}^{(n)} (t)\quad \cdots \quad u_{N}^{(n)} (t)} \right]^{T} ,\quad n = 0,1,2 $$
(37)

As it was discussed in the previous section for SDOF systems, here Eq. (21) can be employed to represent the approximate solution of Eq. (36). Hence, we have

$$ u^{(n)} (t) = \varvec{B}^{(n)} (\tau_{i} )\varvec{C}_{i,k} $$
(38)
$$ \varvec{U}^{(n)} (t) = \hat{\varvec{B}}^{(n)} (\tau_{i} )\hat{\varvec{C}}_{i} $$
(39)

where

$$ \hat{\varvec{B}}^{(n)} (\tau_{i} ) = \left[ {\begin{array}{*{20}c} {\varvec{B}^{(n)} (\tau_{i} )} & {} & {} \\ {} & \ddots & {} \\ {} & {} & {\varvec{B}^{(n)} (\tau_{i} )} \\ \end{array} } \right]_{N \times 6N} $$
(40)
$$ \hat{\varvec{C}}_{i} = \left[ {\varvec{C}_{i,1}^{\text{T}} \quad \varvec{C}_{i,2}^{\text{T}} \quad \cdots \quad \varvec{C}_{i,N}^{\text{T}} } \right]_{1 \times 6N}^{\text{T}} $$
(41)

Just here the unknown real coefficient \( \varvec{C}_{i,k} \)s has an extra index \( k \) that introduces each degree of freedom, so that \( k = 1,2,3, \ldots ,N \), where \( N \) is the number of all degrees of freedom. So \( \varvec{C}_{i,k} \) is the unknown coefficients vector of size \( 6 \times 1 \), and \( \hat{\varvec{B}}^{(n)} (\tau_{i} ) \) are block diagonal matrices with element \( \varvec{B}^{(n)} (\tau_{i} ) \). Similar work was done in the previous section, by setting \( t = t_{i} \) (i.e., \( \tau_{i} = 0 \)) and \( t = t_{i + 1} \) (i.e., \( \tau_{i + 1} = 1 \)) in Eq. (39), we obtain

$$ \bar{\varvec{U}}_{i} = {\bar{\varvec{{J}}}\hat{C}}_{i} \quad \text{or}\quad \hat{\varvec{C}}_{i} = \bar{\varvec{J}}^{ - 1} \bar{\varvec{U}}_{i} $$
(42)

where

$$ \bar{\varvec{U}}_{i} = \left[ {\hat{\varvec{U}}_{i}^{\text{T}} \quad \hat{\varvec{U}}_{i + 1}^{\text{T}} } \right]^{\text{T}} $$
(43a)
$$ \hat{\varvec{U}}_{i} = \left[ {\varvec{U}(t_{i} )\quad \Delta t\varvec{U}^{(1)} (t_{i} )\quad \Delta t^{2} \varvec{U}^{(2)} (t_{i} )} \right]^{\text{T}} $$
(43b)
$$ \hat{\varvec{U}}_{i + 1} = \left[ {\varvec{U}(t_{i + 1} )\quad \Delta t\varvec{U}^{(1)} (t_{i + 1} )\quad \Delta t^{2} \varvec{U}^{(2)} (t_{i + 1} )} \right]^{\text{T}} $$
(43c)
$$ \bar{\varvec{J}}(\tau_{i} ) = \left[ {\begin{array}{*{20}c} {\left( {\begin{array}{*{20}c} {\hat{\varvec{B}}(0)} \\ {\Delta t.\hat{\varvec{B}}^{(1)} (0)} \\ {\Delta t^{2} .\hat{\varvec{B}}^{(2)} (0)} \\ \end{array} } \right)} \\ {\left( {\begin{array}{*{20}c} {\hat{\varvec{B}}(1)} \\ {\Delta t.\hat{\varvec{B}}^{(1)} (1)} \\ {\Delta t^{2} .\hat{\varvec{B}}^{(2)} (1)} \\ \end{array} } \right)} \\ \end{array} } \right]_{6N \times 6N} $$
(44)

In fact, \( \bar{\varvec{J}} \) is a sparse and block matrix. It can be proved that, by the use of \( \varvec{J} \) in Eq. (23), the calculation of \( \bar{\varvec{J}} \) can be simplified as

$$ \varvec{J}^{ - 1} = \left[ {J_{1} \quad J_{2} \quad J_{3} \quad J_{4} \quad J_{5} \quad J_{6} } \right] $$
(45)

where \( J_{i} \)’s (\( j = 1,2, \ldots ,6 \)), are \( 1 \times 6 \) column vectors of \( \varvec{J}^{ - 1} \). So

$$ \bar{\varvec{J}}^{ - 1} = \left[ {\begin{array}{*{20}c} {J_{1} } & {} & {} & {} & {J_{2} } & {} & \cdots & {} & {J_{6} } & {} & {} & {} \\ {} & {J_{1} } & {} & {} & {} & {J_{2} } & {} & \cdots & {} & {J_{6} } & {} & {} \\ {} & {} & \ddots & {} & {} & {} & \ddots & {} & \cdots & {} & \ddots & {} \\ {} & {} & {} & {J_{1} } & {} & {} & {} & {J_{2} } & {} & \cdots & {} & {J_{6} } \\ \end{array} } \right]_{6N \times 6N} $$
(46)

Inserting Eq. (41) into Eq. (39), we will have

$$ \varvec{U}^{(n)} (t) = \hat{\varvec{B}}^{(n)} (\tau_{i} )\bar{\varvec{J}}^{ - 1} \bar{\varvec{U}}_{i} $$
(47)

Substituting Eq. (47) into equilibrium equations, i.e., Eq. (36), gives the following residual equation:

$$ \varvec{R}(\tau_{i} ) = \left( {\varvec{M}\hat{B}}^{(2)} (\tau_{i} ) + {\varvec{D}\hat{B}}^{(1)} (\tau_{i} ) + {\varvec{K}\hat{B}}(\tau_{i} ) \right)\bar{\varvec{J}}^{ - 1} \bar{\varvec{U}}_{i} - {\varvec{F}}(t) $$
(48)

By setting

$$ \left( {\varvec{M}\hat{B}}^{(2)} (\tau_{i} ) + {\varvec{D}\hat{B}}^{(1)} (\tau_{i} ) + {\varvec{K}\hat{B}}(\tau_{i} ) \right)\bar{\varvec{J}}^{ - 1} = \left[ {\varvec{p}_{1} (\tau_{i} )\quad {\varvec{p}}_{2} (\tau_{i} )\quad \cdots \quad \, {\varvec{p}}_{6} (\tau_{i} )} \right] $$
(49)

\( \varvec{p}_{k} (\tau_{i} ) \)\( (k = 1,2, \ldots ,6) \) are all symmetric matrices of size \( N \times N \). Equation (48) can be written as

$$ \varvec{R}(\tau_{i} ) = \left[ {\varvec{p}_{1} (\tau_{i} )\quad \varvec{p}_{2} (\tau_{i} )\quad \varvec{p}_{6} (\tau_{i} )} \right]\hat{\varvec{U}}_{i} + \left[ {\varvec{p}_{1} (\tau_{i} )\quad \varvec{p}_{2} (\tau_{i} )\quad \varvec{p}_{6} (\tau_{i} )} \right]\hat{\varvec{U}}_{i + 1} - \varvec{F}(t) $$
(50)

As discussed and illustrated in the previous section, after acting the collocation method on Eq. (48), it is possible to extract the recurrence formula as

$$ \hat{\varvec{U}}_{i + 1} = - \varvec{A}_{1}^{ - 1} \varvec{A}_{2} \hat{\varvec{U}}_{i} + \varvec{A}_{1}^{ - 1} \hat{f}_{i} = \varvec{A\hat{U}}_{i} + \hat{\varvec{F}}_{i} $$
(51)

where

$$ \varvec{A}_{1} = \left[ {\begin{array}{*{20}c} {\varvec{p}_{4} (1)} & {\varvec{p}_{5} (1)} & {\varvec{p}_{6} (1)} \\ {\varvec{p}_{4} (\alpha_{1} )} & {\varvec{p}_{5} (\alpha_{1} )} & {\varvec{p}_{6} (\alpha_{1} )} \\ {\varvec{p}_{4} (\alpha_{2} )} & {\varvec{p}_{5} (\alpha_{2} )} & {\varvec{p}_{6} (\alpha_{2} )} \\ \end{array} } \right],\quad \varvec{A}_{2} = \left[ {\begin{array}{*{20}c} {\varvec{p}_{1} (1)} & {\varvec{p}_{2} (1)} & {\varvec{p}_{3} (1)} \\ {\varvec{p}_{1} (\alpha_{1} )} & {\varvec{p}_{2} (\alpha_{1} )} & {\varvec{p}_{3} (\alpha_{1} )} \\ {\varvec{p}_{1} (\alpha_{2} )} & {\varvec{p}_{2} (\alpha_{2} )} & {\varvec{p}_{3} (\alpha_{2} )} \\ \end{array} } \right] $$
(52)
$$ \hat{\varvec{f}}_{i} = \left[ {\begin{array}{*{20}c} {\varvec{F}(t_{i} + \Delta t)} \\ {\varvec{F}(t_{i} + \alpha_{1} \Delta t)} \\ {\varvec{F}(t_{i} + \alpha_{2} \Delta t)} \\ \end{array} } \right] $$
(53)

Although in linear problems the inversion of \( A_{1} \) is done only once and can be efficiently solved by using some general mathematical software, for a system with large degrees of freedom direct inversion of \( A_{1} \) is not desirable. To solve this shortcoming, a technique which has been proposed in Wen et al. (2015) is used here to pass the direct inversion of matrix \( A_{1} \). At first, a well-known theorem and corollary is introduced (Lu and Shiou 2002).

Theorem

Let a non-singular square matrix\( \tilde{Q} \)be partitioned into 2 × 2 blocks as

$$ \tilde{Q} = \left[ {\begin{array}{*{20}c} {Q_{1} } & {Q_{2} } \\ {Q_{3} } & {Q_{4} } \\ \end{array} } \right] $$
(54)

Consider Q4non-singular; then, the matrix\( \tilde{Q} \)is invertible if and only if the Schur complement\( Q_{1} - Q_{2} Q_{4}^{ - 1} Q_{3} \)is invertible; meanwhile, we have

$$ \tilde{Q}^{ - 1} = \left[ {\begin{array}{*{20}c} {Q_{5}^{ - 1} } & { - \,Q_{5}^{ - 1} Q_{2} Q_{4}^{ - 1} } \\ { - \,Q_{4}^{ - 1} Q_{3} Q_{5}^{ - 1} } & {Q_{4}^{ - 1} + Q_{4}^{ - 1} Q_{3} Q_{5}^{ - 1} Q_{2} Q_{4}^{ - 1} } \\ \end{array} } \right] $$
(55)
$$ Q_{5} = Q_{1} - Q_{2} Q_{4}^{ - 1} Q_{3} $$
(56)

Corollary

Consider Q4non-singular; then, Q5is invertible if matrix\( \tilde{Q} \)is invertible.

With the above theorem and corollary, the invertible matrix A1 can be expressed as

$$ A_{1} = \left[ {\begin{array}{*{20}c} {S_{1} } & {S_{2} } \\ {S_{3} } & {S_{4} } \\ \end{array} } \right];\quad S_{4} = \left[ {\begin{array}{*{20}c} {\varvec{p}_{5} (\alpha_{1} )} & {\varvec{p}_{6} (\alpha_{1} )} \\ {\varvec{p}_{5} (\alpha_{2} )} & {\varvec{p}_{6} (\alpha_{2} )} \\ \end{array} } \right] $$
(57)

According to the form considered for S4 as defined in Eq. (57),

$$ S_{1} = \varvec{p}_{4} (1);\quad S_{2} = \left[ {\varvec{p}_{5} (1)\quad \varvec{p}_{6} (1)} \right];\quad S_{3} = \left[ {\begin{array}{*{20}c} {\varvec{p}_{4} (\alpha_{1} )} \\ {\varvec{p}_{4} (\alpha_{2} )} \\ \end{array} } \right] $$
(58)

Then we have

$$ \varvec{A}_{1}^{ - 1} = \left[ {\begin{array}{*{20}c} {S_{5}^{ - 1} } & { - \,S_{5}^{ - 1} S_{2} S_{4}^{ - 1} } \\ { - \,S_{4}^{ - 1} S_{3} S_{5}^{ - 1} } & {S_{4}^{ - 1} + S_{4}^{ - 1} S_{3} S_{5}^{ - 1} S_{2} S_{4}^{ - 1} } \\ \end{array} } \right] $$
(59)
$$ S_{5} = S_{1} - S_{2} S_{4}^{ - 1} S_{3} $$
(60)

\( S_{4}^{ - 1} \) can be directly solved by using Eq. (55). Thus, the solving of \( A_{1}^{ - 1} \) can be degraded into the inversion of three \( N \times N \) matrices. The proposed matrix inverse scheme is more efficient than conventional Gauss algorithm where more time is needed for inversion of asymmetric matrices.

In order to write a computer code, the complete algorithm used in this proposed method is given in Table 2.

Table 2 Step-by-step algorithm for calculation of response of MDOF systems using the proposed method

5 Stability and Accuracy Analysis of the Proposed Method

In a time integration procedure such as the proposed method, independent parameters such as \( \alpha_{1} \) and \( \alpha_{2} \) not only control the stability, but also determine the accuracy. By investigating the properties of a numerical method such as stability and accuracy, the most favorable values of these parameters can be obtained so that high accuracy is achieved, while unconditional stability is maintained.

5.1 Stability Analysis

In general, any global equation of motion can be degraded into a set of uncoupled SDOF systems by the use of the modal decomposition. Meanwhile, the integration of the uncoupled equations is equivalent to the integration of the original system. Therefore, to study the stability properties of the proposed method, it suffices to only consider the SDOF system (Bathe 1996).

Stability analysis of an integration algorithm applied to linear elastic systems is generally carried out by the amplification matrix approach. An amplification matrix is formed for an integration algorithm, and the algorithm is considered to be unconditionally stable if the spectral radius of the amplification matrix does not exceed the value of 1.0 for any value of \( \omega_{n} \Delta t \), where \( \omega_{n} \) is the highest natural frequency of the structure and \( \Delta t \) is the time step size used in the integration algorithm (Bathe 1996). Otherwise, the integration algorithm is considered to be conditionally stable. To this end, the equations of the proposed algorithms for a SDOF system under free vibration as elucidated in Eq. (33) can be represented by the following matrix recursive relationship:

$$ \left\{ {\begin{array}{*{20}c} {u(t_{i + 1} )} \\ {\Delta t.u^{(1)} (t_{i + 1} )} \\ {\Delta t^{2} .u^{(2)} (t_{i + 1} )} \\ \end{array} } \right\} = \left[ A \right]\left\{ {\begin{array}{*{20}c} {u(t_{i} )} \\ {\Delta t.u^{(1)} (t_{i} )} \\ {\Delta t^{2} .u^{(2)} (t_{i} )} \\ \end{array} } \right\} + \hat{f}_{i} $$
(61)

where A is the amplification matrix which transfers the state at the time instant ti to the state at the time instant ti+1. Because A contains too many terms, the complete expression of A is not presented here. Actually, we can easily derive the expression of A by virtue of some general mathematical software.

It can be shown mathematically that the response produced by the recursive relation in Eq. (33) for any arbitrary initial conditions and \( \Delta t \) will be bounded if the magnitudes of all eigenvalues of the amplification matrix in A are less than or equal to unity. In other words, the numerical scheme is stable if the spectral radius of A, \( \rho (A) = { \hbox{max} }(\lambda^{i} ) \) where \( \lambda^{i} \) are the eigenvalues, is strictly less than unity. \( \rho (A) \) is the spectral radius which is a function of time step length, \( \Delta t \).

Since the changes in damping ratio do not have much impact on the variation in spectral radius, here, assume \( \xi = 0 \) in amplification matrix. So at this moment, \( \rho (A) \) is a function in terms of parameter \( \alpha_{1} \), \( \alpha_{2} \) and \( \omega \Delta t \). To determine the stability of the proposed method, the effects of parameters \( \alpha_{1} \) and \( \alpha_{2} \) on the spectral radius \( \rho (A) \) need to be investigated.

Here the stability analysis is conducted through numerical experimentation, and some representative parameter combinations are discussed. Figures 5 and 6 depict the variation in spectral radius \( \rho (A) \) of amplification matrix of the proposed method in terms of variation in dimensionless time step \( \Delta t/T \) for different values of \( \alpha_{1} \), \( \alpha_{2} \). As it is depicted in Figs. 5 and 6, for \( \Delta t < 0.2T \), the proposed method is always stable. So the spectral radius curves remain 1.0 for different parameter combinations. Figures 5 and 6 demonstrate that the increase in \( \alpha_{1} \), \( \alpha_{2} \) converts conditional stability to unconditionally stable case.

Fig. 5
figure 5

Variation in spectral radius in terms of variation in \( \Delta t/T \) (conditionally stable when \( \Delta t/T \to \infty \))

Fig. 6
figure 6

Variation in spectral radius in terms of variation in \( \Delta t/T \) (unconditionally stable when \( \Delta t/T \to \infty \))

Figure 5 and 6 show that there is an instability gap in the curves. As it is depicted in Fig. 6, range of \( 0.24T < \Delta t < 0.5T \) is almost an instability interval. These figures show increasing the values of \( \alpha_{1} \) and \( \alpha_{2} \), and decrease the value of spectral radius \( \rho (A) \) in the limit \( \Delta t/T \to \infty \). Notably, the minimum points of these curves move downward and rightward as two algorithmic parameters increase, and the abrupt turning points in the figure indicate that the eigenvalues of amplification matrix A alter between real values and complex conjugate values. However, these small turnings have no substantial influence on algorithmic stability and high-frequency dissipation characteristics.

5.2 Accuracy Analysis

In order to show the accuracy of the proposed method, we need to evaluate the dissipation and dispersion error of the new scheme. So, we should evaluate the amplitude decay (AD) and period elongation (PE) for a periodical dynamic problem. As measures of the numerical dissipation and dispersion, we consider the algorithmic damping ratio\( \bar{\xi } \) and relative period error\( \tau = (\bar{T} - T)/T \), respectively. Note that both \( \bar{\xi } \) and \( \bar{T} \) are defined in terms of the principal roots of characteristic equation derived from \( \left| {A - \lambda I} \right| = 0 \). Thus, these measures of accuracy are defined only about values \( \varOmega \) so that stability region is \( 0 < \varOmega \le \varOmega_{{\text{crit}}} \). Outside this region accuracy is not an issue and we are concerned only about stability. \( T = 2\pi /\omega \) and \( \bar{T} = 2\pi /\bar{\omega } \) are convenient measures of frequency distortion (dispersion) numerically introduced by the algorithm.

Figures 7 and 8 plot the curves of the relative error of period and the error related to the numerical damping or, in other words, the rate of amplitude decay versus the ratio of dimensionless time step \( \Delta t/T \) for different values of \( \alpha \)s, respectively. The curves in Fig. 8 show that algorithmic damping of the proposed method for \( \Delta t = 0.33T \) has a peak value. Therefore, after that, the error decreases again. Also, in Fig. 9, after \( \Delta t = 0.24T \) suddenly a large error accrues. It happened because of local instability between \( \Delta t = 0.24T \) and \( \Delta t = 0.5T \). In this figure, for better comparison, a negative factor is multiplied in \( \tau \)’s.

Fig. 7
figure 7

Curves of relative period error versus the \( \Delta t/T \) for different values of \( \alpha \)

Fig. 8
figure 8

Curves of algorithmic damping versus the \( \Delta t/T \) for different values of \( \alpha \)

Fig. 9
figure 9

Relative period error (dispersion)

Figures 9 and 10 show relative period error (dispersion) and algorithmic damping (dissipation) of the method compared to Newmark, Wilson and Bathe methods. In this figure, ‘Alpha QB-Spline’ is the abbreviation standing for Alpha Quartic B-spline, i.e., proposed method. The parameters \( \alpha_{1} \) and \( \alpha_{2} \) of the proposed method have been considered in the minimum and maximum range of the previous investigation for stability and accuracy.

Fig. 10
figure 10

Algorithmic damping (dissipation)

In general, the data in Figs. 9 and 10 show that for the integration methods, the magnitude of one or both error measurements usually increases with the time step \( \Delta t \). Meanwhile, for the specified time step, the magnitude of both error measurements is greater for short-period SDOF systems than for long-period systems. As the graphs show, for this range of \( \Delta t/T \), the proposed method, i.e., MQB-spline, shows a low rate of errors for both types of errors. The magnitude of error for one or both kinds of errors for the proposed method is less than Bathe, Wilson and many cases of Newmark methods.

6 Numerical Evaluation

In this section, the validity of the proposed method is confirmed with the examination of several results. Four numerical examples are considered. The Bathe, Newmark and Wilson methods are employed for numerical simulation.

6.1 A SDOF System

A SDOF system used for numerical simulation is defined by the following equation:

$$ u^{(2)} (t) + 1.2u^{(1)} (t) + 16\pi^{2} u(t) = \sin 3t,\quad u(0) = 0,\quad u^{(1)} (0) = 0 $$
(62)

There is an exact solution for this equation (Paz 2012). To evaluate the accuracy of the proposed method, the relative error of various methods is compared to exact solution. The time increments \( \Delta t \) used in this numerical study have been chosen as 0.1, 0.25 and 0.5 s in order to examine the effect of time step variations on the accuracy of the proposed method. Relative errors are defined by

$$ e_{i} = \left| {\frac{{u_{{\text{exact}}}^{(i)} - u_{{\text{num}}}^{(i)} }}{{u_{{\text{exact}}}^{(i)} }}} \right|100\% \quad (i = 0,1,2) $$
(63)

in which \( u_{{\text{exact}}}^{(i)} \) and \( u_{{\text{num}}}^{(i)} \) are the exact solution and the numerical result at any time instant, respectively. In solving this equation, the parameters \( \alpha_{1} \) and \( \alpha_{2} \) of the proposed method have been considered in two cases, i.e., \( \left( {\alpha_{1} = 0.6, \, \alpha_{2} = 0.75} \right) \) and \( \left( {\alpha_{1} = 0.9, \, \alpha_{2} = 0.95} \right) \).

For this example, an accuracy analysis has been performed for 8, 20 and 40 s for time step equal to 0.1, 0.25 and 0.5 s, respectively. Figures 11, 12, 13, 14, 15, 16, 17, 18 and 19 show relative errors of displacement, velocity and acceleration for analysis with any time step. Of course, to present the figures much better, some results have been removed from them. The total average errors of this example (for all 80 time points) are also given in Table 3. The amount of this error is calculated by dividing the sum of errors which occur at each time instant by the number of all instants. It is clear from the table that for this example the proposed method gives a higher accuracy compared to the trapezoidal method.

Fig. 11
figure 11

Displacement relative error for various methods (\( \Delta t = 0.1 \))

Fig. 12
figure 12

Velocity relative error for various methods (\( \Delta t = 0.1 \))

Fig. 13
figure 13

Acceleration relative error for various methods (\( \Delta t = 0.1 \))

Fig. 14
figure 14

Displacement relative error for various methods (\( \Delta t = 0.25 \))

Fig. 15
figure 15

Velocity relative error for various methods (\( \Delta t = 0.25 \))

Fig. 16
figure 16

Acceleration relative error for various methods (\( \Delta t = 0.25 \))

Fig. 17
figure 17

Displacement relative error for various methods (\( \Delta t = 0.5 \))

Fig. 18
figure 18

Velocity relative error for various methods (\( \Delta t = 0.5 \))

Fig. 19
figure 19

Velocity relative error for various methods (\( \Delta t = 0.5 \))

Table 3 Error estimation analysis, for example 6.1

6.2 Three-Degree-of-Freedom Spring System

The objective of this section is to present the solution for a simple linear system that has been evaluated by Bathe and Noh (2012). The calculated solution shows the value of the method. The solution of the three-degree-of-freedom spring system is considered and shown in Fig. 20, for which node 1 is subjected to the prescribed displacement over time. The governing equation can be rewritten to solve only the unknown displacements u2 and u3. For this system, \( k_{1} = 10^{7} \), \( k_{2} = 1 \), \( m_{1} = 0 \), \( m_{2} = 1 \), \( m_{3} = 1 \) are considered and the displacement is prescribed at node 1 to be \( u_{1} = \sin \omega_{p} t \) with \( \omega_{p} = 1.2 \).

Fig. 20
figure 20

Model problem of three-degree-of freedom spring system

The important point to note is that this simple problem as a ‘model problem’ represents the stiff and flexible parts of a much more complex structural system. In a mode superposition solution, the response within these stiff parts (a response that corresponds to very high artificial frequencies) would naturally not be included. In fact, the system shown in Fig. 20 is used as a ‘model system’ of such complex structural systems of many thousands of degrees of freedom and studying the behavior of the numerical solution when obtained by the direct integration method is desired. In this example, the spring system is considered using zero initial conditions for the displacements and velocities at nodes 2 and 3 (as must typically be done in a complex many degrees of freedom structural analysis) and is solved for the response over 10 s. Time-stepping algorithm for the solution of this system is used. The time step used is \( \Delta t = 0.2618 \); hence, \( \Delta t/T_{1} = 0.0417 \) and \( \Delta t/T_{2} = 131.76 \), where \( T_{1} = 6.283 \), \( T_{2} = 0.002 \) are the natural periods of the system with two degrees of freedom.

Figures 21, 22, 23, 24, 25 and 26 show the calculated solutions of node 2. Because for solutions of node 3, the responses of all numerical methods are too close; here, only node 2 is investigated. These figures also give the response obtained in a mode superposition solution, referred to as ‘reference solution’ using only the lowest frequency mode plus the static correction (Bathe and Noh 2012). For this example, only the case \( \left( {\alpha_{1} = 0.9, \, \alpha_{2} = 0.95} \right) \) has been selected because for \( \left( {\alpha_{1} = 0.6, \, \alpha_{2} = 0.75} \right) \) the solution is unstable.

Fig. 21
figure 21

Displacement of node 2 for different methods

Fig. 22
figure 22

Velocity of node 2 for different methods

Fig. 23
figure 23

Velocity of node 2 for different methods

Fig. 24
figure 24

Acceleration of node 2 for different methods

Fig. 25
figure 25

Acceleration of node 2 for different methods

Fig. 26
figure 26

Acceleration of node 2 for different methods

The figures show that in all time-stepping schemes, the proposed and the Bathe methods perform very well; particularly, the velocity and acceleration at node 2 are very well predicted. But it should be noted that the Bathe method is a two-step method where for each time step, trapezoidal rule is used in the first half step and three-point backward difference method is used in the second half step (see Bathe 2007; Bathe and Noh 2012). However, all other methods under study in this paper are one step. In fact, the trapezoidal rule displays large errors and instability in the calculation of the acceleration at node 2; see Fig. 24. Some methods were omitted in Figs. 25 and 26 in order to make the comparison easier. In Fig. 26, the first step error in the proposed method is less than that in the Bathe method. Solving this example with the proposed method, unlike the basic method which was the subject of Rostami et al. (2012) and Shojaee et al. (2015), shows that the modified quartic B-spline method always maintains its stability and shows high accuracy.

6.3 A Nine-Story Shear Building Under Harmonic Ground Acceleration

Figure 27 shows a nine-story shear building subjected to sinusoidal base acceleration with frequency of \( 4\pi \) rad/s and PGA = 0.3 g (Rostami et al. 2012). The columns are I-shaped with sections of IPB240, IPB270 and IPB300 used in first to third three stories, respectively. The least period of this system is equal to 0.41 s. In this example, the damping effects are negligible and \( \Delta t = 0.1 \) s has been selected as the time increment.

Fig. 27
figure 27

Nine-story shear building subjected to harmonic ground acceleration

This example has been also analyzed by the other methods which were used in the previous example. Displacement–time, velocity–time and acceleration–time histories of stories two and nine have been plotted in time interval between 0 and 6 s in Figs. 28, 29, 30, 31, 32 and 33. In these graphs, the reference method is the same as mode superposition method in which the separated equations are being solved through the exact solution (response of SDOF systems to harmonic loads), while in the modal, these equations are being solved through the numerical solution of Duhamel integration method. The graph shows that the result of the proposed method is closer to the exact solution than the other methods.

Fig. 28
figure 28

Displacement–time history of story 1 in frame shown in Fig. 27

Fig. 29
figure 29

Displacement–time history of story 9 in frame shown in Fig. 27

Fig. 30
figure 30

Velocity–time history of story 1 in frame shown in Fig. 27

Fig. 31
figure 31

Velocity–time history of story 9 in frame shown in Fig. 27

Fig. 32
figure 32

Acceleration–time history of story 1 in frame shown in Fig. 27

Fig. 33
figure 33

Acceleration–time history of story 9 in frame shown in Fig. 27

6.4 Double-Layer Spatial Structure Under Step Loading

The configuration and dimensions of a structure shown in Fig. 34 are a 3-D view of a space truss retrieved from Rostami et al. (2012). The model is a double-layer spatial structure with four supports in the edges of the bottom layer. The total lengths of the lower layer and upper layer are 1200 and 1500 cm in both directions, respectively. The height of the structure is 106 cm. This truss is composed of 200 members and 61 nodes. The module of elasticity, cross-sectional area and mass per length for all members are the same as what is shown in the figure. This structure is under four 3 ton concentrated impact loads, which suddenly strike on the nodes in the corners of central panel of the upper layer. In the analysis, the damping matrix is derived based on the mass matrix and the damping ratio of all 171 modes of the structure so that the equivalent viscous damping ratio is equal to 5% for all modes (Paz 2012).

Fig. 34
figure 34

Configuration and properties of double-layer spatial structure

The maximum and minimum period of this system is 0.336 and 0.011 s, respectively. In order to investigate the accuracy of the proposed method with time consumption analysis, five different values 0. 1, 0.05, 0.02, 0.01 and 0.005 s have been chosen as time step \( \Delta t \).

This example is also analyzed by the methods which were used in previous examples. An accuracy analysis with computational time consumption has been performed by the use of a computer (Core i7 CPU @ 2.2 GHz). In this example, just trapezoidal rule from the Newmark method has been selected. The complete analysis has been done, and the results including the values of displacement, velocity and acceleration of all joints have been calculated. For example, the vertical displacement, velocity and acceleration of the node which is in the middle of the lower layer have been plotted as time history graphs. The ‘reference solution’ refers to mode superposition solution where all modes have been considered wherein and the separated equations are being solved through the Duhamel integral (Paz 2012). Figures 35, 36, 37, 38, 39, 40, 41, 42 and 43 show the vertical response of intended joint for time step 0.02, 0.05 and 0.1 s. The figures show that in all time-stepping schemes, the proposed method performs well; particularly, the acceleration is very well predicted. Indeed, the trapezoidal rule displays large errors in the calculation of the acceleration; see Figs. 37, 40 and 43. In this example, for the time steps less than 0.02 s, collocation parameter is chosen as \( \alpha_{1} = 0.6 \) and \( \alpha_{2} = 0.75 \) because taking these parameters as \( \alpha_{1} = 0.9 \) and \( \alpha_{2} = 0.95 \) causes instability.

Fig. 35
figure 35

Vertical displacement–time history of the node in the middle of the top layer (\( \Delta t = 0.1 \))

Fig. 36
figure 36

Vertical velocity–time history of the node in the middle of the top layer (\( \Delta t = 0.1 \))

Fig. 37
figure 37

Vertical acceleration–time history of the node in the middle of the top layer (\( \Delta t = 0.1 \))

Fig. 38
figure 38

Vertical displacement–time history of the node in the middle of the top layer (\( \Delta t = 0.05 \))

Fig. 39
figure 39

Vertical velocity–time history of the node in the middle of the top layer (\( \Delta t = 0.05 \))

Fig. 40
figure 40

Vertical acceleration–time history of the node in the middle of the top layer (\( \Delta t = 0.05 \))

Fig. 41
figure 41

Vertical displacement–time history of the node in the middle of the top layer (\( \Delta t = 0.02 \))

Fig. 42
figure 42

Vertical velocity–time history of the node in the middle of the top layer (\( \Delta t = 0.02 \))

Fig. 43
figure 43

Vertical acceleration–time history of the node in the middle of the top layer (\( \Delta t = 0.02 \))

These analyses have been performed for 5 s after the impact loads being applied. The results of this analysis are demonstrated in Table 4. The normal root mean square error (NRMSE) method was used as error estimation criterion to investigate accuracy. The NRMSE represents the sample standard deviation of the differences between predicted values and observed values. These individual differences are called residuals when the calculations are performed over the data sample used for estimation, and are called prediction errors when computed out-of-sample (Hyndman and Koehler 2006).

Table 4 Error estimation and time consumption (s) analysis, for example 6.4

Here the NRMSE is defined as follows:

$$ \text{NRMSE} = \frac{{\sqrt {\sum\nolimits_{t = 1}^{n} {(\hat{X}_{t} - X_{t} )^{2} /n} } }}{{X_{t}^{\hbox{max} } - X_{t}^{\hbox{min} } }} $$
(64)

where \( \hat{X}_{t} \) and \( X_{t} \) are the reference and resulted solution values (displacement, velocity or acceleration) at time t, respectively. n is the number of time steps.

Table 4 shows the response computational error analysis. This table shows NRMS error for various time steps. It is clear from the table that the proposed method gives a higher accuracy compared to the others. In this table, the results of time consumption analysis are shown as well.

7 Concluding Remarks

A new version of quartic B-spline direct time integration method for dynamic analysis of structures is presented. This procedure is derived based on the uniform quartic B-spline piecewise polynomial approximations and collocation method, named Alpha Quartic B-Spline method. By using two collocation parameters α1 and α2 in the proposed algorithm, unconditional stability was achieved, but a local instability was created. A stability analysis showed that unconditional stability is provided when a suitable value of \( \alpha \)s is selected. The accuracy analysis indicated that the scheme benefits from high accuracy with low amplitude decay and period elongation. Thus, it leads to a lower numerical amplitude dissipation and period dispersion compared to Wilson and Newmark trapezoidal rule. The effectiveness and robustness of the proposed algorithm in solving linear dynamic problems were demonstrated in the numerical examples. These evaluations showed that the proposed method operates more effectively than the trapezoidal rule and works as good as the Bathe method. The new implicit scheme is simple, effective and practical when the trapezoidal rule is not effective or even fails.