结构动力学使用中心差分法计算单自由度体系动力反应的MATLAB程序.docx
《结构动力学使用中心差分法计算单自由度体系动力反应的MATLAB程序.docx》由会员分享,可在线阅读,更多相关《结构动力学使用中心差分法计算单自由度体系动力反应的MATLAB程序.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上中心差分法计算单自由度体系动力反映的报告前言基于叠加原理的时域积分法与频域积分法一样,都假设结构在在全部反应过程中都是线性的。而时域逐步积分法只是假设结构本构关系在一个微小的时间步距内是线性的,相当于分段直线来逼近实际的曲线。时域逐步积分法是结构动力问题中研究并应用广泛的课题。中心差分法是一种目前发展的一系列结构动力反应分析的时域逐步积分法的一种,时域逐步积分法还包括分段解析法、平均常加速度法、线性加速度法、Newmarket-和Wilson-法等。中心差分法(central difference method)原理 中心差分法的基本思路将运动方程中的速度向量和加速度
2、向量用位移的某种组合来表示,将微分方程组的求解问题转化为代数方程组的求解问题,并在时间区间内求得每个微小时间区间的递推公式,进而求得整个时程的反应。中心差分法是一种显示的积分法,它基于用有限差分代替位移对时间的求导(即速度和加速度)。如果采用等时间步长,ti=t(t为常数),则速度与加速度的中心差分近似为ui=ui+1+ui-12t (1)ui=ui+1-2ui+ui-1t2 (2)用u表示位移,离散时间点的运动为:ui=uti,ui=uti,ui=uti (i=0,1,2)体系的运动方程为mut+cut+kut=P(t) (3)将速度和加速度的差分近似公式(1)和(2)代入(3)中得出在ti
3、时刻的运动方程,将方程整理得到ui+1由ui和ui-1表示的两步法的运动方程(4):mt2+c2tui+1=Pi-k-2mt2ui-mt2-c2tui-1 (4)这样就可以根据ti及以前的时刻的运动求得ti+1时刻的运动。中心差分法属于两步法,用两步法计算时存在起步问题,必须要给出相邻的两个时刻的位移值,才能逐步计算。对于地震作用下结构的反应问题和一般的零初始条件下的动力问题,可以用(4)直接计算,因为总可以假设初始的两个时间点(一般取i=0,-1)的位移等于零。但是对应于非零初始条件或零时刻外荷载很大时,需要进行一定的分析,建立两个起步时刻(即i=0,-1)的位移值。假设给定的初始条件为u0
4、=u0u0=u0 (5)根据初始条件来确定u-1。根据中心差分公式u0=u1+u-12tu0=u1-2u0+u-1t2 (6)消去u1得到u-1的公式:u-1=u0-tu0+t22u0 (7)其中零时刻加速度值u0可以由t=0时的运动方程得到即u0=1mP0-cu0-ku0 (8)这样就可以根据初始条件得到u-1,然后再将初始条件应用于公式(4)中,逐步求出不同时刻的运动。中心差分法分析时的具体计算步骤:(1) 基本数据准备与初始条件计算已知:初始位移u0、u0和初始荷载值P0来计算u0和u-1u0=1mP0-cu0-ku0u-1=u0-tu0+t22u0 (2) 计算等效刚度和中心差分法计算
5、公式中的系数k=mt2+c2ta=k-2mt2b=mt2-c2t因此中心差分法计算公式可以表示为:kui+1=Pi-aui-bui-1(3) 根据ti及以前的时刻的运动求得ti+1时刻的运动Pi=Pi-aui-bui-1ui+1=Pik(4)下一步计算中用i+1代替i,对于线弹性体系重复第3步计算步骤,对于非线性弹性体系,重复第2和第3计算步骤。以上的中心差分法逐步计算公式具有2阶精度,即误差O(t2);并且是有条件稳定的,稳定条件为:tTn式中,Tn为结构的自振周期,对于多自由度体系则为结构的最小自振周期。算例本算例根据结构动力学48页算例3.1数据编写,稳定条件为dt=0.16s对于一个单
6、层框架结构,假设楼板刚度无限大,且结构质量集中于楼层,其质量M=9240kg、刚度K1460KN/m、阻尼系数C6.41KNs/m,对结构施加动力荷载P=73000sin0.5t假设结构处于线弹性状态,用中心差分法计算结构的自由振动反应。采用MATLAB语言编程,并以单自由度体系为例进行计算,设初位移u00.05m和初速度v0=0,取不同的步长分别计算,以验证中心差分法的稳定条件。先计算,由稳定条件,而rad/s,则,所以本次计算取0.2,0.1,0.05分别进行计算。计算结果与分析 1)当dt=0.05s时,可以得到位移u,速度v,加速度ac的时程曲线如下:2)当dt=01s时,可以得到位移
7、u,速度v,加速度ac的时程曲线如下:3)当dt=0.2s时,可以得到如下提示:不满足稳定条件:dt2*sqrt(m/k) %判断时间步长是否满足稳定条件 disp(不满足稳定条件:dt=Tn/pi,请重新输入符合稳定条件的时间步长dt) return elseif 0dt=2*sqrt(m/k) disp(满足稳定条件为:dt=Tn/pi) endt=0:dt:all_time; %将时间分步,采用等时间步长;mm,nn=size(t); %计算t的向量长度,得出步数;u=zeros(size(t); %设定存储u的矩阵;v=zeros(size(t); %设定存储v的矩阵;ac=zeros
8、(size(t); %设定存储ac的矩阵;u(:,2)=u0; %赋值向量第2项为u0;v(:,2)=v0; %赋值向量第2项为v0;ac(:,2)=(P0-c*v(:,2)-k*u(:,2)/m; %求出初始加速度ac0;u(:,1)=u(:,2)-dt*v(:,2)+(dt)2)*ac(:,2)/2; %计算初始条件u-1项;ek=m/(dt2)+c/(2*dt); %计算等效刚度;a=k-(2*m)/(dt2);b=m/(dt2)-c/(2*dt); %计算方程系数;p(:,2)=P0*sin(0); %给出初始荷载条件;ep(:,2)=p(:,2)-a*u(:,2)-b*u(:,1);
9、 %计算初始等效荷载;u(:,3)=ep(:,2)/ek; %计算位移u1=u(:,3)for i=3:nn %从第二项开始进行中心差分法计算; p(:,i)=P0*sin(.5*pi*(i-2)*dt); %给出荷载条件,按照简谐荷载计算; ep(:,i)=p(:,i)-a*u(:,i)-b*u(:,i-1); %计算等效荷载; %-得出所需要结果-% u(:,i+1)=ep(:,i)/ek; %计算位移量; v(:,i)=(u(:,i+1)-u(:,i-1)/(2*dt); %计算速度量; ac(:,i)=(u(:,i+1)-2*u(:,i)+u(:,i-1)/(dt2);%计算加速度量;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 动力学 使用 中心 差分法 计算 自由度 体系 动力 反应 MATLAB 程序
限制150内