newmark法程序

合集下载

newmark算法

newmark算法

function [X,t] = newmark(M,C,K,f,dt,gam,beta,Xi,Xdi)% % 输入参数说明:% [M] = 质量(nxn)% [C] = 阻尼矩阵(nxn)% [K] = 刚度矩阵(nxn)% {f} = 激励力矩阵(nxm), f的第k列是t(k)时刻的激励力,m-1为总的计算步数% dt = 步长% beta= Newmark 常数(1/6 or 1/4 usually)% gam = Newmark 常数(1/2)% Xi = 初始位移向量(nx1)% Xdi = 初始速度向量(nx1)% % 输出参数说明:% {t} = 时间(mx1)% [X] = 响应(nxm),X的第k列为t(k)时刻的位移响应%================================================================ n = size(M,1);m = size(f,2);t = zeros(m,1);X = zeros(n,m);Xd = zeros(n,m);Xdd = zeros(n,m);% 系数c0 = 1/(beta*dt*dt) ;c1 = gam/(beta*dt) ;c2 = 1/(beta*dt) ;c3 = 1/(beta*2) - 1 ;c4 = gam/beta - 1 ;c5 = 0.5*dt*(gam/beta - 2 ) ;c6 = dt*(1 - gam ) ;c7 = dt* gam;% 初始刚度Keff = c0*M + c1*C + K ;Kinv = inv(Keff) ;% 初始加速度R0 = f(:,1);Xddi= inv(M)*(R0 - K*Xi - C*Xdi);% 第一步f(:,1) = f(:,1) + M*(c0*Xi+c2*Xdi+c3*Xddi) ...+C*(c1*Xi+c4*Xdi+c5*Xddi);X(:,1) = Kinv*f(:,1);Xdd(:,1)= c0*(X(:,1)-Xi) - c2*Xdi - c3*Xddi ;Xd(:,1) = Xdi + c6*Xddi + c7*Xdd(:,1);t(1) = 0;% 后续步% ========================for i=1:m-1t(i+1) = t(i) + dt;f(:,i+1) = f(:,i+1) + M * ...(c0*X(:,i)+c2*Xd(:,i)+c3*Xdd(:,i)) ...+ C*(c1*X(:,i)+c4*Xd(:,i)+c5*Xdd(:,i)) ;X(:,i+1) = Kinv*f(:,i+1) ;Xdd(:,i+1)= c0*(X(:,i+1)-X(:,i))-c2*Xd(:,i)-c3*Xdd(:,i) ;Xd(:,i+1) = Xd(:,i)+c6*Xdd(:,i)+c7*Xdd(:,i+1) ;end;程序转自xyz999newmark方法方法介绍/wiki/Newmark-beta_methodfunction [X,t] = newmark(M,C,K,f,dt,gam,beta,Xi,Xdi)% % 输入参数说明:% [M] = 质量(nxn)% [C] = 阻尼矩阵(nxn)% [K] = 刚度矩阵(nxn)% {f} = 激励力矩阵(nxm), f的第k列是t(k)时刻的激励力,m-1为总的计算步数% dt = 步长% beta= Newmark 常数(1/6 or 1/4 usually)% gam = Newmark 常数(1/2)% Xi = 初始位移向量(nx1)% Xdi = 初始速度向量(nx1)% % 输出参数说明:% {t} = 时间(mx1)% [X] = 响应(nxm),X的第k列为t(k)时刻的位移响应%================================================================ n = size(M,1);m = size(f,2);t = zeros(m,1);X = zeros(n,m);Xd = zeros(n,m);Xdd = zeros(n,m);% 系数c0 = 1/(beta*dt*dt) ;c1 = gam/(beta*dt) ;c2 = 1/(beta*dt) ;c3 = 1/(beta*2) - 1 ;c4 = gam/beta - 1 ;c5 = 0.5*dt*(gam/beta - 2 ) ;c6 = dt*(1 - gam ) ;c7 = dt* gam;% 初始刚度Keff = c0*M + c1*C + K ;Kinv = inv(Keff) ;% 初始加速度R0 = f(:,1);Xddi= inv(M)*(R0 - K*Xi - C*Xdi);% 第一步f(:,1) = f(:,1) + M*(c0*Xi+c2*Xdi+c3*Xddi) ...+C*(c1*Xi+c4*Xdi+c5*Xddi);X(:,1) = Kinv*f(:,1);Xdd(:,1)= c0*(X(:,1)-Xi) - c2*Xdi - c3*Xddi ;Xd(:,1) = Xdi + c6*Xddi + c7*Xdd(:,1);t(1) = 0;% 后续步% ========================for i=1:m-1t(i+1) = t(i) + dt;f(:,i+1) = f(:,i+1) + M * ...(c0*X(:,i)+c2*Xd(:,i)+c3*Xdd(:,i)) ...+ C*(c1*X(:,i)+c4*Xd(:,i)+c5*Xdd(:,i)) ;X(:,i+1) = Kinv*f(:,i+1) ;Xdd(:,i+1)= c0*(X(:,i+1)-X(:,i))-c2*Xd(:,i)-c3*Xdd(:,i) ;Xd(:,i+1) = Xd(:,i)+c6*Xdd(:,i)+c7*Xdd(:,i+1) ;end;。

固体力学中的数值方法_Newmark算法

固体力学中的数值方法_Newmark算法

Newmark 算法程序计算报告1.Newmark 算法理论基础在~t t t +∆的时间区域内,Newmark 积分方法采用下列的假设,即()2112t t t t t t t tt t t t t t t tδδαα+∆+∆+∆+∆=+-+∆⎡⎤⎣⎦⎡⎤⎛⎫=+∆+-+∆ ⎪⎢⎥⎝⎭⎣⎦a a a a a a a a a (1.1) 其中α和δ是按积分精度和稳定性要求决定的参数。

另一方面,α和δ取不同的值则代表了不同的数值积分方案。

当1/6,1/2αδ==时,(1.1)式相应于线性加速度法,因为这时他们可以由下式得到()/ (0)t t t t t t t t ττ+∆+∆=+-∆≤≤∆a a a a (1.2)当1/4,1/2αδ==时,Newmark 算法相应于常平均加速度法这样一种无条件稳定的积分方案。

此时,t ∆内的加速度为()12t t t t t +∆+∆=+a a a (1.3) 因此,将(1.1)式可以得到()211112t t t t t t t t t ααα+∆+∆⎛⎫=---- ⎪∆∆⎝⎭a a a a a (1.4) 代入到动力学平衡方程中可以得到22111112 112t t t t t t t t t t t t t t t t δαααααδδδααα+∆+∆⎡⎤⎛⎫⎛⎫++=+++-+ ⎪ ⎪⎢⎥∆∆∆∆⎝⎭⎝⎭⎣⎦⎡⎤⎛⎫⎛⎫+-+-∆ ⎪ ⎪⎢⎥∆⎝⎭⎝⎭⎣⎦K M C a Q M a a a C a a a (1.5)2.Newmark 算法计算步骤(1)形成刚度矩阵 K 、质量矩阵M 、阻尼矩阵 C 。

(2)给定0 a ,0a ,和0a(3)选择时间步长t ∆及参数α和δ,并计算积分常数。

这里要求:()20.5,0.250.5δαδ≥≥+()012324567111,,,121,2,1,2c c c c t t t t c c c t c t δααααδδδδαα====-∆∆∆∆⎛⎫=-=-=∆-=∆ ⎪⎝⎭(4)形成有效刚度矩阵01ˆˆc c + K :K =K +M C (5)三角分解ˆˆTK:K =LDL 对于每一个时间步长(1)计算时间t t +∆的有效载荷()()023145ˆt t t t t t t t t t c c c C c c c +∆+∆=++++++Q Q M a a a a a a(2)求解时间t t +∆的位移ˆT t t t t+∆+∆=LDL a Q (3)计算时间t t +∆的加速度和速度()02367t t t t t t t t t t t t tc c c c c +∆+∆+∆+∆=---=++a a a a a a a a a3.程序设计思路(1) 读入质量矩阵、刚度矩阵、阻尼矩阵、载荷列向量;读入初始状态值,如初始位移、初始速度、初始加速度;读入控制变量,如时间步长、时间步; (2) 计算8个积分常数;(3) 计算有效刚度矩阵ˆK并对有效刚度矩阵ˆK 进行LU 分解; (4) 求解时间t t +∆的有效载荷向量ˆt t+∆Q ; (5) 求解时间t t +∆的位移t t +∆a ;(6) 求解时间t t +∆的的加速度t t +∆a 和速度t t +∆a (7)计算下一时刻的有效载荷向量并循环。

结构动力学newmark法程序

结构动力学newmark法程序

用matlab编程实现Newmark-β法计算多自由度体系的动力响应姓名:***学号:**************专业:结构工程用matlab 编程实现Newmark -β法 计算多自由度体系的动力响应一、Newmark -β法的基本原理Newmark-β法是一种逐步积分的方法,避免了任何叠加的应用,能很好的适应非线性的反应分析。

Newmark-β法假定:t u u u ut t t t t t ∆ββ∆∆]}{}){1[(}{}{+++-+= (1-1)2]}{}){21[(}{}{}{t u u t uu u t t t t t t ∆γγ∆∆∆+++-++= (1-2) 式中,β和γ是按积分的精度和稳定性要求进行调整的参数。

当β=0.5,γ=0.25时,为常平均加速度法,即假定从t 到t +∆t 时刻的速度不变,取为常数)}{}({21t t t u u ∆++ 。

研究表明,当β≥0.5, γ≥0.25(0.5+β)2时,Newmark-β法是一种无条件稳定的格式。

由式(2-141)和式(2-142)可得到用t t u ∆+}{及t u }{,t u}{ ,t u }{ 表示的t t u ∆+}{ ,t t u ∆+}{ 表达式,即有t tt t t t t u u t u u t u}){121(}{1)}{}({1}{2----=++γ∆γ∆γ∆∆ (1-3) t t t t t t t u t uu u t u}{)21(}){1()}{}({}{ ∆γβγβ∆γβ∆∆-+-+-=++ (1-4) 考虑t +∆t 时刻的振动微分方程为:t t t t t t t t R u K u C uM ∆∆∆∆++++=++}{}]{[}]{[}]{[ (1-5) 将式(2-143)、式(2-144) 代入(2-145),得到关于u t +∆t 的方程t t t t R u K ∆∆++=}{}]{[ (1-6)式中][][1][][2C t M tK K ∆γβ∆γ++= )}{)12(}){1(}{]([)}){121(}{1}{1]([}{}{2t t t t t t t t u t uu t C u u t u tM R R ∆γβγβ∆γβγ∆γ∆γ∆-+-++-+++=+求解式(2-146)可得t t u ∆+}{,然后由式(2-143)和式(2-144)可解出t t u∆+}{ 和t t u ∆+}{ 。

newmark法计算多自由度结构响应

newmark法计算多自由度结构响应

Newmark方法是一种用于计算自由结构多度响应的数值技术。

在地震工程中通常用于预测地震加载下的建筑物和其他结构的行为。

Newmark方法考虑了结构的质量,硬度和坝积,以计算迁移,速度,以及每个自由度的加速。

这使得工程师能够评价结构反应,并评估损坏或故障的可能性。

要使用Newmark方法,结构首先分为离散自由度,一般在关节或连接点。

然后根据结构几何和物质特性来确定每一自由度的质量、坚硬度和筑坝特性。

这些属性用于构成结构的支配性运动方程,这些方程可以使用Newmark方法进行数字解析。

Newmark方法是一个迭代过程,它计算每个时段的结构响应。

每个自由度的迁移、速度和加速都根据应用负荷、结构特性和坝积效应加以更新。

通过穿越每个时间步,Newmark方法可以准确预测结构随时间推移的动态响应。

Newmark方法的关键优势之一是它能够同时对结构中的线性和非线性行为进行衡算。

这在地震工程中尤其重要,在强地运动下,建筑物和其他结构的反应可以高度非线性。

Newmark方法使工程师能够准确捕捉地震加载下的结构的复杂行为,对它的性能和脆弱性提供了宝贵的见解。

除地震工程外,Newmark方法也被用于风力工程和振动分析等其他领域。

在这些应用中,该方法可用于评估结构对不同类型的环境装载的动态反应,使工程师能够优化设计并确保结构安全。

总体而言,Newmark方法是预测多度自由结构的动态响应的有力工具。

它对非线性行为和复杂装载条件的衡算能力,使它成为在不同领域工作的工程师的一种宝贵的技术。

通过使用Newmark方法,工程师可以更深入地了解结构行为,做出知情的决定,以确保建筑环境的安全和复原力。

newmark法程序法计算多自由度体系地动力响应

newmark法程序法计算多自由度体系地动力响应

用matlab 编程实现Newmark -β法计算多自由度体系的动力响应用matlab 编程实现Newmark -β法 计算多自由度体系的动力响应一、Newmark -β法的基本原理Newmark-β法是一种逐步积分的方法,避免了任何叠加的应用,能很好的适应非线性的反应分析。

Newmark-β法假定:t u u u ut t t t t t ∆ββ∆∆]}{}){1[(}{}{+++-+= (1-1)2]}{}){21[(}{}{}{t u u t uu u t t t t t t ∆γγ∆∆∆+++-++= (1-2) 式中,β和γ是按积分的精度和稳定性要求进行调整的参数。

当β=0.5,γ=0.25时,为常平均加速度法,即假定从t 到t +∆t 时刻的速度不变,取为常数)}{}({21t t t u u ∆++ 。

研究表明,当β≥0.5, γ≥0.25(0.5+β)2时,Newmark-β法是一种无条件稳定的格式。

由式(2-141)和式(2-142)可得到用t t u ∆+}{及t u }{,t u}{ ,t u }{ 表示的t t u ∆+}{ ,t t u ∆+}{ 表达式,即有t tt t t t t u u t u u t u}){121(}{1)}{}({1}{2----=++γ∆γ∆γ∆∆ (1-3) t t t t t t t u t uu u t u}{)21(}){1()}{}({}{ ∆γβγβ∆γβ∆∆-+-+-=++ (1-4) 考虑t +∆t 时刻的振动微分方程为:t t t t t t t t R u K u C uM ∆∆∆∆++++=++}{}]{[}]{[}]{[ (1-5) 将式(2-143)、式(2-144) 代入(2-145),得到关于u t +∆t 的方程t t t t R u K ∆∆++=}{}]{[ (1-6)式中][][1][][2C t M tK K ∆γβ∆γ++= )}{)12(}){1(}{]([)}){121(}{1}{1]([}{}{2t t t t t t t t u t uu t C u u t u tM R R ∆γβγβ∆γβγ∆γ∆γ∆-+-++-+++=+求解式(2-146)可得t t u ∆+}{,然后由式(2-143)和式(2-144)可解出t t u∆+}{ 和t t u ∆+}{ 。

Newmark

Newmark

多自由度系统的振动——Newmark-β数值积分方法要求:(1)计算程序可以求出多自由度系统在任意荷载作用下的响应;(2)编写程序流程图;(3)做示例验算;(4)总结分析算法的稳定性及精度。

算例:计算图示结构的响应。

阻尼采用Rayleigh阻尼,α、β值自拟。

答:(1)程序流程图:是否(2)程序代码:%Newmark-β法求多自由度结构的响应dt=0.001; %计算时间间隔a=0.0452; b=0.0463; %计算阻力矩阵的α,β(Rayleigh阻尼) A=0.5;B=0.25; %Newmark-β法中的α,βa0=1/(A*dt^2); a1=B/(A*dt); a2=1/(A*dt); a3=1/(2*A)-1;a4=B/A-1; a5=dt/2*(B/A-2); a6=dt*(1-B); a7=B*dt;%计算所需数据T=30; %计算终点时刻n=T/dt+1;t=0:dt:T; %时间向量m=3; %质点个数M=[1,0,0;0,1,0;0,0,1]; %质量矩阵y=ones(m,n); %位移矩阵v=ones(m,n); %速度矩阵ac=ones(m,n); %加速度矩阵%确定初始位移、初速,计算初始加速度y(:,1)=[0;0;0];v(:,1)=[0;0;0];%K=[t(1)+1,0,0;0,t(1)+1,0;0,0,t(1)+2];%以时间为自变量的刚度矩阵K=[1,-1,0;-1,3,-2;0,-2,5];%常量刚度矩阵C=a.*K+b.*M;F=[sin(t(1));0;0]; %t0时刻荷载向量ac(:,1)=M\(F-C*v(:,1)-K*y(:,1)); %t0时刻加速度%计算等效刚度矩阵、位移向量、加速度向量、速度向量fori=2:n%K=[t(i)+1,0,0;0,t(i)+1,0;0,0,t(i)+2];%以时间为自变量的刚度矩阵C=a.*K+b.*M;F=[sin(t(i));0;0];F1=F+M*(a0*y(:,i-1)+a2*v(:,i-1)+a3*ac(:,i-1))...+C*(a1*y(:,i-1)+a4*v(:,i-1)+a5*ac(:,i-1)); %等效力K1=K+a0*M+a1*C; %等效刚度矩阵y(:,i)=K1\F1; %计算位移向量ac(:,i)=a0*(y(:,i)-y(:,i-1))-a2*v(:,i-1)-a3*ac(:,i-1);%计算加速度向量v(:,i)=v(:,i-1)+a6*ac(:,i-1)+a7*ac(:,i);%计算速度向量end%提取某些指点的位移、速度、加速度向量,绘制响应图plot(t,y(1,:),':b',t,y(2,:),'-r',t,y(3,:),'--g');grid onlegend('质点1','质点2','质点3');xlabel('时间t');ylabel('位移y');figure(2)plot(t,v(1,:),':b',t,v(2,:),'-r',t,v(3,:),'--g');grid onlegend('质点1','质点2','质点3');xlabel('时间t');ylabel('速度v');figure(3)plot(t,ac(1,:),':b',t,ac(2,:),'-r',t,ac(3,:),'--g');grid onlegend('质点1','质点2','质点3');xlabel('时间t');ylabel('加速度ac');程序运行结果:(3)算法稳定性及精度Newmark-β法基于泰勒公式将t(k+1)时刻的速度、位移在t(k)时刻展开,并将未知项做近似替换。

三种Newmark法计算

三种Newmark法计算

1.考虑一个单自由度体系,质量m=1,刚度k=π2/4,阻尼c=0.2π。

外荷载为p(t)=1,0<t<1; p(t)=0,t>1. 初始条件为:位移u(0)=4/π2 ,速度为v(0)=0。

分析的时间段为0<t<12。

(1) 给出如上问题的速度和位移的准确解。

(2) 采用三种Newmark- β法(γ=1/2,而β分别取0,1/6,1/4)分别在时间步长为2,1,0.5,0.25的条件下求解如上单自由度体系,并绘出速度、位移随时间变化的结果图。

(3) 第(2)问中,采用数值计算的位移和速度结果是有误差的。

结合已经给出的准确解,绘出不同时间步长下,绘出三种Newmark法计算得到的速度和位移的误差在不同时间点处的图。

并分析误差变化的规律。

%(1)function dq=qq(t,q)dq=zeros(2,1);dq(1)=q(2);if t<=1dq(2)=1-(0.2*pi*q(2)+pi^2/4*q(1));elsedq(2)=-(0.2*pi*q(2)+pi^2/4*q(1));end[t,u]=ode45(@qq,[0,12],[4/pi^2,0]);plot(t,u)v=[0 12 -0.5 0.5];axis(v);xlabel('t');ylabel('Displacement or Velocity');legend('D','V');title('准确解')%(2)function [D,V,A]=NM_beta(n,dt,beta,gama,d,v,K,M,C,P)a0=1/(beta*dt^2);a1=gama/beta/dt;a2=1/beta/dt;a3=1/2/beta-1;a4=gama/beta-1;a5=dt/2*(gama/beta-2);a6=dt*(1-gama);a7=dt*gama;Kd=K+a0*M+a1*C;a=(P-C*v-K*d)/M;D(1)=d;V(1)=v;A(1)=a;if beta==0for i=1:n-1D(i+1)=D(i);A(i+1)=A(i);V(i+1)=V(i);endelsefor i=1:n-1Pdi=P+M*(a0*D(i)+a2*V(i)+a3*A(i))+C*(a1*D(i)+a4*V(i)+a5*A(i));D(i+1)=inv(Kd)*Pdi;A(i+1)=a0*(D(i+1)-D(i))-a2*V(i)-a3*A(i);V(i+1)=V(i)++a6*A(i)+a7*A(i+1);endendD=D';V=V';A=A';endclearbeta=1/4; %还取了1/6、0gama=0.5;dt=0.25; %还取了0.5、1(当时间步长取2时,P(t)的分段情况不知如何处理,故不予展示)tm=12;tn=1;N=tm/dt+1;D=zeros(N,1);n=tn/dt+1;d=4/pi^2;v=0;K=pi^2/4;M=1;C=0.2*pi;P=1;[D_1,V_1,A_1]=NM_beta(n,dt,beta,gama,d,v,K,M,C,P); d=D_1(n);v=V_1(n);D(1:n,1)=D_1;V(1:n,1)=V_1;A(1:n,1)=A_1;m=(tm-tn)/dt+1;P=0;[D_2,V_2,A_2]=NM_beta(m,dt,beta,gama,d,v,K,M,C,P); D((n+1):(m+n-1),1)=D_2(2:m,1);V((n+1):(m+n-1),1)=V_2(2:m,1);A((n+1):(m+n-1),1)=A_2(2:m,1);t=0:dt:12;plot(t,D,t,V);xlabel('t');ylabel('Displacement or Velocity');legend('D','V');title('\beta=1/4 \Deltat=0.25');grid on(3)当beta一定时,时间步长越短,误差越小。

newmarkbeta法 -回复

newmarkbeta法 -回复

newmarkbeta法-回复什么是newmarkbeta法?Newmarkbeta法,也被称为Wilson-Newmark法,是一种数值积分方法,用于求解结构动力学问题。

它是基于普通微分方程的数值求解方法之一,适用于求解线性和非线性、自由和强迫响应的结构动力学问题。

该方法基于Newmark积分方法,考虑了质量矩阵和刚度矩阵对结构响应的影响,通过引入一个积分参数beta,使得在不同的参数设定下可以得到不同阶数的数值积分方法。

注意事项:在使用Newmarkbeta法时,需要明确一些注意事项:1. 时间步长的选择:时间步长需要根据所研究的问题和模型的特性来进行选择。

通常情况下,较小的时间步长可以提高精度,但也增加了计算量。

如果时间步长选择过大,可能会导致数值解的不稳定性。

2. 弛豫因子的选择:在Newmarkbeta法中,引入了一个松弛因子gamma来平衡速度和加速度的权重。

gamma为0.5时,等效于中点积分法。

gamma为0时,等效于显式向前差分法。

根据所研究问题的稳定性和精度要求,可以选择不同的gamma值。

3. 初始条件的设定:在数值解求解之前,需要设定初始条件,即结构的初始位移和速度。

这些初始条件将影响数值解的准确性和稳定性。

通常情况下,可以根据结构的静态平衡状态设定初始条件。

数值解求解步骤:下面将一步一步介绍使用Newmarkbeta法求解结构动力学问题的步骤:步骤1:建立结构模型首先,需要根据所研究的结构问题建立相应的有限元模型。

这包括定义结构的几何形状、材料性质和边界条件等。

步骤2:离散化将结构模型离散化,将结构划分成一系列有限元单元。

对于每个有限元单元,可以根据其几何形状和材料性质计算出相应的刚度矩阵和质量矩阵。

步骤3:时间积分将时间划分成一系列离散时间步长。

通过使用Newmarkbeta法中的数值积分公式,可以迭代计算每个时间步长内的结构响应。

步骤4:计算每个时间步长内的位移和速度根据Newmarkbeta法的数值积分公式,可以计算出每个时间步长内的位移和速度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用matlab 编程Newmark -β法
一、Newmark -β法原理
Newmark-β法是一种逐步积分的方法,避免了任何叠加的应用,能很好的适应非线性的反应分析。

Newmark-β法假定:
t u u u u
t t t t t t ∆+-+=∆+∆+]}{}){1[(}{}{ ββ (1-1)
2]}
{}){2
1
[(}{}{}{t u u t u u u t t t t t t ∆+-+∆+=∆+∆+ γγ (1-2)
式中,β和γ是按积分的精度和稳定性要求进行调整的参数。

当β=0.5,γ=0.25时,为常平均加速度法,即假定从t 到t +∆t 时刻的速度不变,取为常数
)}{}({2
1
t t t u u ∆++ 。

研究表明,当β≥0.5, γ≥0.25(0.5+β)2时,Newmark-β法是一种无条件稳定的格式。

由式(2-141)和式(2-142)可得到用t t u ∆+}{及t u }{,t u
}{ ,t u }{ 表示的t t u ∆+}{ ,t t u ∆+}{ 表达式,即有
t t t t t t t u u t u u t
u
}){121
(}{1)}{}({1}{2
----=++γ∆γ∆γ∆∆ (1-3) t t t t t t t u t u
u u t u
}{)21(}){1()}{}({}{ ∆γ
β
γβ∆γβ∆∆-+-+-=++ (1-4)
考虑t +∆t 时刻的振动微分方程为:
t t t t t t t t R u K u C u
M ∆∆∆∆++++=++}{}]{[}]{[}]{[ (1-5) 将式(2-143)、式(2-144) 代入(2-145),得到关于u t +∆t 的方程
t t t t R u K ∆∆++=}{}]{[ (1-6)
式中
][][1
][][2
C t M t K K ∆γβ∆γ++
=
)}{)12(}){1(}{](
[)}){121
(}{1}{1](
[}{}{2
t t t t t t t t u t u
u t C u u t u t
M R R ∆γ
β
γβ∆γβγ∆γ∆γ∆-+-++-+++=+
求解式(2-146)可得t t u ∆+}{,然后由式(2-143)和式(2-144)可解出t t u ∆+}{ 和t t u ∆+}{ 。

由此,Newmark-β法的计算步骤如下: 1.初始计算:
(1)形成刚度矩阵[K ]、质量矩阵[M ]和阻尼矩阵[C ];
(2)给定初始值0}{u , 0}{u
和0}{u ; (3)选择积分步长∆t 、参数β、γ,并计算积分常数
2
01t ∆γα=
,t ∆γβα=1,t ∆γα1
2
=,1213-=γα, 14-=
γβα,)2(25-=γ
β
∆αt ,)1(6β∆α-=t ,t ∆βα=7; (4)形成有效刚度矩阵][][][][10C M K K αα++=; 2.对每个时间步的计算: (1)计算t +∆t 时刻的有效荷载:
)}{}{}{]([)}{}{}{]([}{}{541320t t t t t t t t t t u u
u C u u
u M F F αααααα∆∆++++++=++
(2)求解t +∆t 时刻的位移:
[]t t t
t F u K ∆+∆+=}{}
{
(3)计算t +∆t 时刻的速度和加速度:
t t t t t t t u u u u u
}{}{)}{}({}{320 ααα∆∆---=++ t t t t t t u u u u
∆∆αα++++=}{}{}{}{76 Newmark-β方法是一种无条件稳定的隐式积分格式,时间步长∆t 的大小不影响解的稳定性,∆t 的选择主要根据解的精度确定。

二、 Newmark -β法计算
四层框架结构在顶部受一个简谐荷载01
4=sin(
)t
F F t π的作用,力的作用时间1t =5s ,计算响应的时间为100s ,分2000步完成。

阻尼矩阵由Rayleigh 阻尼构造。

具体数据如下图:
图一:计算简图三、Newmark-β法程序
m=[1,2,3,4];
m=diag(m);
k= [800 -800 0 0;
-800 2400 -1600 0;
0 -1600 4800 -3200;
0 0 -3200 8000];
c=0.05*m+0.02*k;
f0=100;
t1=5;
nt=2000;
dt=0.01;
alfa=0.25;
beta=0.5;
a0=1/alfa/dt/dt;
a1=beta/alfa/dt;
a2=1/alfa/dt;
a3=1/2/alfa-1;
a4=beta/alfa-1;
a5=dt/2*(beta/alfa-2);
a6=dt*(1-beta);
a7=dt*beta;
d=zeros(4,nt);
v=zeros(4,nt);
a=zeros(4,nt);
for i=2:nt
t=(i-1)*dt;
if (t<t1), f=[f0*sin(4*pi*t/t1);0;0;0]; else f=[0;0;0;0]; end
ke=k+a0*m+a1*c;
fe=f+m*(a0*d(:,i-1)+a2*v(:,i-1)+a3*a(:,i-1))+c*(a1*d(:,i-1)+a4*v(:,i-1)+a5*a(:,i-1) );
d(:,i)=inv(ke)*fe;
a(:,i)=a0*(d(:,i)-d(:,i-1))-a2*v(:,i-1)-a3*a(:,i-1);
v(:,i)=v(:,i-1)+a6*a(:,i-1)+a7*a(:,i);
end
四、计算结果截图
最后程序分别计算出四个质点的位移、速度、加速度响应。

现将部分截图如下:
1、位移响应:
图二:1质点的位移
图三:4质点的位移
2、速度响应
图四:1质点的速度
图五:4质点的速度3、加速度响应
图六:1质点的加速度响应
图七:4质点的加速度响应
______________________________________________________________________________________________________________
Welcome To Download !!!
欢迎您的下载,资料仅供参考!
精品资料。

相关文档
最新文档