TMD系统最优参数的设计方法.doc

上传人:文库蛋蛋多 文档编号:2691008 上传时间:2023-02-22 格式:DOC 页数:18 大小:626.50KB
返回 下载 相关 举报
TMD系统最优参数的设计方法.doc_第1页
第1页 / 共18页
TMD系统最优参数的设计方法.doc_第2页
第2页 / 共18页
TMD系统最优参数的设计方法.doc_第3页
第3页 / 共18页
TMD系统最优参数的设计方法.doc_第4页
第4页 / 共18页
TMD系统最优参数的设计方法.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《TMD系统最优参数的设计方法.doc》由会员分享,可在线阅读,更多相关《TMD系统最优参数的设计方法.doc(18页珍藏版)》请在三一办公上搜索。

1、 结构动力学小论文 班 级 土木卓越1201班 学 号 U201210323 姓 名 陈祥磊 指导老师 叶 昆 2015.01.05TMD系统最优参数的设计方法摘要:调谐质量阻尼器TMD由质块,弹簧与阻尼系统组成。即由将其振动频率调整至主结构频率附近,改变结构共振特性,以达到减震作用。将调谐质量阻尼器(TMD)装入结构的目的是减少在外力作用下基本结构构件的消能要求值。在该情况下,这种减小是通过将结构振动的一些能量传递给以最简单的形式固定或连接在主要结构的辅助质量弹簧阻尼筒系统构成的TMD来完成的。现在的建筑结构在地震作用下容易产生过大的反应进而发生破坏,因此TMD等减震结构显得非常重要,要将T

2、MD应用于实际结构中,鉴于结构的空间都是有限的,所以TMD不能过大,即TMD的质量相对于结构而言应该很小。本文中选择,即TMD的质量为主体结构的5%。其次,TMD应该能够发挥明显的减震作用,因此我们需要对TMD的参数进行设计选择。本文对结构基底在受地震激励下的TMD参数设计进行了研究,并且用真实的地震波通过MATLAB编程的方法实现TMD的作用以搜索到最优的TMD参数。关键词:TMD 阻尼比 频率比 参数优化一、 TMD减震理论简介 下图所示为两自由度体系的结构图,通过这个结构来研究TMD结构的减震机理。列出两个质点的平衡方程如下: 写成矩阵形式即为:整个结构的阻尼矩阵:,要求出、,通过结构的

3、第一二主振频率求得: 由于直接用各质点相对与地面的位移值难以直接反应结构在地震下的层间位移,所以,将位移量进行变换,将各层间位移量作为基本未知量,即令 再列出两个质点的平衡方程如下: 写成矩阵形式为:对于多自由度的结构而言,此时的质量矩阵、刚度矩阵将会发生改变其中的质量矩阵不再是对角矩阵,而是满秩矩阵,其表达式如下:编写程序形成M矩阵时,M矩阵符合下列表达式: 编程时即可形成满秩的质量矩阵。经过变换后,矩阵是一个对角矩阵,原来的矩阵为经过变换后,矩阵为阻尼矩阵的变化通过下面的程序实现:for i=1:ND if i=ND C(i)=CMatrix1(i,i); else C(i)=CMatri

4、x1(i,i)+CMatrix1(i,i+1); endend刚度矩阵也是相同的变化。经过这样的变化之后便于我们研究结构在地震力作用下的各层层间位移。虽然TMD系统可以用于减震,但是应该选择合适的频率比和阻尼比,否则难以发挥则用,甚至起到反作用。对于理想的无阻尼的系统而言,可以求解出和的解析式,进而求出最优值。其最优值如下: ; 实际建筑工程中的系统都是有阻尼的,而且安装了TMD的系统激振频率一旦偏离TMD系统的固有频率,主结构的振幅将急剧增大。所以,研究有阻尼系统的TMD是很有实际意义的,此时求解的出的TMD参数才能真正应用于实际结构中。考虑了主结构的阻尼的TMD系统,将无法导出最优频率比和

5、最优阻尼比的解析式。虽然可以通过非线性规划的方法得到最优频率比和最优阻尼比的近似解,但是过于繁杂,需要一种程序化的方法来简化求解过程。二、结构参数 计算结构为下图所示的多自由度体系结构,研究此结构在地震动作用下的位移、速度以及加速度等的变化过程。结构计算参数如下:1、 ;2、 ;3、结构参数中;。 结构计算简图 4、其中每一层的阻尼比为=0.05,TMD的质量为结构总质量的5%,即 5、根据上面的结构图和计算参数,求得在无阻尼时TMD的最优阻尼和刚度: =0.9642 ; =0.1336 =819856 =37665357取;。在求解有阻尼结构的TMD最优频率比和阻尼比时,以求得的无阻尼情况下

6、的最优阻尼和刚度作为初值,来求有阻尼系统的最优值。放大之后细节图为:第四层楼的层间位移图放大之后细节图为:第五层楼的层间位移图TMD的相对位移图由程序可得TMD的位移幅值为0.062802,其与层间最大位移的比值再观察TMD的位移图可知,TMD的位移远大于结构本身各层的层间位移值,从能量角度而言,TMD结构通过吸收地震的能量从而达到减小结构地震反映的目的,所以自身的位移值会很大。实际结构中通常将TMD装置安装在结构的顶部,由于结构的承载能力和空间有限,所以其质量不能过大,一般都是结构总质量的5%以内。 结构加上TMD前后的层间位移幅值对比表位移幅值 位移模式without TMDwith TM

7、D比值Y10.0154087280.0131248130.851777861Y20.0139448910.0118609580.850559356Y30.0115306660.0098419230.853543284Y40.0082223740.0070791670.860963836Y50.0042738240.0037749890.883281401将上述表格的数据制成图,从图上可以清楚地看到加上TMD之后的效果是很明显的。蓝色线条表示的是未加TMD的层间位移,红色线为加了TMD后的层间位移。 由图表可知,对于结构的层间位移,加了TMD时的位移幅值大概都是未加TMD时位移幅值的85%,可见

8、隔震效果比较明显,能够明显的减小各层的位移,对于提高结构的抗震性能非常有用。此时的频率比和阻尼比还不是待求的最优值,表明在最优条件下,TMD的作用会更加明显。我们还可以从表中看到,无论是否加了TMD,层间位移都是逐层递减的,底层的层间位移(也就是第一层的位移)最大,顶层的层间位移最小。分析时可以选择任意一个作为我们分析的目标值。 三、 优化算法 1、采用Matlab中的优化函数 将结构本身看做一个质点,考虑TMD对这个系统的减震作用,结构分析如下: 加TMD后结构分析图上图是主结构-TMD系统模型。设质量为、,弹簧的刚度系数为、,阻尼器的粘性阻尼系数为、。设在地面的运动加速度作用下,在时刻t,

9、主结构和TMD系统相对于基底(轴)的位移分别为、,而其相对加速度分别为、,绝对加速度分别为,根据达朗贝尔原理可以建立“主结构TMD”系统的运动微分方程: 将结构的动力反应作为函数;而 实际上是一个关于、的隐函数,所以将求解结构层间位移的程序作为目标函数,其中的、值用待求的未知量表示。通过程序不断地搜索任意的值带入直到搜索到最小的位移,此时的目标函数可以选择是任意一层的层间位移,也可以选择层间位移之和,也就是最上面一层的对地位移,本文选择后面一种,即以最上一层的位移值作为目标函数,通过函数优化找出其最小值时TMD结构的、值。编写程序运行结果如下:设定的参数:x = 1.0e+07 *(3.766

10、525299961552 0.082213714221286)也就是;。也就是此种方法下求得的最优值。将此时的值带入到TMD程序中,算的各层的层间位移列表如下:结构加上TMD时优化前后的层间位移幅值对比表位移幅值位移模式without TMDwith TMDwith TMD(yh)比值Y10.0154087280.0131248130.0083998320.545134673Y20.0139448910.0118609580.0071615690.51356224Y30.0115306660.0098419230.0053447690.463526501Y40.0082223740.00707

11、91670.0037532540.456468411Y50.0042738240.0037749890.0027321370.639272263 从图表上可以清楚地看到加上参数最优的TMD之后的效果是很明显的。黄色线条表示的是未加TMD的层间位移。由图表可知,对于结构的层间位移,加了优化的TMD时的位移幅值大概都是未加TMD时位移幅值的50%左右,对于此时的顶层位移比上原顶层位移为51.313814%,可见隔震效果比较明显,能够极大的减小各层的位移,对于提高结构的抗震性能非常有用。再看优化效果,对于加了TMD的第一种情况,通过参数优化使得各层间位移明显减小。减少程度均为30%多,可得优化是很明

12、显的。 2、采用遗传算法求解最优值由于 是一个关于TMD结构、的隐函数,无法采用直接求导方法求其极值。此外,该优化问题为不等式约束优化问题。对不等式约束优化问题,传统的方法采用罚函数法,此法常因边界条件及惩罚因子的设置不当,而无法收敛。另外一个解决算法就是遗传算法,遗传算法是基于生物遗传和进化机制、适合于复杂系统的自适应概率优化技术。通过遗传算法可以求得最优的、。由于目前所掌握的Matlab知识有限,而且此方法特别复杂。所以还不能将此方法进行实际的编程运用,只是大概了解了一下思想。【附录】1、Tuned_Mass_Damper_2DOFclc;clear;close;%global EWave

13、File_Name = E:Matlab_CodeMatlab_CodeGround_Motions_LibraryIMPVALLH-E01140.AT2;%fid = fopen(File_Name,r);% EWave.Str1 = fgetl (fid);EWave.Str2 = fgetl (fid);EWave.Str3 = fgetl (fid);EWave.NPTs=fscanf(fid, %i ,1);EWave.DT =fscanf(fid, %f ,1);EWave.Str4 = fgetl (fid);%DATA = transpose(fscanf(fid, %g %g

14、, 1 inf); %EWave.Time=zeros(EWave.NPTs,1); for i=1:EWave.NPTs EWave.Time(i)= (i-1)*EWave.DT; endEWave.Acel = DATA(:,1);EWave.AMax=max(abs(EWave.Acel);%EWave.Acel=EWave.Acel*0.3*9.81/EWave.AMax;%EWave.DT = EWave.Time(2) - EWave.Time(1);% Parameters 1 - Without TMDglobal EVector1global MMatrix1global

15、CMatrix1global KMatrix1global MVecglobal KVec%ND = 5;%MVec = zeros(ND,1);KVec = zeros(ND,1);for i = 1:ND MVec(i) = 1000E3;endfor i = 1:ND KVec(i) = 1.0*2000E6;end%MMatrix1 = zeros(ND, ND);KMatrix1 = zeros(ND, ND);%for i = 1:ND MMatrix1(i,i) = MVec(i);end%for i = 1:ND if i = 1 KMatrix1(i,i ) = KVec(i

16、 ) + KVec(i+1); KMatrix1(i,i+1) = -KVec(i+1); else if i = ND KMatrix1(i,i-1) = -KVec(i); KMatrix1(i,i ) = KVec(i); else KMatrix1(i,i-1) = -KVec(i ); KMatrix1(i,i ) = KVec(i ) + KVec(i+1); KMatrix1(i,i+1) = -KVec(i+1); end endendEVector1 = zeros(ND,1);%EIGVecs, EIGVals = eig(MMatrix1KMatrix1);%WVecto

17、r = sqrt(EIGVals);TVector = 2*pi./sqrt(diag(EIGVals);%BETA = 2.0*0.05/(WVector(1,1) + WVector(2,2);ALPHA = BETA*WVector(1,1)*WVector(2,2);%CMatrix1 = ALPHA*MMatrix1 + BETA*KMatrix1;%for i=1:ND if i=ND C(i)=CMatrix1(i,i); else C(i)=CMatrix1(i,i)+CMatrix1(i,i+1); endend%CMatrix1 = zeros(ND,ND);MMatrix

18、1 = zeros(ND,ND);for i = 1:ND for j=1:ND if j=i for n=j:ND MMatrix1(i,j)=MMatrix1(i,j)+MVec(n); end else for n=i:ND MMatrix1(i,j)=MMatrix1(i,j)+MVec(n); end end endend %KMatrix1 = zeros(ND,ND);for i = 1:ND KMatrix1(i,i) = KVec(i);end%for i = 1:ND CMatrix1(i,i) = C(i);end%for i = 1:ND EVector1(i) =MM

19、atrix1(i,i);end% Parameters 2 TMD - With TMDglobal EVector2global MMatrix2global CMatrix2global KMatrix2global MVec2%EVector2 = zeros(ND+1,1);MMatrix2 = zeros(ND+1,ND+1);CMatrix2 = zeros(ND+1,ND+1);KMatrix2 = zeros(ND+1,ND+1);%for i = 1:ND+1 if i=ND+1 MVec2(i)=2.5E5; else MVec2(i) = MVec(i); endendf

20、or i = 1:ND+1 for j=1:ND+1 if j=i for n=j:ND+1 MMatrix2(i,j)=MMatrix2(i,j)+MVec2(n); end else for n=i:ND+1 MMatrix2(i,j)=MMatrix2(i,j)+MVec2(n); end end endend %for i = 1:ND+1 if i=ND+1 KMatrix2(i,i)=3.766E7; else KMatrix2(i,i) = KVec(i); endend%for i = 1:ND+1 if i=ND+1 CMatrix2(i,i)=819856; else CM

21、atrix2(i,i) =CMatrix1(i,i); endend%for i = 1:ND+1 EVector2(i) =MMatrix2(i,i);end% Execute the time-history analysis 01%Solver1.TD = min(EWave.Time) max(EWave.Time);Solver1.IC = zeros(10,1);Solver1.Opt = odeset(MaxStep, EWave.DT);%T1,V1 = ode45(Tuned_Mass_Damper_2DOF_ODE1, Solver1.TD, Solver1.IC, Sol

22、ver1.Opt);%subplot(3,1,1)plot(T1, V1(:,4), red ); grid on; hold on;xlabel(Drift of 4th Story);ylabel(Displacement);%subplot(3,1,2)plot(T1, V1(:,5), blue); grid on; hold on;xlabel(Drift of 5th Story);ylabel(Displacement);% subplot(3,1,3)% plot(T1, V1(:,6), blue); grid on; hold on;% xlabel(Drift of 6t

23、h Story);% ylabel(Displacement);% Execute the time-history analysis 02%Solver2.TD = min(EWave.Time) max(EWave.Time);Solver2.IC = zeros(12,1);Solver2.Opt = odeset(MaxStep,EWave.DT);%T2,V2 = ode45(Tuned_Mass_Damper_2DOF_ODE2, Solver2.TD, Solver2.IC, Solver2.Opt);%subplot(3,1,1)plot(T2, V2(:,4),blue,Li

24、neWidth,2); grid on; hold on;hleg1 = legend(Without TMD,With TMD);%subplot(3,1,2)plot(T2, V2(:,5),yellow,LineWidth,2); grid on; hold on;hleg2 = legend(Without TMD,With TMD);%subplot(3,1,3)plot(T2, V2(:,6),blue,LineWidth,2); grid on; hold on;xlabel(Drift of TMD);ylabel(Displacement);2、 Youhua.m优化程序op

25、tions=optimset(options,tolfun,1e-10);x0=37665357 819856;x,fval=fminunc(fun1,x0,options);xfval3、function f=fun1(x)%global EVector2global MMatrix2global CMatrix2global KMatrix2global CMatrix1global MVec2global NDglobal MVecglobal KVecglobal EWave%EVector2 = zeros(ND+1,1);MMatrix2 = zeros(ND+1,ND+1);CM

26、atrix2 = zeros(ND+1,ND+1);KMatrix2 = zeros(ND+1,ND+1);%for i = 1:ND+1 if i=ND+1 MVec2(i)=250000; else MVec2(i) = MVec(i); endendfor i = 1:ND+1 for j=1:ND+1 if j=i for n=j:ND+1 MMatrix2(i,j)=MMatrix2(i,j)+MVec2(n); end else for n=i:ND+1 MMatrix2(i,j)=MMatrix2(i,j)+MVec2(n); end end endend %for i = 1:

27、ND+1 if i=ND+1 KMatrix2(i,i)=x(1); else KMatrix2(i,i) = KVec(i); endend%for i = 1:ND+1 if i=ND+1 CMatrix2(i,i)=x(2); else CMatrix2(i,i) =CMatrix1(i,i); endend%for i = 1:ND+1 EVector2(i) =MMatrix2(i,i);end% Execute the time-history analysis 02%Solver2.TD = min(EWave.Time) max(EWave.Time);Solver2.IC =

28、 zeros(12,1);Solver2.Opt = odeset(MaxStep,EWave.DT);%T2,V2 = ode45(Tuned_Mass_Damper_2DOF_ODE2, Solver2.TD, Solver2.IC, Solver2.Opt);%f=max(V2(:,1)+max(V2(:,2)+max(V2(:,3)+max(V2(:,4)+max(V2(:,5);end4、Aequilateoptions=optimset(options,tolfun,1e-10);x0=37665357 819856;x,fval=fminunc(fun1,x0,options);xFval(注:运行程序时,先运行TMD程序,再运行Aequilate程序,最后运行Youhua.m优化程序)【参考文献】1、李春祥、刘艳霞、熊学玉 TMD系统最优参数的实用设计方法 2、强跃 何建 何运祥 等 改进遗传算法的结构调谐质量阻尼器风振控制的优化设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号