1 Introduction

A space frame structure is a network of linear members to transfer the forces in a three-dimensional manner. The network is a complex configuration of single, double, or multiple layers of intersecting elements, and a large number of degrees of freedom are involved for accurate description of the dynamic response of structures. Such structures are used in many industrial applications and should have reliable performance on the transient loadings such as seismic and shock. The exact model is obtained for space frame structures considering the entire joints and elements between them as solid geometries. Since such model is very complex for the transient response analysis of the real structures in engineer applications, the space frame structures are idealized as 3D networks of pin-joint elements. Truss structures are networks of pin-joint elements and transfer the external loads to internal axial loads along the line connecting the joints of elements. The vibration of truss structures is expressed in terms of axial waves traveling through the waveguides defined by the geometry of structural elements. The transient response is determined by the waves traveling along the elements as well as the reflection and transmission of axial waves through the structural joints.

The transient response of truss structures has been determined by finite element (FE) method, which is formulated by frequency independent polynomial shape functions. Transient structural response is evaluated without considering the waves having a smaller wavelength than the mesh size. The FE solution method is inaccurate for dynamic analysis of structures subjected to high-frequency loading condition having very short wavelength. The FE often incurs numerical dispersion errors due to spatial temporal discretization methods. The isogeometric elements have been developed for the reduction of numerical dispersion/dissipation errors observed in the transient wave propagation problems [25]. The time-domain spectral element method (TD-SEM) was developed for dynamic problems considering Lagrange polynomials as shape functions with discrete orthogonality to obtain diagonal mass matrix and reduce the computational time and cost for wave propagation problems [14, 27, 28]. The dynamic stiffness method (DSM) has been developed to improve the accuracy of transient solution considering dynamic shape functions related to the frequencies of loading applied to the structures [17]. The frequency-dependent shape functions were expressed as the exact solution for the corresponding structures subjected to harmonic loading [4, 12]. The dynamic stiffness approach in conjunction with the modal analysis was implemented to solve the transient problems using the separation of variables (SV) method, in which the response was assumed as the product of two single-argument functions: the first function depends on time, and the second function depends on position [5, 15]. Based on the SV assumption, spectral analysis method (SAM) was developed to solve the dynamic equations of motion by the superposition of an infinite number of wave modes with different frequencies. The continuous Fourier transform of the equation determines an infinite set of spectral components in the frequency domain, while the inverse Fourier transformation is performed to reconstruct solution in the time domain [16]. The discrete Fourier transform (DFT) determines the approximate solution by a finite number of wave modes using fast Fourier transformation (FFT) and inverse FFT (or IFFT) algorithms [11]. The spectral element method (SEM) was developed as a combination of the conventional FE method, DSM and SAM, in which dynamic stiffness matrices were replaced by the element stiffness matrices in FE analysis and the solution was approximated by DFT theory [8, 11]. The exact dynamic stiffness matrix in conjunction with SAM was typically named in the literature as the spectral element matrix [11]. The derivation of an analytic formulation is extremely difficult in SAM for the wave propagation as well as the reflection and transmission waves from the structural joints. Thus, some numerical methods were used to evaluate the wave propagation in the joints. Gopalakrishnan and Doyle [13] used the spectral element method for problems involving arbitrary non-uniform waveguides by introducing an approximate tapered element. Xiao et al. [26] predicted the spectral response of non-homogeneous problems using Mindlin and Goodman methods, and a mode superposition method was used to derive the response of homogeneous problems. The wave finite element (WFE) method was developed as a combination of the FE model and the corresponding wave model to calculate the wave propagation of structures with arbitrary complexity [24]. The hybrid approach was implemented to calculate the reflection and transmission coefficients of joints [19] and vibration modeling of waveguide structures [20]. Cai and Lin [6] developed a theoretical procedure to describe the dynamic response analysis of interconnected slender members which were treated as a multichannel waveguide, and the entire structure was treated as a network of such waveguides. [10] used a data-driven model identification to describe guided wave propagation when the geometry or boundary conditions are complex and make it very difficult to propose an analytical model. Carrer and Mansur [7] presented boundary element method formulations to analysis of the one-dimensional scalar wave propagation problem in multi-region domains based on the time-domain fundamental solution and the fundamental solution related to the static problem. The dynamic response of truss structures was also represented as an equivalent one-dimensional homogenized continuum model, in which the kinetic and strain energy expressions were written in terms of the nodal velocities, strain components of the structural members and stiffness of joints [22]. Necessary assumptions are made to reduce the order of the strain field of the full model to a geometrically reduced-order model. The frequency response function of the presented model has been validated in experimental study [23].

A non-homogeneous partial differential equation describes the dynamic response of truss elements subjected to time-dependent force and/or displacement boundary conditions. The SV method has a serious problem in the transient solution of the partial differential equation in general form. The SV method solves such problems in two stages. In the first stage, the solution of homogeneous partial differential equation results in a group of orthogonal functions depending on the material position and satisfying the homogeneous boundary conditions. The second stage states the solution of non-homogeneous partial differential equation as a series of orthogonal functions with time-dependent coefficients. Since the values of orthogonal functions or the corresponding derivatives are zero on boundaries, the non-homogenous term with nonzero values or nonzero derivatives on the boundaries cannot be described with orthogonal functions. Therefore, SV method fails to solve the partial differential equation in the general form of boundary conditions. As an example, the previous research work [1] showed that SV method yields incorrect dynamic response for a rod subjected to base excitation, while the recursive solution method [1] yields the real vibration response for general form of boundary conditions. Such method also models the wave propagation through the rod axis as well as the wave reflection from boundaries. The recursive solution method states the response as the summation of two single-argument functions depending on both time and position variables. The performance of the recursive solution method was also illustrated in the impact loading of rod structure [2] and wave reflection and transmission though the structural joints [3].

Since the elements of structures act like waveguide, the wave propagation in a single element of structure was studied in the previous research works [9, 18]. Pochhammer [18] and Chree [9] independently formulated the propagation of a sinusoidal wave through an infinite-length, homogeneous, isotropic cylinder of uniform cross section. The formulation states that the propagation rate of wave phase in structure, called phase velocity, is different from longitudinal wave velocity at high-frequency loading. The axial waves with different frequency contents disperse during propagation in the cylinder. In addition to, a signal with high-frequency content propagates with more than one mode and the modes have different phase velocities. The second mode and higher modes appear for frequencies larger than a critical value, called the cutoff frequency of corresponding mode. The phase velocity depends nonlinearly on frequency and cylinder radius as well as the material properties. For example, if the product of cylinder radius to the frequency of an actuating pulse is half of longitudinal wave velocity for material with Poisson’s ratio 0.3, the ratio of phase velocity to longitudinal wave velocity is 0.6 in the first mode [21]. Such ratio is less than 0.99 when the radius is 10 cm and frequency is less than 50 kHz. Since the frequency content for common loading conditions of space frame structures is smaller than 50 kHz and cutoff frequencies of second and higher modes, the phase velocity is assumed to be identical to the longitudinal wave velocity in the present research work.

This paper presents an analytic solution method for vibration response of the truss-type structural networks. Unlike the previous research works assuming the separation of variables to solve the partial differential equation, the analytic solution is derived in the general form to satisfy the governing equation as well as the time-dependent boundary conditions defined at the ends of truss elements. In the next section, the analytic solution method is derived to determine the current displacement vector of a given truss element as a function of time integration of external forces and the time history of displacement applied to the joints of the structure. Such nodal displacement functions are used to derive the displacement and internal force functions for the entire of internal points located on the element of the truss structure. A computational algorithm is presented in Sect. 3 to implement the formulation to space frame structures. Section 4 demonstrates the performance of analytic solution to evaluate the transient response of a three-coaxial rod subjected to time-dependent displacement and force boundary conditions as well as the response of planar and three-dimensional (3D) truss structures under dynamic loadings.

2 Formulation

Consider a 3D truss structure consisting of \({N}_{e}\) truss elements and \({N}_{n}\) nodes. The configuration of a space frame structure is described in a global Cartesian coordinate system with three unit vectors of \({\mathbf{e}}_{1}\),\({\mathbf{e}}_{2}\), and\({\mathbf{e}}_{3}\). Figure 1 shows that a node of the structure with number \(I\) connects \({N}_{I}\) elements. The ith truss element denoted by \({e}_{Ii}\) connects node \(I\) to node \({J}_{Ii}\). The initial position vectors of nodes \(I\) and \({J}_{Ii}\) are used to determine the length and unit vector along the truss element, designated by \({L}^{\left({e}_{Ii}\right)}\) and \({\widehat{\mathbf{e}}}^{\left({e}_{Ii}\right)}\), respectively. The dot product of \({\mathbf{e}}_{k} \cdot {\hat{\mathbf{e}}}^{{\left( {e_{Ii} } \right)}}\) yields the direction cosine \({m}_{k}^{\left({e}_{Ii}\right)}\) of truss element \({e}_{Ii}\) in the global Cartesian coordinate system. Based on the density \({\rho }^{\left({e}_{Ii}\right)}\) and elastic modulus \({E}^{\left({e}_{Ii}\right)}\) of element\({e}_{Ii}\), the velocity of longitudinal wave and time required to travel the longitudinal wave along the element length are given by \({c}^{\left({e}_{Ii}\right)}=\sqrt{{E}^{\left({e}_{Ii}\right)}/{\rho }^{\left({e}_{Ii}\right)}}\) and \({\tau }^{\left({e}_{Ii}\right)}={L}^{\left({e}_{Ii}\right)}/{c}^{\left({e}_{Ii}\right)}\), respectively. The displacement vector \({\mathbf{U}}_{I\left(t\right)}\) and external force vector \({\mathbf{F}}_{I\left(t\right)}^{\left(ext\right)}\) applied to node \(I\) can be projected along the truss element axis, which are denoted by \({\widehat{U}}_{I\left(t\right)}^{\left({e}_{Ii}\right)}\) and \({\widehat{F}}_{I\left(t\right)}^{\left({e}_{Ii}\right)}\), respectively. Using the direction cosine of truss element \({e}_{Ii}\), the projection of the displacement vector of a node \(I\) along the element axis can be written as:

$$\hat{U}_{I\left( t \right)}^{{\left( {e_{Ii} } \right)}} = \left[ {\begin{array}{*{20}c} {m_{1}^{{\left( {e_{Ii} } \right)}} } & {m_{2}^{{\left( {e_{Ii} } \right)}} } & {m_{3}^{{\left( {e_{Ii} } \right)}} } \\ \end{array} } \right] \cdot {\mathbf{U}}_{I\left( t \right)} = \left( {{\mathbf{m}}^{{\left( {e_{Ii} } \right)}} } \right)^{T} \cdot {\mathbf{U}}_{I\left( t \right)}$$
(1)
Fig. 1
figure 1

The node I and the corresponding connected elements in a 3D truss structure

Figure 2 shows a structural element \({e}_{Ii}\) with the corresponding nodes of \(I\) and \({J}_{Ii}\), which are subjected to boundary conditions defined by time-dependent displacement functions along the element axis. Consider an internal point on the element with the distance \(d\) from node \(I\). The dimensionless parameter \(\eta\) is defined as the ratio of the distance to the length of an element, namely \(\eta =d/{L}^{\left({e}_{Ii}\right)}\). The partial differential equation for the axial displacement of \({\widehat{u}}_{\left(\eta ,t\right)}^{\left({e}_{Ii}\right)}\) is expressed as \(\partial {\widehat{u}}_{\left(\eta ,t\right)}^{\left({e}_{Ii}\right)}/\partial {\eta }^{2}={\left[{\tau }^{\left({e}_{Ii}\right)}\right]}^{2}\partial {\widehat{u}}_{\left(\eta ,t\right)}^{\left({e}_{Ii}\right)}/\partial {t}^{2}\), and the boundary conditions are defined by \({\widehat{u}}_{\left(0,t\right)}^{\left({e}_{Ii}\right)}={\widehat{U}}_{I\left(t\right)}^{\left({e}_{Ii}\right)}\) and \({\widehat{u}}_{\left(1,t\right)}^{\left({e}_{Ii}\right)}={\widehat{U}}_{{J}_{Ii}\left(t\right)}^{\left({e}_{Ii}\right)}\). The axial displacement of a point located on the given element can be related to the nodal displacement functions using the recursive solution method. The previous research work [1] has shown that the axial displacement of a truss element subjected to geometrical boundary conditions can be expressed as a series of a group lag functions describing by the time-dependent displacement boundary conditions. The displacement of a given point located on element \({e}_{Ii}\) at a specific time instant \(t\) can be expressed as follows [1]:

Fig. 2
figure 2

An element of structure subjected to time-dependent axial displacement functions at both ends

$${\widehat{u}}_{\left(\eta ,t\right)}^{\left({e}_{Ii}\right)}=\sum_{j=0}^{\infty }\left({\widehat{U}}_{I\left(t-\left[\eta +2j\right]{\tau }^{\left({e}_{Ii}\right)}\right)}^{\left({e}_{Ii}\right)}-{\widehat{U}}_{I\left(t+\left[\eta -2j-2\right]{\tau }^{\left({e}_{Ii}\right)}\right)}^{\left({e}_{Ii}\right)}+{\widehat{U}}_{{J}_{Ii}\left(t+\left[\eta -2j-1\right]{\tau }^{\left({e}_{Ii}\right)}\right)}^{\left({e}_{Ii}\right)}-{\widehat{U}}_{{J}_{Ii}\left(t-\left[\eta +2j+1\right]{\tau }^{\left({e}_{Ii}\right)}\right)}^{\left({e}_{Ii}\right)}\right)$$
(2)

The solution satisfies the governing equation and time-dependent boundary conditions without assumption of separation of variables. Substituting Eqs. (1) in (2) relates the components of the displacement vector along the element axis to the nodal displacement vector of the corresponding element, i.e.,

$$\begin{aligned} \hat{u}_{{\left( {\eta ,t} \right)}}^{{\left( {e_{Ii} } \right)}} & = \mathop \sum \limits_{j = 0}^{\infty } \left( {{\mathbf{m}}^{{\left( {e_{Ii} } \right)}} } \right)^{T} \\ & \quad \cdot \left( {{\mathbf{U}}_{{I\left( {t - \left[ {\eta + 2j} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}} - {\mathbf{U}}_{{I\left( {t + \left[ {\eta - 2j - 2} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}} + {\mathbf{U}}_{{J_{Ii} \left( {t + \left[ {\eta - 2j - 1} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}} - {\mathbf{U}}_{{J_{Ii} \left( {t - \left[ {\eta + 2j + 1} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}} } \right) \\ \end{aligned}$$
(3)

The internal force along the axis of a truss element is proportional to the spatial derivative of axial displacement function, namely,

$$\begin{aligned} \hat{f}_{{\left( {\eta ,t} \right)}}^{{\left( {e_{Ii} } \right)}} & = \frac{{A^{{\left( {e_{Ii} } \right)}} E^{{\left( {e_{Ii} } \right)}} }}{{L^{{\left( {e_{Ii} } \right)}} }}\frac{{\partial \hat{u}_{{\left( {\eta ,t} \right)}}^{{\left( {e_{Ii} } \right)}} }}{\partial \eta } \\ & = \lambda^{{\left( {e_{Ii} } \right)}} \mathop \sum \limits_{j = 0}^{\infty } \left( {{\mathbf{m}}^{{\left( {e_{Ii} } \right)}} } \right)^{T} \\ & \quad \cdot \left( { - {\mathbf{U}}_{{I\left( {t - \left[ {\eta + 2j} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}}^{{\prime }} - {\mathbf{U}}_{{I\left( {t + \left[ {\eta - 2j - 2} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}}^{{\prime }} + {\mathbf{U}}_{{J_{Ii} \left( {t + \left[ {\eta - 2j - 1} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}}^{{\prime }} + {\mathbf{U}}_{{J_{Ii} \left( {t - \left[ {\eta + 2j + 1} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}}^{{\prime }} } \right) \\ \end{aligned}$$
(4)

where constant \({\lambda }^{\left({e}_{Ii}\right)}\) is defined a \({\lambda }^{\left({e}_{Ii}\right)}={A}^{\left({e}_{Ii}\right)}{E}^{\left({e}_{Ii}\right)}/{L}^{\left({e}_{Ii}\right)}\). The nodal force vector along element axis at node I is obtained by setting \(\eta =0\) in Eq. (4), i.e.,

$$\hat{F}_{I\left( t \right)}^{{\left( {e_{Ii} } \right)}} = \hat{f}_{{\left( {0,t} \right)}}^{{\left( {e_{Ii} } \right)}} = \lambda^{{\left( {e_{Ii} } \right)}} \mathop \sum \limits_{j = 0}^{\infty } \left( {{\mathbf{m}}^{{\left( {e_{Ii} } \right)}} } \right)^{T} \cdot \left( { - {\mathbf{U}}_{{I\left( {t - 2j\tau^{{\left( {e_{Ii} } \right)}} } \right)}}^{{\prime }} - {\mathbf{U}}_{{I\left( {t - \left[ {2j + 2} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}}^{{\prime }} + 2{\mathbf{U}}_{{J_{Ii} \left( {t - \left[ {2j + 1} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}}^{{\prime }} } \right)$$
(5)

Neglecting the nodal mass, the summation of applied force to node \(I\) results in:

$$\sum_{i=1}^{{N}_{I}}\left[\begin{array}{c}{m}_{1}^{\left({e}_{Ii}\right)}\\ {m}_{2}^{\left({e}_{Ii}\right)}\\ {m}_{3}^{\left({e}_{Ii}\right)}\end{array}\right]{\widehat{F}}_{I\left(t\right)}^{\left({e}_{Ii}\right)}=\sum_{i=1}^{{N}_{I}}{\mathbf{m}}^{\left({e}_{Ii}\right)}{\widehat{F}}_{I\left(t\right)}^{\left({e}_{Ii}\right)}=-{\mathbf{F}}_{I\left(t\right)}^{\left(ext\right)}$$
(6)

Substituting Eq. (5) in (6) and integrating the resultant equation lead to

$$\sum_{i=1}^{{N}_{I}}\sum_{j=0}^{\infty }{\mathbf{M}}^{\left({e}_{Ii}\right)}\left({\mathbf{U}}_{I\left(t-2j{\tau }^{\left({e}_{Ii}\right)}\right)}+{\mathbf{U}}_{I\left(t-2\left[j+1\right]{\tau }^{\left({e}_{Ii}\right)}\right)}-2{\mathbf{U}}_{{J}_{Ii}\left(t-\left[2j+1\right]{\tau }^{\left({e}_{Ii}\right)}\right)}\right)={\mathbf{g}}_{I\left(t\right)}+\left[\begin{array}{c}{C}_{1}\\ {C}_{2}\\ {C}_{3}\end{array}\right]$$
(7)

where \({C}_{i}\) are the integration constants. The symmetric matrix \({\mathbf{M}}^{\left({e}_{Ii}\right)}\) and vector \({\mathbf{g}}_{I\left(t\right)}\) are defined as:

$${\mathbf{M}}^{\left({e}_{Ii}\right)}={\lambda }^{\left({e}_{Ii}\right)}\left[\begin{array}{ccc}{m}_{1}^{\left({e}_{Ii}\right)}{m}_{1}^{\left({e}_{Ii}\right)}& {m}_{1}^{\left({e}_{Ii}\right)}{m}_{2}^{\left({e}_{Ii}\right)}& {m}_{1}^{\left({e}_{Ii}\right)}{m}_{3}^{\left({e}_{Ii}\right)}\\ & {m}_{2}^{\left({e}_{Ii}\right)}{m}_{2}^{\left({e}_{Ii}\right)}& {m}_{2}^{\left({e}_{Ii}\right)}{m}_{3}^{\left({e}_{Ii}\right)}\\ sym& & {m}_{3}^{\left({e}_{Ii}\right)}{m}_{3}^{\left({e}_{Ii}\right)}\end{array}\right]$$
(8)
$${\mathbf{g}}_{I\left(t\right)}={\int }_{0}^{t}{\mathbf{F}}_{I\left(t\right)}^{\left(ext\right)}\mathrm{d}\tau$$
(9)

Assuming stationary space frame at the initial time without loss of generality, the integration constants are zero. Based on the definition stated in Eq. (8), matrix \({\mathbf{M}}^{\left({e}_{Ii}\right)}\) has minor symmetry \(\left({\mathbf{M}}^{\left({e}_{Ii}\right)}={\left({\mathbf{M}}^{\left({e}_{Ii}\right)}\right)}^{T}\right)\), as well as major symmetry (namely, the matrix is the same for the change of node arrangement at the end of element). The expansion of Eq. (7) can be written as:

$${\mathbf{K}}_{I}{\mathbf{U}}_{I\left(t\right)}=2\sum_{i=1}^{{N}_{1}}{\mathbf{M}}^{\left({e}_{Ii}\right)}\sum_{j=0}^{\infty }\left({\mathbf{U}}_{{J}_{Ii}\left(t-\left[2j+1\right]{\tau }^{\left({e}_{Ii}\right)}\right)}-{\mathbf{U}}_{I\left(t-2\left[j+1\right]{\tau }^{\left({e}_{Ii}\right)}\right)}\right)+{\mathbf{g}}_{I\left(t\right)}$$
(10)

where matrix \({\mathbf{K}}_{I}\) is defined for node I as follows:

$${\mathbf{K}}_{I}=\sum_{i=1}^{{N}_{I}}{\mathbf{M}}^{\left({e}_{Ii}\right)}$$
(11)

Applying boundary conditions to Eq. (10) results in a non-singular coefficient matrix \({\mathbf{K}}_{I}\). Using the inverse of coefficient matrix, we have

$${\mathbf{U}}_{I\left(t\right)}={\mathbf{K}}_{I}^{-1}{\mathbf{g}}_{I\left(t\right)}+2{\mathbf{K}}_{I}^{-1}\sum_{i=1}^{{N}_{I}}{\mathbf{M}}^{\left({e}_{Ii}\right)}\sum_{j=0}^{\infty }\left({\mathbf{U}}_{{J}_{Ii}\left(t-\left[2j+1\right]{\tau }^{\left({e}_{Ii}\right)}\right)}-{\mathbf{U}}_{I\left(t-2\left[j+1\right]{\tau }^{\left({e}_{Ii}\right)}\right)}\right)$$
(12)

Equation (12) is the analytical solution for the nodal displacement vectors of structure based on the geometrical configuration, material properties of structure and the history of nodal displacement as well as external force vectors and boundary conditions applied to some nodes of the structure. Total time domain is divided into intervals with a duration equal to the minimum time constant of \({\tau }_{m}=\mathrm{min}\left\{{\tau }^{\left(1\right)},{\tau }^{\left(2\right)},\dots {\tau }^{\left(Ne\right)}\right\}\). A specific time instance can be expressed by \(t=n{\tau }_{m}+\xi {\tau }_{m}\), in which \(n\) is a positive integer number and \(\xi\) is a positive real value lower than unit value, i.e., \(0\le \xi <1\). The arguments of first and second statements of series in Eq. (12) are written as:

$$g_{{{\Lambda }\left( {{\text{n}},{\text{j}},\xi } \right)}}^{{\left( {e_{Ii} } \right)}} = \left[\kern-0.15em\left[ {n - \left( {2j + 1} \right)\frac{{\tau^{{\left( {e_{Ii} } \right)}} }}{{\tau_{m} }} + \xi } \right]\kern-0.15em\right]\tau_{m}$$
(13)
$$g_{{\Upsilon \left( {{\text{n}},{\text{j}},\xi } \right)}}^{{\left( {e_{Ii} } \right)}} = \left[\kern-0.15em\left[ {n - 2\left( {j + 1} \right)\frac{{\tau^{{\left( {e_{Ii} } \right)}} }}{{\tau_{m} }} + \xi } \right]\kern-0.15em\right]\tau_{m}$$
(14)

Equation (12) states that the nodal displacement vector at time \(t=n{\tau }_{m}+\xi {\tau }_{m}\) is related to the corresponding vector at the previous time instances of \({g}_{\Lambda \left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\) and \({g}_{\Upsilon\left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\). Figure 3 illustrates the variation of function \({g}_{\Lambda \left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\) with a specific \(n\) and different \(\xi\) and \(j\) values. Since the displacement vector is zero for \(t\le 0\), the valid integer numbers for j are the numbers give positive value for functions \({g}_{\Lambda (n,j,\xi )}^{\left(e\right)}\) and \({g}_{\Upsilon\left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\). The integer numbers \(j\) in functions \({g}_{\Lambda \left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\) and \({g}_{\Upsilon\left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\) have upper limit values of \({N}_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({N}_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\), respectively. For the maximum j values, Fig. 3 shows the functions \({g}_{\Lambda \left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\) and \({g}_{\Upsilon\left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\) intersects the abscissa at \({\alpha }_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({\alpha }_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\), which are determined as follows:

Fig. 3
figure 3

The variation of function \({g}_{\Lambda \left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\) with a specific \(n\) value and different \(\xi\) and \(j\) values

$${\alpha }_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}=\mathrm{max}\left[\left(2{N}_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}+1\right)\frac{{\tau }^{\left({e}_{Ii}\right)}}{{\tau }_{m}}-n,0\right]$$
(15)
$${\alpha }_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}=\mathrm{max}\left[2\left({N}_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}+1\right)\frac{{\tau }^{\left({e}_{Ii}\right)}}{{\tau }_{m}}-n,0\right]$$
(16)

The statements of series in Eq. (12) can be written as

$${\mathbf{U}}_{{I\left( {\tau_{m} + \xi \tau_{m} - \left[ {2j + 1} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}} = {\mathbf{U}}_{{I\left( {g_{{{\Lambda }\left( {{\text{n}},{\text{j}},\xi } \right)}}^{{\left( {e_{Ii} } \right)}} } \right)}} \left\{ {\begin{array}{*{20}c} 1 & {0 \le j < N_{{{\Lambda n}}}^{{\left( {e_{Ii} } \right)}} ,\quad 0 \le \xi < 1} \\ 1 & {j = N_{{{\Lambda n}}}^{{\left( {e_{Ii} } \right)}} ,\quad \alpha_{{{\Lambda n}}}^{{\left( {e_{Ii} } \right)}} \le \xi < 1} \\ 0 & {j = N_{{{\Lambda n}}}^{{\left( {e_{Ii} } \right)}} ,\quad 0 \le \xi < \alpha_{{{\Lambda n}}}^{{\left( {e_{Ii} } \right)}} } \\ 0 & {j > N_{{{\Lambda n}}}^{{\left( {e_{Ii} } \right)}} } \\ \end{array} } \right.$$
(17)
$${\mathbf{U}}_{{I\left( {n\tau_{m} + \xi \tau_{m} - 2\left[ {j + 1} \right]\tau^{{\left( {e_{Ii} } \right)}} } \right)}} = {\mathbf{U}}_{{I\left( {g_{{{\Upsilon }\left( {{\text{n}},{\text{j}},\xi } \right)}}^{{\left( {e_{Ii} } \right)}} } \right)}} \left\{ {\begin{array}{*{20}c} 1 & {0 \le j < N_{{\Upsilon {\text{n}}}}^{{\left( {e_{Ii} } \right)}} ,\quad 0 \le \xi < 1} \\ 1 & {j = N_{{\Upsilon {\text{n}}}}^{{\left( {e_{Ii} } \right)}} ,\quad \alpha_{{\Upsilon {\text{n}}}}^{{\left( {e_{Ii} } \right)}} \le \xi < 1} \\ 0 & {j = N_{{\Upsilon {\text{n}}}}^{{\left( {e_{Ii} } \right)}} ,\quad 0 \le \xi < \alpha_{{\Upsilon {\text{n}}}}^{{\left( {e_{Ii} } \right)}} } \\ 0 & {j > N_{{\Upsilon {\text{n}}}}^{{\left( {e_{Ii} } \right)}} } \\ \end{array} } \right.$$
(18)

The graph in Fig. 3 is used to determine the number of previous time domains whose displacement vectors affect on the current displacement vector. When the lines in Fig. 3 are located at the top of abscissa, the displacement for time domain corresponding to these lines should be considered in the calculation of current displacement.

3 Computational approach

The present analytical procedure is employed to evaluate the vibration response of truss-type space structures under the time-dependent displacement or load boundary conditions. The analytical solution results are represented in time domains \(n{\tau }_{m}\le t\le \left(n+1\right){\tau }_{m}\) for \(n=\left\{\mathrm{0,1},\dots \right\}\) with a bandwidth equal to the minimum time constant of elements in the space frame structure. Equation (12) is used to represent the nodal displacement for current time domain as a function of the current value of nodal external force as well as the history of nodal displacement in the previous time domains. Since the structure is stationary at the initial time, the nodal displacement vectors are zero for \(t\le 0\) and the nodal displacement vectors in the first time domain \(0\le t\le {\tau }_{m}\) only depend on the current nodal force vectors, while the displacement vectors in the second time domain may require the corresponding value for the first domain, as stated in Eq. (12). To illustrate the results of analytical solution in each time domain with bandwidth of \({\tau }_{m}\), a number of time increments \({N}_{m}\) is considered and the results are given with time resolution of \({\tau }_{m}/{N}_{m}\). The number of increments can be increased based on the capability of computer hardware and the required resolution to calculate displacement function. The results are represented up to time domain \(N{\tau }_{m}\le t\le \left(N+1\right){\tau }_{m}\), in which \(N\) is the integer part of ratio \({t}_{f}/{\tau }_{m}\), in which \({t}_{f}\) is final time value.

A software called space-frame structure analysis (SSA) was developed in the present research work based on the analytical solution to determine the transient response of space frame structures. The computation approach is performed in five stages as follows:

  1. 1.

    Data entry The space frame structure is defined by the nodal position vectors, node numbers of elements, the properties of elements including cross-section area, density, elastic modulus, and boundary conditions defined in general case by time-dependent functions of displacement or load vectors applied to some nodes.

  2. 2.

    Preprocessing This phase determines the number of elements and element numbers connected to nodes; calculates the length, axial wave velocity, direction cosine and time constants for elements; finds the minimum time constant of structures; calculates symmetric matrix \({\mathbf{M}}^{\left({e}_{Ii}\right)}\), coefficient matrix \({\mathbf{K}}_{I}\), and the inverse of coefficient matrix after applying boundary conditions.

  3. 3.

    Time resolution Total time is divided into intervals equal to the minimum time constant \({\tau }_{m}\). The number of statements for series defined in Eq. (12) is calculated as the upper limit integer values of \({N}_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({N}_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\) in each time domains \(n{\tau }_{m}\le t\le \left(n+1\right){\tau }_{m}\) for \(n=\left\{\mathrm{1,2},\dots N\right\}\). The values of \({\alpha }_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({\alpha }_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\) are also calculated in time domains for functions \({g}_{\Lambda \left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\) and \({g}_{\Upsilon\left(\mathrm{n},\mathrm{j},\xi \right)}^{\left({e}_{Ii}\right)}\), respectively.

  4. 4.

    Processing The time domain with bandwidth of minimum time constant \({\tau }_{m}\) is divided into \({N}_{m}\) increments. The resultant vector in the right hand of Eq. (12) is calculated for each node and increment. It depends on the integral of external force vector and the summation of vectors related to the history of nodal displacement. Boundary conditions are used to modify the coefficient matrix \({\mathbf{K}}_{I}\), and the inverse of coefficient matrix is multiplied to the resultant vector to calculate the current nodal displacement vector.

  5. 5.

    Post-processing Using the nodal displacement vectors, the axial displacement and internal force are calculated for internal points located on the rods between nodes.

The processing stage requires the most computational time, because such process is performed for the entire nodes at each time increment. As stated in Eq. (12), the inverse of symmetric matrix \({\mathbf{K}}_{I}\) is required to calculate the current nodal displacement based on current external force and the history of nodal displacement. The dimension of symmetric matrix is \({3N}_{I}\times {3N}_{I}\) for space frame structures, where \({N}_{I}\) is the number of elements connected to node \(I\). Since a limited number of elements can be connected to a node, the dimension of symmetric matrix is limited for space frame structures in engineer applications. While the dimension of stiffness matrix is \({3N}_{n}\times {3N}_{n}\) in FE analysis, where \({N}_{n}\) is the number of nodes of space frame structure. Therefore, the present method has more computational efficiency compared to FE method, because the computation time reduces to calculate the inverse of symmetric matrix with a limited size even for structures with a large number of nodes.

4 Results and discussion

The computational approach is implemented for three problems. The first problem is the axial vibration of three coaxial rods which are jointed at the ends, and the first and last nodes are subjected to time-dependent boundary conditions. The results are compared with the previous analytical solution to verify the computational procedure. Then, the presented procedure is implemented to obtain the transient response of planar frame and space frame structures.

4.1 One-dimensional structure

Figure 4 shows an aluminum rod with length 1 m, cross-section area 100 mm2, density 2700 kg/m3, and elastic modulus 70 \(\mathrm{GPa}\). The rod is subjected to combined boundary conditions which are expressed as the axial displacement function \({u}_{0\left(t\right)}=\frac{L}{1000}\mathrm{sin}\frac{\pi ct}{2L}\) at boundary \(x=0\) and the axial force function \({f}_{1\left(t\right)}=\frac{AE\pi }{500}\mathrm{sin}\frac{\pi ct}{L}\) at boundary \(x=L\). The displacement and force applied to boundaries have different frequencies. The analytical solution for transient axial displacement of an arbitrary point of the rod can be expressed as [using Eq. (32) in reference [1]]:

$${u}_{\left(X,t\right)}=\sum_{n=0}^{\infty }{\left(-1\right)}^{n}\left({u}_{0\left(t-\frac{X+2nL}{c}\right)}+{u}_{0\left(t-\frac{2\left(n+1\right)L-X}{c}\right)}+\frac{c}{AE}{g}_{1\left(t-\frac{\left(2n+1\right)L-X}{c}\right)}-\frac{c}{AE}{g}_{1\left(t-\frac{\left(2n+1\right)L+X}{c}\right)}\right)$$
(19)

where \({u}_{0\left(t\right)}\) and \({g}_{1\left(t\right)}\) are the time-dependent functions defined by the boundary conditions as follows:

Fig. 4
figure 4

Aluminum rod subjected to displacement and force boundary conditions

$${u}_{0\left(t\right)}=\frac{L}{1000}\mathrm{sin}\frac{\pi ct}{2L}$$
(20)
$${g}_{1\left(t\right)}={\int }_{0}^{t}{f}_{1\left(\tau \right)}\mathrm{d}\tau =\frac{AE\pi }{500}{\int }_{0}^{t}\mathrm{sin}\frac{\pi c\tau }{L}\mathrm{d}\tau =\frac{AEL}{500c}\left(1-\mathrm{cos}\frac{\pi ct}{L}\right)$$
(21)

The series in Eq. (19) states the rod deformation is dependent on the history of displacement \(\left({u}_{0\left(t\right)}\right)\) and external force \(\left({f}_{1\left(t\right)}\right)\) applied to the boundaries. The rod deformation, external force, and displacement of boundaries are initially zero, namely \({u}_{\left(X,t\right)}={u}_{0\left(t\right)}={f}_{1\left(t\right)}=0\) for \(t\le 0\). The arguments of the expression in series become negative when the series number \(\left(n\right)\) is greater than a specific value \(\left({n}_{c}\right)\). Therefore, a limited number of statements (which have positive argument) determine the rod response at specific time instance. The number of statements is equal to the number of wave reflection occurred at the boundaries.

The rod geometry discretized by three elements with different lengths including \(\frac{L}{5}\), \(\frac{4L}{11}\) and \(\frac{24L}{55}\), as shown in Fig. 4. The length ratios of elements are selected as non-integer numbers to verify the accuracy of computation approach in different time constants for elements. The proposed computation approach is implemented to analyze the transient response of the nodes. The calculated displacement at the nodes of elements is compared with analytical solution in Eq. (19) to verify the computation algorithm and the accuracy of results. Table 1 lists the upper limit integer values \({N}_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({N}_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\) as well as values \({\alpha }_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({\alpha }_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\), which are calculated for three elements and ten time domains with bandwidth of minimum time constant which is equal to the time constant of first element. Since the ratio \({\tau }_{e}/{\tau }_{m}\) is unit value for the first element, the constants \({\alpha }_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({\alpha }_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\) are always zero for the first element. On the other hand, the ratio of \({L}_{2}/{L}_{1}\) and \({L}_{3}/{L}_{1}\) is non-integer numbers and the constants \({\alpha }_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({\alpha }_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\) for second and third elements may be nonzero values when the lowest line shown in Fig. 3 intersects the horizontal axis. At initial time domain \(\left(n=0\right)\), the integer numbers \({N}_{\mathrm{\Lambda n}}^{\left({e}_{Ii}\right)}\) and \({N}_{\Upsilon\mathrm{n}}^{\left({e}_{Ii}\right)}\) cannot be zero or positive values and the vector defined by series in Eq. (12) is zero for such time domain. Table 1 states that more displacement vectors of previous time domains influence on the current time domain with higher \(n\) value.

Table 1 The upper limit integer values \({N}_{\mathrm{\Lambda n}}^{\left(e\right)}\) and \({N}_{\Upsilon\mathrm{n}}^{\left(e\right)}\) as well as real values \({\alpha }_{\Lambda n}^{\left(e\right)}\) and \({\alpha }_{\Upsilon n}^{\left(e\right)}\) calculated for three elements and ten time domains

Figure 5 shows the calculated displacement of nodes on the rod for time domain \(0\le t\le 50{\tau }_{m}\). The minimum time constant is divided into 500 equal time increments which is equal to \({\tau }_{m}/500=1/2500\sqrt{E/\rho }\) or 0.0786 µs. The displacement at \(x=0\) is equal to Eq. (20) with the frequency \(c/4L=1/20{\tau }_{m}\) and 2.5 cycles were completed at time instance 50 \({\tau }_{m}\), as shown in Fig. 5. As stated in Eq. (21), the applied load at node 3 located on \(x=1m\) causes the harmonic displacement with frequency \(1/10{\tau }_{m}\) and amplitude \(L/500\) before the generated wave at \(x=0\) reaches to this node. However, the new displacement function at node 3 is observed after \(5{\tau }_{m}\) as a combination of two waves generated at two boundaries. Since the amplitude of resultant wave from load boundary function is twice the wave generated by displacement boundary function, the load boundary condition has predominated effect. Before the actuation pulse at node 1 reaches to the node 2, it is stationary in time domain \(0\le t\le {\tau }_{m}\) and it starts to move as displacement wave form of node 1 with time lag of \({\tau }_{m}\). Such displacement function is changed as the displacement function of node 4 reaches to node 2 at time \(4{\tau }_{m}\). The node 3 is stationary before time \(25{\tau }_{m}/11\), at which the wave generated at node 4 reaches to node 3. The calculated nodal displacement is exactly coincident with the prediction of analytic solution stated in Eq. (19). It should be noted that considering two nodes at the end of rods yields inaccurate FE results for the dynamic response unlike the present method. The FE results with fine mesh converge to the analytical solution of a horizontal rod, in which the nodal vertical displacement is set to zero to model axial deformation.

Fig. 5
figure 5

The calculated displacement at the nodes of the rod for time domain \(0\le t\le 50{\tau }_{min}\)

The analytical form of transient axial force is determined by multiplying the spatial derivative of displacement function (19) by the cross-section area and elastic modulus of rod \(\left(AE\right)\), namely,

$${f}_{\left(X,t\right)}=\sum_{n=0}^{\infty }{\left(-1\right)}^{n}\left(-\frac{AE}{c}{u}_{0\left(t-\frac{X+2nL}{c}\right)}^{^{\prime}}+\frac{AE}{c}{u}_{0\left(t-\frac{2\left(n+1\right)L-X}{c}\right)}^{^{\prime}}+{g}_{1\left(t-\frac{2\left(n+1\right)L-X}{c}\right)}^{^{\prime}}+{g}_{1\left(t-\frac{\left(2n+1\right)L+X}{c}\right)}^{^{\prime}}\right)$$
(22)

Figure 6 shows the time-dependent force along the rod axis calculated by the proposed computation approach. The force at node 4 is a harmonic function with amplitude and frequency of the force function \({f}_{1\left(t\right)}\) applied to the right-hand side of the rod. Regarding the distance of nodes 2 and 3 from the boundaries, the internal force functions of such nodes are zero before time \({\tau }_{m}\) and \(24{\tau }_{m}/11\), respectively. Then, the force waves generated at the boundaries reach to such nodes. From the beginning of the analysis, the axial force is generated at node 1 due to the deformation gradient and the force amplitude increases over time domain. The results correlate well with analytical formulation presented in Eq. (22).

Fig. 6
figure 6

The calculated force at the nodes of the rod for time domain \(0\le t\le 50{\tau }_{min}\)

4.2 Planar structure

Figure 7a depicts a triangular frame having elements with the same length, cross-section area, and material type. The elements with cross-section area 0.01 \({\mathrm{m}}^{2}\) are made of aluminum material with density and elastic modulus of 2700 \(\mathrm{kg}/{\mathrm{m}}^{3}\) and 70 \(\mathrm{GPa}\), respectively. A node of the base element is fixed and the other node is subjected to horizontal displacement with a periodic function \({u}_{2\left(t\right)}=\frac{L}{1000}\mathrm{sin}\left(2\pi ft\right)\), as shown in Fig. 7. The periodic displacement boundary condition generates longitudinal waves propagating in the structure with the wavelength \(c/f\). The element length is selected as an integer number of the longitudinal wavelength to generate wave reflection in the same phase. The element length is set to 1.2797 m which is four times of wavelength of the waves with circular frequency \({2\pi f=10}^{5}\mathrm{rad}/\mathrm{s}\). The present procedure calculates the horizontal and vertical motions of free node 3 shown in Fig. 7a. The present procedure is also implemented to analyze the frames having more rods with the same length, as shown in Fig. 7b, c. The element length is twice the wavelength and equal to the wavelength in frames shown in Fig. 7b and c, respectively.

Fig. 7
figure 7

The triangular planar frame structures having elements with the same length, a 3-element frame, b 9-element frame, c 30-element frame

Figure 8 shows the calculated horizontal and vertical displacement values of node 3 in the three-element frame. The horizontal axis is the time normalized by a time constant \({\tau }_{m}\). The time reference is the start of external displacement application to node 2. The free node 3 receives the motion of node 2 with a time delay equal to time constant \({\tau }_{m}\), which is the time needed to travel the axial wave through the element between nodes 2 and 3. The positive horizontal displacement of node 2 results in the positive horizontal displacement and negative vertical displacement at free node. Thus, horizontal and vertical displacement functions are in opposite phase with the same frequency equal to the activation frequency, as shown in Fig. 8a. Due to geometrical configuration, the horizontal and vertical displacement amplitude ratios of free node to the amplitude of applied displacement function are 1 and \(\frac{\sqrt{3}}{3}\), respectively. The incident wave for free node is divided into two waves including the reflected wave to element 2–3 and transferred wave to element 1–3. The transferred wave returns to free node at time \(3{\tau }_{m}\) in the negative phase because of reflection at node 1. Since the element length is equal to four times of wavelength, eight periodic cycles are transferred to the free node during \({\tau }_{m}\le t\le 3{\tau }_{m}\). For time \(t>3{\tau }_{m}\), the reflected wave from node 1 reaches to free node and it is superposed with the incident wave due to frame activation. Since two superposing waves are in the opposite phase, the horizontal and vertical displacement values of free node are eliminated and the free node is stationary in the time domain \(3{\tau }_{m}\le t\le 5{\tau }_{m}\). Such motion is repeated on the free node with time periodicity of \(4{\tau }_{m}\), in which the coefficient value of 4 is equal to the ratio of element length to wavelength.

Fig. 8
figure 8

The time history of horizontal and vertical displacement values for free node after the application the horizontal load to planar frames with a 3 elements, b 9 elements, c 30 elements

The frame with nine elements has a complicated pattern for displacement history in free node. Figure 8b illustrates the horizontal and vertical displacement functions for free node 3 due to external displacement applied to node 2. The time constant of frame with nine elements is half of time constant of frame with three elements because the total length was bisected in the frame shown in Fig. 7b. The displacement wave applied to node 2 reaches to free node after passing two elements at time \(2{\tau }_{m}\), as shown in Fig. 8b. The wave pattern of the free node is the same in frames with three and nine elements in time domain \(2{\tau }_{m}\le t<3{\tau }_{m}\). Since node 5 is also activated during the wave propagation between nodes 2 and 3, the wave also reaches to free node after \(3{\tau }_{m}\) by passing through element 5–6 and element 6–3. Such waves change the displacement pattern at free node compared to Fig. 8a. The maximum displacement amplitude of free node in nine-element frame is equal to the amplitude of activation signal. In addition to, the amplitude ratios of horizontal and vertical waves are not constant and the vertical displacement is greater than the horizontal displacement. The calculated time history of free node displacement shown in Fig. 8c is different from the previous graphs, because the wave reaches to the free node in different paths.

FE method considers only two nodes for each truss element to analyze the dynamic response of 2D truss-type networks. The results are severely inaccurate and incompatible to the physical understanding. A fine mesh cannot model truss element in 2D structures because of transverse displacement shown in Fig. 9. FE model needs nonlinear constraints to limit rod deformation along the axis. Such constraints define bending stiffness which deviates from truss model. The present research work can model accurately the transient response using a rod with two nodes at the ends of element, and FE limitation is resolved for the vibration response of truss-type structures.

Fig. 9
figure 9

The reference and the deformed geometries of a truss meshed with two elements

The computational time as well as the accuracy of the results should be examined to evaluate the performance of the proposed method in determining the dynamic response of structures. The computation time is evaluated at different phases to analyze the planar triangular structure having 30 members, shown in Fig. 7c. The software prepared with visual C# program is executed on Microsoft.NET Framework version 4.8.09037 using one of the eight cores of an Intel(R) Core(TM) i7 processor with a frequency of 2.80 GHz in a personal computer with 8 GB RAM. The minimum time constant of the structure is divided into 100 equal time intervals to determine the results with the resolution of 0.62831 microseconds\(\left({L}_{\mathrm{min}}/c/100\right)\). A two-dimensional matrix stores the history of displacement vectors at joints of structure. Since the 2-D structure has 15 joints, the matrix has 15 × 2 rows and the number of columns is 1500 considering the total analysis time equal to 15 times the time constant of the structure. Figure 10 shows the calculation time for the implementation of different phases of the analysis method. The software saves the time needed to perform calculations in a file at the end of different phases. The execution time is less than one milliseconds in the first phase of information entry and the third phase of time resolution, while the second phase of pre-processing and the fifth phase of post-processing take 29 ms and 14 ms, respectively. The main duration of the analysis is related to the processing phase which lasts in the range of 173–208 ms in each time constant. Therefore, the present method can determine the displacement response of all joints of the structure in a short period of time. The accuracy of FE analysis depends on the number of nodes considered on the members of the structure between the joints, while the present method without defining nodes between joints can obtain the transient response of different points of the structure in terms of the stored displacement vectors of joints. This issue reduces the computation time as well as the memory required to store the dynamic response of the structure.

Fig. 10
figure 10

Computational time for five stages including read data, preprocess, time resolution, process and post-process of the triangular 30-element planar frame structure

4.3 Space frame structure

Figure 11 illustrates a 3D truss frame composed of four aluminum rods with the same uniform cross section. Four nodes of structure are located inside plane 2–3 on the corner of a square with length of L = 1 m, and fifth node is located at the end of a rod coincident to 1-axis and length of L = 1 m. The rods with three different length values of 1 m, \(\sqrt{2}\) m and \(\sqrt{3}\) m have the same cross-section area, density, and elastic modulus of 100 mm2, 2700 kg/m3, and 70 GPa, respectively. The nodes located on plane 2–3 are fixed, while the fifth node is subjected to external force.

Fig. 11
figure 11

The schematic of 3D truss frame

The present analytical method evaluates the transient response of 3D truss under impact loading. Impact hammer test is a common experiment to evaluate the natural frequencies. The impact of hammer at a node generates waves and the accelerometer measures the response. The discrete Fourier transformation of acceleration data yields natural frequencies of structures. A solution method is presented for the response of the 3D truss subjected to a hammer impact on node 5 along axis x1, as shown in Fig. 11. The impact force is a rectangular pulse with bandwidth \({t}_{0}\) and amplitude \(a\), namely,

$$F_{51\left( t \right)} = \left\{ {\begin{array}{*{20}c} a & {0 < t \le t_{0} } \\ 0 & {t > t_{0} } \\ \end{array} } \right.$$
(23)

The transient response is calculated for the frame in time domain \(0<t\le 1s\), and the displacement history is considered for node 5 to evaluate the natural frequencies of the 3D frame. The integration of applied force results in:

$$g_{51\left( t \right)} = \mathop \smallint \limits_{0}^{t} F_{51\left( t \right)} {\text{d}}\tau = \left\{ {\begin{array}{*{20}{ll}} {at\quad 0 < t \le t_{0} } \\ {at_{0} \quad t > t_{0} } \\ \end{array} } \right.$$
(24)

The integration of external force and boundary conditions is used in Eq. (12), and the results are obtained considering 500 increments in the minimum time constant of the structure. The impact force is applied with magnitude and bandwidth of \(a=\) 1N and \({t}_{0} =\) 0.4 µs, respectively. Figure 12a illustrates the displacement component along 1-axis for node 5 as the impulsive force is applied to the structure which is stationary at initial instance. The impact force propagates displacement waves along four rods toward to their fixed ends, and the waves are reflected by the fixed nodes toward to the free node. Since the rods have three different length values, the reflected wave reaches to the free nodes in three different time instances of \(2{\tau }_{m}\), \(2\sqrt{2}{\tau }_{m}\) and \(2{\sqrt{3}\tau }_{m}\), as shown in Fig. 12a. Such wave propagation and reflection patterns are repeated in the 3D truss, and the reflected waves are achieved to free node in different time-shift values due to different length ratios of the rods. Figure 12b illustrates the calculated displacement of the free node along 1-axis up to \({t}_{f}=2000{\tau }_{m}\).

Fig. 12
figure 12

The calculated displacement of free node 5 in space truss after impact for duration of a 20τ and b 2000τ

The frame vibrates as a combination of mode shapes with different natural frequencies in a periodic manner. The dominant frequencies of deformation can be determined using discrete Fourier transformation (FFT) of time history of displacement signal. Figure 13 depicts the FFT of the displacement graph of the free node and the corresponding frequency contents of the displacement signal. The frequency content is considered up to 50 kHz, which is smaller than cutoff frequencies of second and higher modes [21]. To ensure that total time is long enough to calculate exact FFT graph, the total time for the calculation of wave signals increases from 2000 \({\tau }_{m}\) up to 5000 \({\tau }_{m}\) and negligible change is observed in FFT graph. The FFT graph is shown in Fig. 13 for frequency bandwidth of 14 kHz to depict the natural frequencies for the first, second, and third mode shapes which are 795.1, 900.2, and 1187.0 Hz, respectively.

Fig. 13
figure 13

The calculated fast Fourier transformation of displacement of free node in 3D truss subjected to rectangular pulse loads

5 Conclusions

The present analytical solution method determines the response of truss-type structures under dynamic loading at a broadband frequency domain. The solution can easily be implemented for 3D truss structures subjected to general form of boundary conditions and time-dependent loadings. The limitations for the previous numerical and analytical methods are resolved for the determination of structural response under transient loadings. The analytical solution yields exact response by considering only two nodes on the rod ends of truss structures. The analytical solution method also determines the displacement and internal force functions for points located on the rods between the nodes of structures based on the nodal displacement functions.