郭 沖
(山西省公路局長(zhǎng)治分局勘測(cè)設(shè)計(jì)所,山西 長(zhǎng)治 046000)
如果外荷載或者結(jié)構(gòu)的剛度、質(zhì)量、阻尼等任何一項(xiàng)隨時(shí)間變化,那么這樣的結(jié)構(gòu)體系就是非線性的,這種結(jié)構(gòu)體系的動(dòng)力方程也是非線性的。對(duì)于此類非線性動(dòng)力方程,其解析解往往較難由理論推導(dǎo)得到,這類問(wèn)題可以通過(guò)數(shù)值計(jì)算方法對(duì)動(dòng)力響應(yīng)方程進(jìn)行求解。常用的數(shù)值計(jì)算方法包括激勵(lì)線性插值法、中心差分法、Newmark的平均加速度法和線性加速度法等。
對(duì)于線性體系,通過(guò)在每個(gè)時(shí)間間隔里對(duì)激勵(lì)進(jìn)行插值,并利用線性體系響應(yīng)解析解,能夠推導(dǎo)出一種有效的數(shù)值計(jì)算方法。只要保證插值的時(shí)間間隔較短,就可以得到令人滿意的求解結(jié)果。
對(duì)于欠阻尼體系(ξ<1),有非線性動(dòng)力方程
在時(shí)間間隔0≤τ≤△ti內(nèi),反應(yīng)u(τ)由3部分組成:
(1)τ=0時(shí)刻的初位移ui和初速度u觶i引起的自由振動(dòng)響應(yīng);
(2)零初始條件下對(duì)階躍力pi的反應(yīng);
(3)零初始條件下對(duì)斜坡力(△pi/△ti)τ的反應(yīng)。
經(jīng)推導(dǎo)可得出第i+1個(gè)時(shí)間步的位移與速度公式如下:
ω:外荷載頻率;
ωn:結(jié)構(gòu)固有頻率。
給定初始條件,代入式(1)即可得到結(jié)構(gòu)在任意時(shí)刻的響應(yīng)。
該方法是基于對(duì)位移時(shí)間導(dǎo)數(shù)的有限差分近似進(jìn)行的。取固定的時(shí)間步長(zhǎng)△t,則時(shí)刻i的速度和加速度的中心差分格式為:
將上式的速度加速度代入動(dòng)力方程中得:
為了計(jì)算ui+1,需要知道位移ui和ui-1。若已知初始位移u0,則u-1可表示為:
至此,所有參數(shù)均可以通過(guò)初始條件與公式進(jìn)行遞推求得,則任意時(shí)刻的結(jié)構(gòu)響應(yīng)可以通過(guò)數(shù)值計(jì)算得到。
N.M.Newmark發(fā)展了一類時(shí)間步進(jìn)法,它們基于下面的公式:
當(dāng) γ=0.5,β=0.25時(shí),上式為平均加速度法;當(dāng) γ=0.5, β=1/6時(shí),上式為線性加速度法。對(duì)式(2)以增量格式重寫如下:
上文對(duì)激勵(lì)線性插值法、中心差分法與Newmark法的基本原理進(jìn)行了介紹,借助數(shù)學(xué)計(jì)算軟件Matlab,對(duì)這幾種方法編制了相應(yīng)的計(jì)算程序。現(xiàn)將Matlab中編制的函數(shù)展示如下。
function y=excitation(m,k,Tn,e,dt,t,F(xiàn),te)
a=[0:dt:t];n=length(a);
for j=1:n
if a(j) p(j)=F.*sin(pi.*a(j)./te); else p(j)=0; end end Wn=2.*pi./Tn;Wd=Wn.*(1-e.^2).^0.5; Si=sin(Wd.*dt);Co=cos(Wd.*dt); E=exp(-e.*Wn.*dt); A=E.*((e./(1-e.^2).^0.5).*Si+Co); B=E.*(Si./Wd); C=(2.*e./(Wn*dt)+E.*(((1-2.*e.^2)./(Wd.*dt)-(e./(1-e.^2).^0.5)).*Si-(1+2*e./(Wn*dt)).*Co))/k; D=(1-2.*e./(Wn*dt)+E.*((2.*e^2-1)./(Wd.*dt).*Si+2.*e.*Co./(Wn.*dt)))./k; At=-E.*(Wn./((1-e.^2).^0.5).*Si);Bt=E.*(Co-(e./(1-e.^2).^0.5).*Si); Ct=(-1./dt+E.*((Wn./((1-e.^2).^0.5)+(e./(dt.*(1-e.^2).^0.5)).*Si+Co./dt))/k; Dt=(1-E.*((e./(1-e.^2).^0.5).*Si+Co))./(k.*dt);u(1)=0;ut(1)=0; for i=2:n u(i)=A.*u(i-1)+B.*ut(i-1)+C.*p(i-1)+D.*p(i); ut(i)=At.*u(i-1)+Bt.*ut(i-1)+Ct.*p(i-1)+Dt.*p(i); end x1=[0:dt:t];m=length(x1); y1=zeros(m,1);y2=zeros(m,1); for i=1:n y1(i)=u(i); y2(i)=ut(i); end function difference(m,k,c,u0,ut0,dt,t,te,Tn) if dt<(Tn./pi) u(2)=u0;ut(2)=ut0;x=[0:dt:t];n=length(x); for j=2:n+1 if x(j-1) p(j)=10.*sin(pi.*x(j-1)./te); else p(j)=0; end end utt(2)=(p(2)-c.*ut(2)-k.*u(2))./m; u(1)=u(2)-(dt).*ut(2)+(dt).^2./2.*utt(2); kt=m./(dt)^2+c./(2.*dt); a=m./(dt)^2-c./(2*dt);b=k-2.*m./(dt)^2; for i=2:n+1 pt(i)=p(i)-a.*u(i-1)-b.*u(i); u(i+1)=pt(i)./kt; end x1=[0:dt:t];y1=zeros(n,1); for j=1:n y1(j)=u(j+1);end function liner(m,k,c,u0,ut0,dt,t,te) bet=1/6;gama=1/2;u(1)=u0;ut(1)=ut0; x=[0:dt:t];n=length(x); for j=1:n if x(j) p(j)=10.*sin(pi.*x(j)./te); else p(j)=0; end end utt(1)=(p(1)-c.*u(1)-k.*u(1))./m kt=k+(gama./bet)./dt.*c+(1./bet)./(dt)^2.*m a=1./(bet.*dt).*m+(gama./bet).*c b=1./(2.*bet).*m+dt.*(gama./(2.*bet)-1).*c for i=1:n-1 dp(i)=p(i+1)-p(i); dpt(i)=dp(i)+a.*ut(i)+b.*utt(i); du(i)=dpt(i)./kt; dut(i)=(gama./bet).*du(i)./dt-(gama./bet).*ut(i)+dt.*(1-(gama./bet./2)).*utt(i); dutt(i)=(1./bet)./(dt)^2.*du(i)-(1./bet)./dt.*ut(i)-(1./bet./2).*utt(i); u(i+1)=u(i)+du(i); ut(i+1)=ut(i)+dut(i); utt(i+1)=utt(i)+dutt(i); end x1=[0:dt:t];m=length(x1);y2=zeros(m,1); 圖1 理論解與數(shù)值計(jì)算結(jié)果對(duì)比 for i=1:n y2(i)=u(i);end 計(jì)算實(shí)例如下:?jiǎn)巫杂啥润w系具有如下特性:m=0.253 3千磅力·秒2/英寸、k=10千磅力/英寸、Tn=1 s(ωn=6.283弧度/s),ξ=0.05。試確定體系在正弦脈沖力p(t)=10sin(πt/0.6)作用下1s內(nèi)的反應(yīng)(△t=0.05 s),圖1給出了理論解與數(shù)值計(jì)算結(jié)果對(duì)比。 為驗(yàn)證求解結(jié)果的正確性,首先給出該體系在正弦脈沖作用時(shí)間1 s內(nèi)的理論解: [1]唐友剛.高等結(jié)構(gòu)動(dòng)力學(xué)[M].天津:天津大學(xué)出版社,2002. [2]呂同富,康兆敏,方秀男.數(shù)值計(jì)算方法[M],北京:清華大學(xué)出版社,2009. [3]邢棉.MATLAB數(shù)值計(jì)算在高等數(shù)學(xué)教學(xué)中的應(yīng)用探討[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2010. [4]李初曄,王增新.結(jié)構(gòu)動(dòng)力學(xué)方程的顯式與隱式數(shù)值計(jì)算[J].航空計(jì)算科學(xué),2010,01.3.2 中心差分法
3.3 Newmark法(線性加速度法)
4 求解實(shí)例