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

合集下载

单自由度受动力荷载的newmark程序

单自由度受动力荷载的newmark程序

单自由度体系受动力荷载Newmark法小程序W = 200 kip; k = 12.2 k/in;po = 36.6 kip; t1 = 0.4 sec.△t=0.05sRepeat the analysis assuming zero damping.Include both cases (zero and 2% damping) on same plotSolutionThe computer program is as followed:p0 = 0; p1 = 36.6; p2 = 0;t0 = 0; t1 = 0.4;u0 = 0; v0 = 0;dt = 0.05; % Solution time stepn = t1/dt/2;nn = 10; % Dynamic load cycle Numberp = [p0:p1/n:p1, p1-p1/n:-p1/n:p2]; % One cycle input loadfor ii = 1:72a(1,ii) = 0;endp=[p,a];t = [t0:dt:t1*nn]'; % Total timem = 200/386; k = 12.2; zeta = 0.05; % System mass, stiffness and damping ratio gamma = 0.5; beta = 0.25; % Define the methodomega = sqrt(k/m);c = 2*m*omega*zeta; % Damping[u1,v1,a1] = dynresp(m,k,c,p,dt,0,0,gamma,beta);[u2,v2,a2] = dynresp(m,k,0,p,dt,0,0,gamma,beta);figureplot(t,u1,t,u2)figureplot(t,v1,t,v2)figureplot(t,a1,t,a2)function [u,v,a] = dynresp(m,k,c,p,dt,u0,v0,gamma,beta)% solve the dynamic response of SDOF% u = displacement of the structural response% v = velocity% a = acceleration% m = mass of the system% k = stiffness of the system% c = damping% p = input dynamic load for the system% gamma, beta = Newmark's Method selection% t = input load duration% u0, v0 = initial displacement and velocityn = length(p);% dt = t/(n-1);u(1) = u0;v(1) = v0;a(1) = (p(1)-c*v0-k*u0)/m;k1 = k+gamma*c/(beta*dt)+m/(beta*dt^2);pm1 = m/(beta*dt)+gamma*c/beta;pm2 = m/2/beta+dt*(gamma/2/beta-1)*c;dp = p(2:n)-p(1:n-1);for ii = 1:n-1dp1(ii) = dp(ii)+pm1*v(ii)+pm2*a(ii);du(ii) = dp1(ii)/k1;dv(ii) = gamma*du(ii)/beta/dt-gamma*v(ii)/beta+dt*(1-gamma/2/beta)*a(ii);da(ii) = du(ii)/beta/dt^2-v(ii)/beta/dt-a(ii)/2/beta;u(ii+1) = u(ii)+du(ii);v(ii+1) = v(ii)+dv(ii);a(ii+1) = a(ii)+da(ii);endu = u';v = v';a = a';The result:。

matlab newmark法

matlab newmark法

matlab newmark法Matlab Newmark法是一种非线性动力学分析方法,主要用于求解动力学系统的时间响应。

该方法由Newmark在20世纪50年代提出,在工程结构领域得到了广泛应用。

本文将分步骤回答关于Matlab Newmark法的问题,包括算法原理、计算步骤、优缺点以及实际案例的应用。

一、算法原理1.1 基本原理Matlab Newmark法是一种基于离散时间步长的计算方法。

其基本原理是通过将系统的运动方程转化为等效的一阶微分方程组,然后使用步进法进行数值求解。

该方法采用了二阶精度的数值积分公式,具有较高的计算精度和稳定性。

1.2 新马克法公式Matlab Newmark法的核心公式为:δu(t+Δt) = u(t) + Δt * v(t) + Δt^2 * (0.5 - β) * a(t)δv(t+Δt) = v(t) + Δt * (1 - γ) * a(t)δa(t+Δt) = (1 - γ) * a(t) + γ* a(t+Δt)其中,δ表示增量,u(t)、v(t)和a(t)分别表示位移、速度和加速度在时间t的值,β和γ为Newmark法的两个参数。

二、计算步骤2.1 确定系统参数首先,需要确定系统的质量矩阵、刚度矩阵和阻尼矩阵,以及外部激励载荷等参数。

2.2 确定时间步长根据求解精度和计算效率的要求,选择合适的时间步长Δt。

2.3 初始化位移、速度和加速度给定初始位移、速度和加速度的值。

2.4 进行时间循环使用Newmark法的公式,根据当前时刻的位移、速度和加速度的值,计算下一时刻的位移、速度和加速度。

2.5 判断收敛条件在每个时间步长内,判断计算结果是否满足收敛要求。

如果满足要求,则继续计算下一个时间步长;如果不满足要求,则重新选择适当的步长,并重新进行计算。

2.6 输出结果将每个时间步长内计算得到的位移、速度和加速度的值保存起来,以获取系统的时间响应曲线。

三、优缺点3.1 优点Matlab Newmark法具有以下优点:- 可以处理复杂的非线性动力学系统。

[转载]newmark方法

[转载]newmark方法

[转载]newmark⽅法原⽂地址:newmark⽅法作者:冷⽉有声newmark⽅法⽅法介绍/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;程序转⾃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;本⽂来⾃CSDN博客,转载请标明出处:/yangzj208/archive/2007/04/03/1550151.aspx 本⽂来⾃CSDN博客,转载请标明出处:/yangzj208/archive/2007/04/03/1550151.aspx 本⽂来⾃CSDN博客,转载请标明出处:/yangzj208/archive/2007/04/03/1550151.aspx。

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

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

newmark法计算多自由度结构响应多自由度结构是指具有多个独立振动模式的结构,在地震、风荷载等外部力作用下,结构会产生复杂的振动响应。

为了分析这种结构的振动响应,工程师通常使用有限元法中的newmark法。

本文将介绍newmark法的基本原理,以及如何使用该方法计算多自由度结构的振动响应。

一、newmark法的基本原理newmark法是一种常用的求解结构动力学问题的数值方法,它通过离散化结构的振动方程,将结构的振动响应分解为一系列的时间步长来进行计算。

newmark法的基本原理是基于结构的动力学方程和位移速度加速度之间的关系,通过数值积分的方法求解结构的位移、速度和加速度随时间的变化。

newmark法的基本框架可以表示为:\[ M\Delta \ddot{u}^{n+1} + C\Delta\dot{u}^{n+1} +Ku^{n+1} = P^n \]其中\(M\)是结构的质量矩阵,\(C\)是结构的阻尼矩阵,\(K\)是结构的刚度矩阵,\(\Delta \ddot{u}^{n+1}\)是时间步长\(n+1\)时刻的加速度增量,\(\Delta\dot{u}^{n+1}\)是时间步长\(n+1\)时刻的速度增量,\(u^{n+1}\)是时间步长\(n+1\)时刻的位移,\(P^n\)是时间步长\(n\)时刻的外部荷载。

通过对上述结构动力学方程进行离散化,并选取合适的数值积分格式,可以得到newmark法的具体计算公式,其中包括了位移、速度和加速度的更新公式。

因此,newmark法可以方便地用于求解多自由度结构的振动响应。

二、使用newmark法计算多自由度结构的振动响应1.模型建立首先,需要对多自由度结构进行建模。

建模过程包括确定结构的几何形状、确定结构的材料性质、确定结构的边界条件等。

一般来说,可以采用有限元法来对多自由度结构进行离散化,将结构划分为多个小单元,并在每个小单元上建立适当的位移场和应变场。

基于Newmark-β法的建筑结构地震响应简化计算

基于Newmark-β法的建筑结构地震响应简化计算

基于Newmark-β法的建筑结构地震响应简化计算摘要:地震是人类最严重的自然灾害之一,分析地震荷载下建筑结构体系的振动响应十分重要。

而对于建筑结构体系,一般将其离散为多自由度体系。

地震荷载下多自由度体系的响应可以采用中心差分法、分段解析法、Newmark-β法、Wilson-法等方法进行分析,其中Newmark-β法可以用来求解任意荷载下多自由度体系响应分析,包括地震荷载下的多自由度体系响应分析,精度较高。

本文主要结合振型叠加法和Newmark-β法思想,将建筑结构简化为多自由度体系,采用Python语言进行编程以获得基于Newmark-β法的建筑结构地震响应简化计算程序,最后通过简化算例验证了该算法程序的可行性,且由于Newmark-β法是一种显式求解法,故求解速度较快。

关键词:建筑结构;Newmark-β法;多自由度;地震响应;简化计算中图分类号:文章编号: 1000-565X1 引言地震是人类最严重的自然灾害之一。

有关记录表明,二十世纪因地震灾害造成的死亡人数至少在120万人以上。

发生在1976年我国的唐山大地震,死亡人数超过24.2万,因地震造成的直接间接损失超过百亿元。

减少因地震造成的生命财产损失对于国民经济的发展和人民生命财产的安全意义重大,其主要途径是工程结构抗震设计。

随着人类抗震经验的不断积累以及电子计算机的飞速进步,地震工程的理论和应用得到很大发展。

从早期的线性单自由度分析到如今的高度复杂的结构体系非线性弹塑性分析,并结合大型的模拟地震台作为检验,人们已经积累了一套相对完善的反映工程实际的抗震设计方法。

而地震反应的理论分析中,对响应的准确计算和分析是抗震设计的前提和基础。

结构地震响应计算方法经历了从静力法到反应谱法[1],最后落脚在时程分析法[2]的三大发展历程。

静力法只有在自振周期远小于地面运动周期时才足够精确,它忽略了结构自身的动力特性,因而存在很大局限性。

上世纪40年代提出了反应谱理论,但设计过程仍是静态方法,且无法反映许多实际复杂因素。

结构动力学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 ∆+}{ 。

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

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

Newmark-β法假定:t u u u u t t t t t t ∆ββ∆∆]}{}){1[(}{}{+++-+=&&&&&&(1-1)2]}{}){21[(}{}{}{t u u t u u 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 t t t t t t u u t u u tu }){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][][2C t M tK K ∆γβ∆γ++= )}{)12(}){1(}{]([)}){121(}{1}{1]([}{}{2t t t t t t t t u t u u 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-β法的计算步骤如下:1.初始计算:(1)形成刚度矩阵[K ]、质量矩阵[M ]和阻尼矩阵[C ];(2)给定初始值0}{u , 0}{u&和0}{u &&; (3)选择积分步长∆t 、参数β、γ,并计算积分常数201t ∆γα=,t ∆γβα=1,t ∆γα12=,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 tt 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 -β法计算的基本问题四层框架结构在顶部受一个简谐荷载014=sin()tF F t π的作用,力的作用时间1t =5s ,计算响应的时间为100s ,分2000步完成。

阻尼矩阵由Rayleigh 阻尼构造。

具体数据如下图:图一:结构基本计算简图三、 计算Newmark -β法的源程序clc clearm=[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=2*m*0.05*sqrt(k/m) ;t1=5; %力的作用时间 nt=2000; %分2000步完成 dt=0.01; %时间步长 alfa=0.25; %γ=0.25 beta=0.5; %β=0.5a0=1/alfa/dt/dt; % 201t∆γα=a1=beta/alfa/dt; %t∆γβα=1 a2=1/alfa/dt; %t∆γα12=a3=1/2/alfa-1; %1213-=γα a4=beta/alfa-1; %14-=γβα a5=dt/2*(beta/alfa-2); % )2(25-=γβ∆αt a6=dt*(1-beta); %)1(6β∆α-=t a7=dt*beta; % t ∆βα=7d=zeros(4,nt); %初位移为0 v=zeros(4,nt); % 初速度为0 a=zeros(4,nt); % 初加速度为0 for i=2:ntt=(i-1)*dt;if (t<t1),f=[300*sin(6*pi*t)-50*cos(3*pi*t);0;0;0]; %力作用时间内对结构进行加载elsef=[0;0;0;0]; %力作用时间外结构不受力endke=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));% t+∆t时刻的有效荷载d(:,i)=inv(ke)*fe; %求解t+∆t时刻的位移a(:,i)=a0*(d(:,i)-d(:,i-1))-a2*v(:,i-1)-a3*a(:,i-1); %计算t+∆t时刻的加速度v(:,i)=v(:,i-1)+a6*a(:,i-1)+a7*a(:,i); %计算t+∆t时刻的速度endT=[0:dt:19.99]; %离散系统dt为采样周期19.99为终端时间close allfigure %控制窗口数量plot(T,[d]) %绘制位移函数图像title('¸÷ÖʵãÎ»ÒÆ×Üͼ') %添加标题为各质点位移总图legend('ÖʵãÒ»','Öʵã¶þ','ÖʵãÈý','ÖʵãËÄ') %添加图例的标注xlabel('ʱ¼ä(s)') %对x轴进行标注为时间(s)ylabel('Î»ÒÆ(m)') %对y轴进行标注为位移(m)grid %显示画图中的个网线figureplot(T,[a]) %绘制加速度函数图像title('¸÷Öʵã¼ÓËÙ¶È×Üͼ') %添加标题为各质点加速度总图legend('ÖʵãÒ»','Öʵã¶þ','ÖʵãÈý','ÖʵãËÄ')xlabel('ʱ¼ä(s)') %对x轴进行标注为时间(s)ylabel('¼ÓËÙ¶È(m/s^2)') %对y轴进行标注为加速度(m/s2)grid%figureplot(T,[v]) %绘制速度函数图像title('¸÷ÖʵãËÙ¶È×Üͼ') %添加标题为各质点速度总图legend('ÖʵãÒ»','Öʵã¶þ','ÖʵãÈý','ÖʵãËÄ')xlabel('ʱ¼ä(s)') %对x轴进行标注为时间(s)ylabel('ËÙ¶È(m/s^2)') %对y轴进行标注为加速度(m/s2)grid四、计算结果截图最后程序分别计算出四个质点的位移、速度、加速度响应。

相关文档
最新文档