用matlab编程实现法计算多自由度体系的动力响应

时间:2025-07-09

用matlab编程实现Newmark-β法计算多自由度体系的动力响应

姓名:

学号: 班级: 专业:

用matlab编程实现Newmark-β法 计算多自由度体系的动力响应

一、Newmark-β法的基本原理

Newmark- 法是一种逐步积分的方法,避免了任何叠加的应用,能很好的适应非线性的反应分析。 Newmark- 法假定:

}t t {u }t [(1 ){u }t {u }t t] t {u

(1-1)

1

} t [( ){u }t {u }t t] t2 (1-2) {u}t t {u}t {u

2

式中, 和 是按积分的精度和稳定性要求进行调整的参数。当 =0.5, =0.25时,为常平均加速度法,即假定从t到t+ t时刻的速度不变,取为常数1

}t {u }t t)。研究表明,当 ≥0.5, ≥0.25(0.5+ )2时,Newmark- 法是一种({u2

无条件稳定的格式。

}t t,{u }t,{u }t表示的{u }t t由式(2-141)和式(2-142)可得到用{u}t t及{u}t,{u表达式,即有

}t t {u

111

}t (1-3) ({u} {u}) {u} ( 1){ut ttt2

t2 t

}t t {u

}t (1 ) t{u }t (1-4) ({u}t t {u}t) (1 u

t 2

考虑t+ t时刻的振动微分方程为:

}t t [C]{u }t t [K]{u}t t {R}t t (1-5) [M]{u

将式(2-143)、式(2-144) 代入(2-145),得到关于ut+ t的方程

[]{u}t t {t t (1-6)

式中

[] [K]

1

[M] [C] 2

t t

111

}t){u} {u} ( 1){utt2

t2 t

{ {R}t t [M

}t ( 1) t{u }t) [C{u}t ( 1){u

t 2

}t t和{u }t t。 求解式(2-146)可得{u}t t,然后由式(2-143)和式(2-144)可解出{u由此,Newmark- 法的计算步骤如下:

1.初始计算:

(1)形成刚度矩阵[K]、质量矩阵[M]和阻尼矩阵[C];

}0和{u }0; (2)给定初始值{u}0, {u

(3)选择积分步长 t、参数 、 ,并计算积分常数

0

111 ,,, 1, 231

t2 t t2

4

t

1, 5 ( 2), 6 t(1 ), 7 t; 2

(4)形成有效刚度矩阵[] [K] 0[M] 1[C]; 2.对每个时间步的计算:

(1)计算t+ t时刻的有效荷载:

}t 3{u }t){t t {F}t t [M]( 0{u}t 2{u

}t 5{u }t) [C]( 1{u}t 4{u

(2)求解t+ t时刻的位移:

{u}

t t

{t t

(3)计算t+ t时刻的速度和加速度:

}t t 0({u}t t {u}t) 2{u }t 3{u }t {u

}t t {u }t 6{u }t 7{u }t t {u

Newmark- 方法是一种无条件稳定的隐式积分格式,时间步长 t的大小不影响解

的稳定性, t的选择主要根据解的精度确定。

二、 本文用Newmark-β法计算的基本问题

四层框架结构在顶部受一个简谐荷载F=F0sin(

4 t

)的作用,力的作用时间t1

t1=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质点的加速度响应

…… 此处隐藏:277字,全部文档内容请下载后查看。喜欢就下载吧 ……
用matlab编程实现法计算多自由度体系的动力响应.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219