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

  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]}{}){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 ∆γα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 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 -β法的源程序

clc clear

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=2*m*0.05*sqrt(k/m) ;

t1=5; %力的作用时间 nt=2000; %分2000步完成 dt=0.01; %时间步长 alfa=0.25; %γ=0.25 beta=0.5; %β=0.5

a0=1/alfa/dt/dt; % 2

01t

∆γα=

a1=beta/alfa/dt; %t

∆γβ

α=

1 a2=1/alfa/dt; %t

∆γα1

2=

a3=1/2/alfa-1; %121

3-=

γ

α 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 ∆βα=7

d=zeros(4,nt); %初位移为0 v=zeros(4,nt); % 初速度为0 a=zeros(4,nt); % 初加速度为0 for i=2:nt

相关文档
最新文档