Instructions
Requirements and Specifications
Source Code
INTERPO
function df = interpo(t, y, datagm, T)
% Define the critical damping ratio
zeta = 0.02;
% Compute natural frequency
wn = 2*pi/T;
% Define the mass in pounds
m = 1000;
% Compute k
k = wn^2 *m;
% Get variables
x = y(1);
v = y(2);
xg = datagm(t);
df = zeros(2,1);
df(1) = v;
df(2) = -xg - 2*zeta*wn*v - wn^2 *x; % xpp
end
QUESTIONS
clc, clear all, close all
load ELCentro.mat
% Define gravity value
% g = 9.81; % m/s^2
g = 386.08; % in/s^2
% Scale acceleration
fgm = fgm*g;
figure
plot(tgm, fgm), grid on
xlabel('Time (s)')
ylabel('Ground Acceleration $\frac{m}{s^{2}}$', 'interpreter', 'latex', 'fontsize', 18)
%% Question 2
% Interpolate
datagm = griddedInterpolant(tgm, fgm);
%% Question 3: See file interpo.m
%% Question 4
T = 1;
x0 = [0, 1];
[t,y] = ode45(@(t,y)interpo(t,y,datagm,T), tgm, x0);
x = y(:,1);
v = y(:,2);
% Compute acceleration
a = diff(v);
figure
subplot(1,3,1)
plot(t(1:end-1), a), grid on
xlabel('Time (s)')
ylabel('Acceleration $(\frac{in}{s^{2}})$', 'interpreter', 'latex', 'fontsize', 18)
title('Acceleration vs. Time')
subplot(1,3,2)
plot(t, v), grid on
xlabel('Time (s)')
ylabel('Velocity $(\frac{in}{s})$', 'interpreter', 'latex', 'fontsize', 18)
title('Velocity vs. Time')
subplot(1,3,3)
plot(t, x), grid on
xlabel('Time (s)')
ylabel('Displacement $(in)$', 'interpreter', 'latex', 'fontsize', 18)
title('Displacement vs. Time')
%% Question 5
% Now, use different values of T
Ts = 0.1:0.1:3;
% Vectors to store peak values of acceleration, displacement and velocity
accPeaks = zeros(length(Ts),1);
velPeaks = zeros(length(Ts),1);
dispPeaks = zeros(length(Ts),1);
for i = 1:length(Ts)
T = Ts(i);
[t,y] = ode45(@(t,y)interpo(t,y,datagm,T), t, x0);
x = y(:,1);
v = y(:,2);
% We compute acceleration by using the command diff
a = diff(v);
% Get peaks
accPeaks(i) = max(abs(a));
velPeaks(i) = max(abs(v));
dispPeaks(i) = max(abs(x));
end
figure
subplot(1,3,1)
stem(Ts, accPeaks), grid on
xlabel('Period {T (s)}')
ylabel('Acceleration $(\frac{in}{s^{2}})$', 'interpreter', 'latex', 'fontsize', 18)
title('Spectral Acceleration')
subplot(1,3,2)
stem(Ts, velPeaks), grid on
xlabel('Period {T (s)}')
ylabel('Velocity $(\frac{in}{s})$', 'interpreter', 'latex', 'fontsize', 18)
title('Spectral Velocity')
subplot(1,3,3)
stem(Ts, dispPeaks), grid on
xlabel('Period {T (s)}')
ylabel('Displacement $(in)$', 'interpreter', 'latex', 'fontsize', 18)
title('Spectral Displacement')
%% Report
% In this work an analysis of the dynamics of a structure under the effects of an earthquake (ground acceleration)
% is carried out. Through integration methods and graphical analysis, the results of acceleration, velocity
% and displacement of the structure are analyzed.
% In Figure 1 we can observe the values of the ground acceleration for a time window of 54 seconds.
% We can see that the ground acceleration reaches a maximum peak of 134.6 inches.
% In Figure 2, we can see the dynamic results of the structure. We see that the structure suffers
% a small displacement (maximum 6 inches) thanks to the damping effect that the structure has, which minimizes
% the damage caused by earthquakes.
% In Figure 3 we see the spectral analysis of the structure. This analysis is extremely important since it allows us to detect
% if the structure is prone to greater damage for low or high frequency earthquakes. In this case, we see that
% the structure is prone to damage for low frequencies (high periods), since we see that for longer periods
% the displacement of the structure increases, which means that the oscillation amplitude is greater and
% therefore it can break (taking as an example a structure similar to a skyscraper