Vous êtes sur la page 1sur 5

clc

clear
close all
time_step=0.1
global rou EI l mu % the main program
rou=9360;
EI=2.05e11;
mu=0.05;
mode=5; %input('how many mode shape ')
N=mode+8;
mt1=2700;
mt2=2700;
mt3=11400;
mt4=11400;
mt5=6800;
mt6=6800;
mt7=6800;
mt8=6800;
ktttttt=4.28e6; %Stiffnesssssssssssssssssssssssssssssssssss
kt1=ktttttt;
kt2=ktttttt;
kt3=ktttttt;
kt4=ktttttt;
kt5=ktttttt;
kt6=ktttttt;
kt7=ktttttt;
kt8=ktttttt;
ctttttt=9.8e4; %dampingssssssssssssssssssssssssssssssssss
ct1=ctttttt;
ct2=ctttttt;
ct3=ctttttt;
ct4=ctttttt;
ct5=ctttttt;
ct6=ctttttt;
ct7=ctttttt;
ct8=ctttttt;
aaa=1.1; % vehicle wheel spacing from front
bbb=3.2;
ccc=1.2;
ddd=4.3;
eee=3;
fff=3;
ggg=3;
sumlength=18.8; %distance from front wheel to rear wheel
k=0;
varr=0;
for span=20:5:60
varr=varr+1;
for i_mode=1:mode
Wn_(i_mode)=((pi^2/span^2)*((EI/(rou*span)))^0.5)*(i_mode^2);
Wn_beam=Wn_';
end
NFrequency_beam_Allspan(:,varr)=Wn_beam; %Natural frequency of beam for each
mode(row wise)
end %and for different spans(column wise)
lop1=0;
for spn=20:5:60
lop1=lop1+1;
for lop2=1:mode
Resonance_velocity(lop2,lop1)=(spn*NFrequency_beam_Allspan(lop2,lop1))/pi;
end %velocity required for resonance of bridge for each mode(row wise) and
for different span(column wise)
end

for i1=20:5:60
l=i1;
for i2=30:10:130
velocity=i2*1000/3600 ; % in m/s the speed of the
T=(l+sumlength)/velocity;
dt=time_step*T;
t=0:dt:T;
t=t';
x=t*velocity;
nl=4;
NN=1000;
nu=5;
for i3=1:1:5
level=i3;
r=irregularity(level,NN,nl,nu,x); %level:A=1,B=2......
r_dot=(r(2:length(r))-r(1:length(r)-1))/dt;
A=zeros(N,length(t));
V=zeros(N,length(t));
X=zeros(N,length(t));
Q=zeros(N,length(t));
A0=zeros(N,1);
V0=zeros(N,1);
X0=zeros(N,1);
for jjj=1:length(t)
if t(jjj)*velocity<l
delta1=1;
irr1=r(jjj);
irr_dot1=r_dot(jjj);
else delta1=0;
irr1=0;
irr_dot1=0;
end
if t(jjj)*velocity<l+aaa & t(jjj)*velocity>aaa;
delta2=1;
irr2=r(floor((t(jjj)*velocity-aaa)/dt/velocity)+1);
irr_dot2=r_dot(floor((t(jjj)*velocity-aaa)/dt/velocity)+1);
else delta2=0;
irr2=0;
irr_dot2=0;
end
if t(jjj)*velocity<l+aaa+bbb & t(jjj)*velocity>aaa+bbb;
delta3=1;
irr3=r(floor((t(jjj)*velocity-aaa-bbb)/dt/velocity)+1);
irr_dot3=r_dot(floor((t(jjj)*velocity-aaa-bbb)/dt/velocity)+1);
else delta3=0;
irr3=0;
irr_dot3=0;
end
if t(jjj)*velocity<l+aaa+bbb+ccc & t(jjj)*velocity>aaa+bbb+ccc;
delta4=1;
irr4=r(floor((t(jjj)*velocity-aaa-bbb-ccc)/dt/velocity)+1);
irr_dot4=r_dot(floor((t(jjj)*velocity-aaa-bbb-ccc)/dt/velocity)+1);
else
delta4=0;
irr4=0;
irr_dot4=0;
end
if t(jjj)*velocity<l+aaa+bbb+ccc+ddd & t(jjj)*velocity>aaa+bbb+ccc+ddd;
delta5=1;
irr5=r(floor((t(jjj)*velocity-aaa-bbb-ccc-ddd)/dt/velocity)+1);
irr_dot5=r_dot(floor((t(jjj)*velocity-aaa-bbb-ccc-ddd)/dt/velocity)+1);
else delta5=0;
irr5=0;
irr_dot5=0;
end
if t(jjj)*velocity<l+aaa+bbb+ccc+ddd+eee & t(jjj)*velocity>aaa+bbb+ccc+ddd+eee;
delta6=1;
irr6=r(floor((t(jjj)*velocity-aaa-bbb-ccc-ddd-eee)/dt/velocity)+1);
irr_dot6=r_dot(floor((t(jjj)*velocity-aaa-bbb-ccc-ddd-eee)/dt/velocity)+1);
else delta6=0;
irr6=0;
irr_dot6=0;
end
if t(jjj)*velocity<l+aaa+bbb+ccc+ddd+eee+fff &
t(jjj)*velocity>aaa+bbb+ccc+ddd+eee+fff;
delta7=1;
irr7=r(floor((t(jjj)*velocity-aaa-bbb-ccc-ddd-eee-fff)/dt/velocity)+1);
irr_dot7=r_dot(floor((t(jjj)*velocity-aaa-bbb-ccc-ddd-eee-fff)/dt/velocity)
+1);
else delta7=0;
irr7=0;
irr_dot7=0;
end
if t(jjj)*velocity<l+aaa+bbb+ccc+ddd+eee+fff+ggg &
t(jjj)*velocity>aaa+bbb+ccc+ddd+eee+fff+ggg;
delta8=1;
irr8=r(floor((t(jjj)*velocity-aaa-bbb-ccc-ddd-eee-fff-ggg)/dt/velocity)+1);
irr_dot8=r_dot(floor((t(jjj)*velocity-aaa-bbb-ccc-ddd-eee-fff-
ggg)/dt/velocity)+1);
else delta8=0;
irr8=0;
irr_dot8=0;
end

[M,C,K]=MCK(mt1,mt2,mt3,mt4,mt5,mt6,mt7,mt8,kt1,kt2,kt3,kt4,kt5,kt6,kt7,kt8,ct1,ct2
,ct3,ct4,ct5,ct6,ct7,ct8,aaa,bbb,ccc,ddd,eee,fff,ggg,N,delta1,delta2,delta3,delta4,
delta5,delta6,delta7,delta8,t(jjj),velocity);

Q=force(ct1,ct2,ct3,ct4,ct5,ct6,ct7,ct8,kt1,kt2,kt3,kt4,kt5,kt6,kt7,kt8,aaa,bbb,ccc
,ddd,eee,fff,ggg,mt1,mt2,mt3,mt4,mt5,mt6,mt7,mt8,irr1,irr2,irr3,irr4,irr5,irr6,irr7
,irr8,irr_dot1,irr_dot2,irr_dot3,irr_dot4,irr_dot5,irr_dot6,irr_dot7,irr_dot8,veloc
ity,t(jjj),delta1,delta2,delta3,delta4,delta5,delta6,delta7,delta8,N);
A0=M\(Q-C*V0-K*X0);
X1=X0+V0*dt+1/2*A0*dt^2;
V1=V0+A0*dt;
A1=M\(Q-C*V1-K*X1);
error1=1;
while error1>0.0001
X2=X0+V0*dt+(1/2-1/4)*A0*dt^2+1/4*A1*dt^2;
V2=V0+(1-1/2)*A0*dt+1/2*A1*dt;
A2=M\(Q-C*V2-K*X2);
error1=sum(abs(abs(A2)-abs(A1)))/sum(abs(A1));
A1=A2;
V1=V2;
X1=X2;
end
X0=X1;
V0=V1;
A0=A1;
X(:,jjj)=X0;
V(:,jjj)=V0;
A(:,jjj)=A0;
end
k=k+1;
final_x(:,:,k)=X(:,:);

end
end
end
var=0
k2=0
for L1=20:5:60
for iii=30:10:130
velocity=iii*1000/3600; % in m/s the speed of the
T=(L1+sumlength)/velocity;
dt=time_step*T;
t=0:dt:T;
t=t';
midpoint=L1/2;
for i_r=1:5
k2=k2+1
X_1(:,:)=final_x(:,:,k2);
[rows1,columns1]=size(X_1);
X_location=zeros(columns1,1);
X_contact1=zeros(length(t),1);
XXG1=zeros(length(t),1);
for jjj2=1:length(t)
xG1=t(jjj2)*velocity;
X_contact1(jjj2)=bridge_XVA(X_1(1:rows1,jjj2),L1,midpoint,rou);
XXG1(jjj2)=xG1;
end
var=var+1;
max1(var,:)=1000*max(abs(X_contact1)); %maximum value of displacement for a
particular span length
end
end
end

var6=0;
for k4=1:9
for i4=1:11
for j4=1:5
var6=var6+1;
loss1(j4,:)=max1(var6);
end
loss2(:,i4)=loss1;
end
maxfinal(:,:,k4)=loss2; %maximum values of displacements in a matrix row wise
irregularities row(v1_1 v2_1 v3_1.....vn_1
end
var7=0;
for i5=20:5:60
var7=var7+1;
p=(mt1+mt2+mt3+mt4+mt5+mt6+mt7+mt8)*9.81;
L=i5;
staticdeflection(var7,:)=1000*((p*L*L*L)/(48*EI));
end

var8=0;
for loop1=1:9
var8=var8+1;
for loop2=1:5
for loop3=1:11
newmat_impfactor(loop2,loop3,loop1)=... %impactfactor=((dynamic/static)-1)
((((maxfinal(loop2,loop3,loop1))...
/ (staticdeflection(var8,:))))-1)
end
end
end

Vous aimerez peut-être aussi