本程序采用振型分解反应谱法计算框架结构水平地震力.doc
文本预览下载声明
%本程序采用振型分解反应谱法计算框架结构水平地震力
%采用KN.M单位
%运行本程序之前请运行CYGD1.M和CYGD2.M求解框架水平侧移刚度
%本程序未考虑扭转耦联振动,只能用于平面框架计算。求解所有振型。
%结构地震影响系数按高规3.3.8选取
%地震作用和作用效应按高规3.3.10计算
clear %清理WORKSPACE
k0=[263770 %各层框架侧移刚度
263770
263770
263770
123582];
m0=[1.904 %各层质量,重力荷载代表值/g
2.677
2.677
2.677
2.677]*1.0e3./9.8;
n1= 0.21712; %单榀框架地震力分配系数
Tg=0.35; %特征周期(按规范选取)
s=0.05; %阻尼比(按规范选取)
r=0.9; %衰减系数(按规范选取)
y1=0.02; %阻尼比调整系数1(按规范选取)
y2=1; %阻尼比调整系数2(按规范选取)
amax=0.08; %水平地震最大影响系数(按规范选取)
zjxu=0.7 %周期折减系数(按规范选取)
cn=length(m0) %计算楼层数
l=diag(ones(cn));
m=diag(m0); %计算质量矩阵
ik=matrixju(k0,cn); %计算刚度矩阵
[x,d]=eig(ik,m) %求解特征值和特征向量
d=diag(sqrt(d)) %求解结构圆频率
T=zjxu*2*pi./d %求解结构特征周期并作折减,折减系数0.7
for i=1:cn;
[dl(i),j]=min(d);
xgd(:,i)=x(:,j);
d(j)=max(d)+1;
end
w=dl; %输出结构自振频率
x=xgd;
for j=1:cn; %求解结构振型参与系数和各质点的水平相对位移x
x(:,j)=x(:,j)/x(cn,j);
zhcan(j)=(x(:,j))*m*l/((x(:,j))*m*x(:,j));
end
y=zhcan %输出振型参与系数
alpha=zeros(cn,1); %求解地震影响系数
for i=1:cn;
if T(i)0.1
alpha(i)=5.5*amax*T(i)+0.45*amax;
else
if T(i)Tg;
alpha(i)=amax;
else
if T(i)5*Tg;
alpha(i)=[0.2.^r-y1*(T(i)-5*Tg)/y2]*amax;
else
alpha(i)=(Tg/T(i)).^r*amax;
end
end
end
end
a=alpha %输出地震影响系数
F=zeros(cn); %求解各振型下,各层水平地震力
for i=1:cn;
F(:,i)=x(:,i).*m0.*y(i).*a(i).*9.8;
end
f=F.*n1 %求解分配后地震力,并排序
z=zeros(cn,cn);
b=cn+1;
for n=1:cn;
z(b-n,:)=f(n,:);
end
p=z %输出地震力
v=zeros(cn,1); %求解水平地震力效应值
for i=1:cn;
v(i)=sum(p(i,:).^2);
end
V=v.^0.5
子程序
function kcju=matrixju(korc,cn)
kcju=zeros(cn,cn);
for i=1:cn-1;
kcju(i,i)=korc(i)+korc(i+1);
kcju(i,i+1)=-korc(i+1);
kcju(i+1,i)=-korc(i+1);
end
kcju(cn,cn)=korc(cn);
显示全部