Mathematical Background#
Structural Analysis#
We summarize here basic concepts of structural dynamics which motivated the implementation of Namazu. For deeper insights and special cases, the interested reader is referred to [1][2]. An ideal linear system is submitted to a time-dependent ground motion \(x_g(t)\) as depicted in the figure below. The movement is such that the inertia effects cannot be neglected. All supports of the structure have the same displacement.
Due to the ground’s movement, several reaction forces are occurring on the structure, Newton’s second law of motion states that a dynamic system is in equilibrium at each time instant. The occurring reaction forces are shown in the figure below. The displacement \(x(t)\) is in relation to the lateral resisting force \(F_L = kx(t)\), where \(k\) is the stiffness of the structure. Assuming damping is present, the damping force can be obtained by \(F_D = c \dot{x}(t)\), with \(c\) being the damping coefficient.
The resulting total displacements of the structure are denoted by \(x_{\Sigma}(t)\). Since the ground motion is time-dependent, the following relation for the total displacement is given
The inertia force \(F_I\) depends on the acceleration and mass of the structure, i.e. \(F_I = m \ddot{x}_{\Sigma}(t)\). The dynamic equilibrium gives
The equation of motion in a linear elastic case is thus given by
Hence the idea of a displacement-controlled experimental setup. The tunable shaking table should be able to model the seismic ground motion \(x_g(t)\) present, which is represented by the shaking table’s specimen plate movement. These motions can of course also be connected to other motions, such as the vibration of machinery, slides, or harmonic movements.
Signal Generation#
Harmonic Signals#
First, harmonic signals have been considered. They consist of a sum of frequency components and are closely related to the Fourier series. Choosing a number \(n_{\Omega}\) of frequencies, the position \(x_{H}(t)\) is calculated as the superposition of the harmonic frequencies and their respective amplitude factor by
where \(\mathbf{\Omega}_i \in \mathbb{R}_{\geq0}\) are the frequencies of interest and \(\mathbb{A}_i \in \mathbb{R}_{\geq0}\) the corresponding amplitude values with \(i \in [1, n_{\Omega}]\). The figures below show a fixed harmonic signal with a single frequency and a mixed harmonic signal with three superposed frequency components. These signals are deterministic.
Stationary Stochastic Signals#
Another class of signals of interest in structural engineering consists of uni-variate stationary Gaussian stochastic processes. They can be described by the Spectral Representation Method (SRM) from a functional frequency content, the so-called Power Spectral Density (PSD) function. The SRM and its variations, such as the Stochastic Harmonic Function (SHF) representation [3], are commonly used to simulate artificial ground motion [4][5].
Any PSD function can be used in the OpenVIBE framework according to the user preferences. Among possible PSD, the Shinozuka and Deodatis frequency content [6] referred to as the Shinozuka benchmark and defined by the following PSD
is chosen. The constant \(\sigma\) corresponds to the standard deviation of the stochastic signal and \(b\) is a parameter that models the correlation distance of the stochastic signals [7]. The values \(\sigma = 1\) and \(b = 1\) are chosen. From the reference PSD, a realization of the stochastic signal denoted \(x_S(t)\) reads
The angular frequencies \(\omega_n\) in \(\text{rad/s}\) are defined as \(\omega_n = n \Delta \omega\) with \(n \in [0,N-1]\) and \(\Delta \omega = \omega_u/N\). The angular frequency \(\omega_u = 4\pi\ \text{rad/s}\) is the upper cut-off angular frequency, directly linked with the upper cut-off frequency as \(f_u = \omega_u /2\pi\) beyond which the PSD function vanishes. The corresponding time discretization is \(\Delta t = \pi/\omega_u\) in \([\text{s}]\) . The number of terms \(N\) is a choice which governs the accuracy of the approximation. The phase angles \(\varphi_n\) are independent realizations of a uniform distribution between \(0\) and \(2 \pi\) [6].
The signal magnitude is scaled by the factor \(\mathbb{A}_s \in \mathbb{R}_{\geq0}\) to achieve the displacement amplitude desired by the user. For instance, to reach a maximum displacement around \(17\ \text{mm}\), the scaling factor \(\mathbb{A}_s = 3\) has been chosen. One realization, i.e. a stochastic signal generated with the Shinozuka benchmark is shown here:
The periodogram [2][8][9] is used to estimate the signal PSD based on the discrete Fourier transformation of the random signals (3), as detailed in the Periodogram section. The direct approximation of the signal PSD by an estimator like the periodogram is usually not possible, as the target PSD is not known exactly for natural processes.
Shinozuka benchmark#
We introduced the Shinozuka benchmark as a way of testing the frequency accuracy of the table and the framework. Usually, a single realization from a stochastic signal does not produce a nice looking PSD, but for certain input PSD functions this can be the case (e.g. (3)). While looking for ways to ensure that the framework does what it is supposed to do, the idea came up to use this property. Generating a signal from this PSD, then measuring the movement of the table and estimating the frequency contents with the Periodogram, we can easily assess divergences in the table’s behavior. The figure below shows the approximation of the Shinozuka PSD by the periodogram compared to the target PSD originally used to simulate the signal (2). All frequency components in the signal are preserved and thus the approximation is very accurate. The accuracy of the table can thus be evaluated by simulating one (or more for variance estimation) realizations with the Shinozuka PSD, measuring the displacement and then comparing the measured PSD to the original. For an accurate motion both PSDs should align. Therefore, the shaking table movement can be validated for the prescribed range of frequencies and accurate artificial ground motions of the shaking table will be expected for other stochastic signals generated by the SRM with similar frequency ranges to the Shinozuka benchmark.
Post-processing input signals for the shaking table#
Some generated signals might require large initial accelerations or velocities due to the underlying numerical procedures. To circumvent these issues, we introduced post-processing procedures to ensure the safe usage of the shaking table.
First, for the harmonic signals \(x_H(t)\), artificial linear acceleration and deceleration phases based on a window-function are inserted. The acceleration phase lasts from \(t=0\) to \(t=t_u\) and the deceleration phase’s duration lasts from \(t=t_d\) to \(t = T\) such that the durations of acceleration and deceleration are \(t_u\) and \(T_d = T - t_d\), respectively. Then, the harmonic signal \(x_H(t)\) is adjusted from these two windows as
Considering \(t_u = t_d = 1\ \text{s}\), the harmonic signals from above are corrected to have adequate acceleration and deceleration:
Second, the position for the first time instance must always be zero, whereas it may not be a priori the case for the stochastic signal. This is achieved by zero padding for all signals, adding a zero position for the time instance \(t=0\). Only one time instant is added and not an acceleration ramp because the frequency content of the signal has to be preserved. It results in \(\hat{x}_S(t) = [0, x_S(t)]\) and the time discretization is adjusted to \(t \in [0,T+\Delta t]\):
Other post-processing procedures, such as different window-functions for the ramp up and down are of course possible due to the open source nature of OpvenVIBE, but these are currently not implemented.
Periodogram#
The periodogram [8] is an estimator to determine PSD functions from stochastic signals. It is defined as the squared absolute value of the discrete Fourier transform of a time signal \(X(t)\) as follows
where \(T\) is the total number of discretized signal points and \(\Delta t\) the time increment. The time instant in the record \(t\) is just an index and \(k\) is the angular frequency discretization with \(\omega_k = \frac{2 \pi k}{T}\).