相信有不少小伙伴刚接触Bouc-Wen模型的时候跟笔者一样,一头雾水。内部滞回变量z到底是个什么东东,想象不出好抽象⊙(・◇・)? 下面笔者就分享一下自己的学习过程,欢迎讨论,共同进步。 01 模型原理 Bouc-Wen模型是模拟金属阻尼器精度较高的实用滞回模型,最先由Bouc (1967年) 提出,并由Wen(1976年)进一步推广,局部坐标系中单元内力为: 式中:和 Fi 分别为局部坐标系中i 向单元位移全量、位移增量、内力、初始刚度和屈服力; 和 分别为上一时步和当前时步的i向内部滞回变量。 Bouc-Wen模型是个数学模型,控制参数很抽象,内部滞回变量z是什么含义呢?查阅文献(天津大学张敬云硕士论文)后,才了解到Bouc-Wen模型的原始力学模型如图1所示,由一个线性弹簧和一个非线性单元组成,其中非线性单元由一个线性弹簧和一个Coulomb摩擦块串联组成。在此力学模型中包含两个自由度,即:整体位移u 和弹簧的滞变位移z,原来z就是弹簧2的位移呀,恍然大悟啊!Bouc提出了一种平滑的从弹性到非弹性的过渡关系式,直接的效果就是:在作用在摩擦块上的力没有达到屈服值时,摩擦块就开始滑动。此处省略500字,感兴趣的小伙伴可以自行查阅。 02 数值试验 为了进一步了解Bouc-Wen模型的滞回特性,笔者在Matlab里编写了静力往复加载试验和单自由度体系正弦荷载激励试验的代码,原谅笔者脑容量小,不亲手实践、亲眼所见,就想象不出来,滞回曲线画出来了,心里就踏实啦,贴上源码,感兴趣的朋友可以自己试试。 静力往复加载试验Matlab参考代码: clear all;close all;clc; ratio=0.002; k=64800; exp=0.5; Fy=100; x=0:pi/100:2*pi; d=sin(x)/10; f=x; z0=0; z=0; for i=2:(length(d)) u=d(i); du=(d(i)-d(i-1))/10; for j=1:10 sign=0; if(du*z>0) sign=1; end dz=k/Fy*du*(1-sign*power(abs(z),exp)); z=z+dz; end f(i)=ratio*k*u+(1-ratio)*Fy*z; end plot(d,f); 单自由度体系正弦荷载激励试验(中心差分方法)Matlab参考代码: %function [a,u]=centralWen(dt) % central dt=0.01; % central m=17.5; %质量 c=0;%阻尼比 t0=0; %起始时间 t2=30; %结束时间 t=t0:dt:t2; u=t;u(1)=0;u(2)=0; a=t; fs=t; a(1)=0; fs(1)=0; k1=m/dt/dt+c/2/dt; b=m/dt/dt-c/2/dt; c=2*m/dt/dt; ratio=0.002; k=64800; exp=0.5; Fy=100; z=0; for i=2:length(t)-1 x=t(i); pi=100*sin(x); du=(u(i)-u(i-1))/10; for j=1:10 sign=0; if(du*z>0) sign=1; end dz=k/Fy*du*(1-sign*power(abs(z),exp)); z=z+dz ; end fs(i)=ratio*k*u(i)+(1-ratio)*Fy*z; pi1=pi-fs(i)+c*u(i)-b*u(i-1); u(i+1)=pi1/k1; a(i)=(u(i+1)-2*u(i)+u(i-1))/dt/dt; end fs(length(t))=fs(length(t)-1); ymax=max(u) figure subplot(1,2,1) plot(t,u); title('位移时程曲线'); subplot(1,2,2) plot(u,fs); title('wen模型滞回曲线'); 同时,笔者也在SAUSAGE中建立了单自由度体系Bouc-Wen模型算例,参数与Matlab中参数相同,如图4所示,图5为滞回曲线。可见,SAUSAGE中Bouc-Wen模型滞回曲线与Matlab完全相同,这下笔者就放心啦。 03 工程实例 为了进一步验证Bouc-Wen模型的使用效果,笔者找了个实际工程,如图6所示,典型楼层布置了13个墙式金属阻尼器,采用Bouc-Wen模型,参数如图7所示。 滞回曲线如图8所示,能量图如图9所示,可见,采用Bouc-Wen模型的金属阻尼器耗能饱满,达到了预期效果。 如果各位小伙伴对Bouc-Wen模型感兴趣,欢迎大家留言讨论,共同进步,好好学习,天天向上! |
|