[编程][动力学][软件] SDOF_RUNGE: RUNGE-KUTTA Method for Dynamic Analysis OF SDOF Structures [单自由度结构动力分析-龙格-库塔法]

实干、实践、积累、思考、创新。 程序图标 ( Icon ) 程序介绍 ( Introduction) 最近看文献,整理资料,遇到Runge-Kutta法相关的内容,于是整理SDOF_RUNGE程序,通过编写程序,掌握RUNGE-KUTTA法的基本概念。 数值分析中,龙格-库塔法(Runge-Kutta methods)是用于非线性常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家卡尔·龙格和马丁·威尔海姆·库塔于1900年左右发明。Runge-Kutta公式的思路就是利用区间内一些特殊点的一阶导数值的线性组合来替代某点处的n阶导数值,这样就可以仅通过一系列一阶导数值来得到某点幂级数展开的预测效果。在工程中最常用的是四阶龙格-库塔积分,也就是 RK4 积分,其完整的表述如下(搬运自百度): 已知初值问题: 对于该问题,RK4法的表达式为: 其中 上面的递推公式中,下一个值(yn+1)由现在的值(yn)加上时间间隔(h)和一个估算的斜率的乘积所决定。该斜率是以下斜率的加权平均,k1是时间段开始时的斜率;k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点tn+h/2的值;k3也是中点的斜率,但是这次采用斜率k2决定y值;k4是时间段终点的斜率,其y值用k3决定。 结构动力学中,可以利用该方法,进行结构的动力时程方程的求解。SDOF_RUNGE就是用采用 RK4求解单自由度动力时程分析的小程序。SDOF_RUNGE的编制主要参考William T. Thomson, Marie Dillon Dahleh 编写的《Theory of Vibration with Applications》的第五版,我看的清华大学出版社出版的影印版纸板,原版和影印版的封面如下: 采用Runge-Kutta法求解结构动力方程,首先需要将原来的2阶动力微分方程降阶为1阶,变为上面介绍的标准模式,然后再套用迭代公式进行求解。《Theory of Vibration with …

[几何][数学] 梁跨中下挠引起的端部水平位移有多大?(How large is the end horizontal displacement caused by the midspan deflection of the beam?)

实干、实践、积累、思考、创新。 不考虑梁本身的伸长、弯曲等自身变形,单纯考虑水平放置的梁跨中发生挠度 的情况下,水平伸缩量Δ的大小。这其实是一个纯数学的推导,已经和物理无关了(PS. 题目说梁其实不对),其实说的是一根不可伸缩的直线,跨中发生挠度 ,变为两根直线后,水平伸缩量是多大。 其中 \(L\)为直线的总长度,\(\Delta \)为水平伸缩量的大小,\(X\)为直线发生倾斜变形后,水平投影长度的一半。 由总长不变,可得水平伸缩量 \(\Delta = L – 2X\) 同时 \(L\)、\(\Delta \) 及\(X\) 之间满足以下三角函数关系 \(2X = 2\sqrt {{{\left( {\frac{L}{2}} \right)}^2} – {\omega ^2}} \) 将上式代入第一个公式,可得 …