Project Report
Project Report
EARTHQUAKE VIBRATION
ANALYSIS ON A BUILDING
SUBMITTED BY :
NAME REGISTRATION NUMBER
Arjun Pardasani 16BMD0002
Ayushman Keshan 16BMD0005
Vaidehi Deshpande 16BMD0013
When looking at the effect of earthquakes on buildings, often, the impact of one floor on another
is ignored. This project attempts to develop a new method of analyzing such effects.
INTRODUCTION
According to recent geographical statistics in India, approximately 54% of the land is prone to
earthquakes, and by the year 2050, 200 million people living in cities will be exposed to
calamities such as storms and earthquakes. This is due to the fact that the Indian sub-continent’s
tectonic plate is crashing against Asia’s tectonic plate at a rate of 47mm/year. This can lead to
severe damages if proper precautions are not taken.
This project consists of an experimental 3 story structure and uses an active mass driver control
system to isolate the vibrations on different levels. The driver will be on the top floor and will
help in the attenuation of disturbances on the ground.
The simulation is carried out in Matlab using an open loop system in comparison with the 3 story
building. A Kanai Tajimi filter is also used.
KANAI TAJIMI FILTER
The Kanai Tajimi filter is a stationary filtered white noise model that is often used in earthquake
engineering. An image of its application in measuring the scale of the earthquake is given below.
METHODOLOGY
The entire simulation can be divided into 2 steps.
1. An active mass driver control system and
2. The control structure.
ACTIVE MASS DRIVER CONTROL SYSTEM
The following is a sample image of the three story building and the active mass driver control
system.
MATLAB CODE
The MATLAB code is sectioned into the following segments.
1. Model of the earthquake acceleration
2. Open Loop
3. Control structure and design
4. Controller tuning
5. Validation
The various MATLAB codes along with the outputs is given below.
load ThreeStoryData
size(P)
zg = 0.3;
wg = 37.3;
S0 = 0.03*zg/(pi*wg*(4*zg^2+1));
Numerator = sqrt(S0)*[2*zg*wg wg^2];
Denominator = [1 2*zg*wg wg^2];
F = sqrt(2*pi)*tf(Numerator,Denominator);
F.InputName = 'n'; % white noise input
bodemag(F)
grid
title('Kanai-Tajimi filter')
% Add Kanai-Tajimi filter to the plant
PF = P*append(F,1);
% Standard deviations of open-loop drifts
CV = covar(PF('d','n'),1);
d0 = sqrt(diag(CV));
% Standard deviations of open-loop acceleration
CV = covar(PF('xa','n'),1);
xa0 = sqrt(diag(CV));
% Plot open-loop RMS values
clf
bar([d0; xa0])
title('Drifts and accelerations for uncontrolled structure')
ylabel('Standard deviations')
set(gca,'XTickLabel',{'d(1)','d(2)','d(3)','xa(1)','xa(2)','xa(3)'})
% Soft requirements on drifts and accelerations
Soft = [
TuningGoal.Variance('n','d(1)',d0(1)) ;
TuningGoal.Variance('n','d(2)',d0(2)) ;
TuningGoal.Variance('n','d(3)',d0(3)) ;
TuningGoal.Variance('n','xa(1)',xa0(1)) ;
TuningGoal.Variance('n','xa(2)',xa0(2)) ;
TuningGoal.Variance('n','xa(3)',xa0(3))];
% Hard requirements on control effort
Hard = [...
TuningGoal.Variance('n','xm',3) ;
TuningGoal.Variance('n','xam',2) ;
TuningGoal.Variance('n','u',1)];
C = tunableSS('C',5,1,4);
C.D.Value = 0;
C.D.Free = false; % Fix feedthrough to zero
% Build tunable closed-loop model
T0 = lft(PF,C);
% Tune controller parameters
[T,fSoft,gHard] = systune(T0,Soft,Hard);
% Standard deviations of closed-loop drifts
CV = covar(T('d','n'),1);
d = sqrt(diag(CV));
% Standard deviations of closed-loop acceleration
CV = covar(T('xa','n'),1);
xa = sqrt(diag(CV));
% Compare open- and closed-loop values
clf
bar([d0 d; xa0 xa])
title('Drifts and accelerations')
ylabel('Standard deviations')
set(gca,'XTickLabel',{'d(1)','d(2)','d(3)','xa(1)','xa(2)','xa(3)'})
legend('Uncontrolled','Controlled','location','NorthWest')