文档详情

本程序采用振型分解反应谱法计算框架结构水平地震力.doc

发布:2017-08-28约1.97千字共5页下载文档
文本预览下载声明
%本程序采用振型分解反应谱法计算框架结构水平地震力 %采用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);
显示全部
相似文档