因为最近需要重新用到pytorch,而且在颤振分析时遇到一些不理解的问题,所以用python重新学习了振动分析(程序太长就不放这里了,回头整理下放github算了),准备自己手撸一个时域结构动力学仿真程序。

结构动力学

基础

噪音来自部分振动能量在空气中发散,故噪音和振动问题的研究方向是一致的,而振动问题的研究基础是结构动力学。

静力学研究在定力作用下的位移,基础是外驱力和静刚度引起的回弹力的平衡,动力学研究在非定力作用下的位移,基础是外驱力,惯性力,阻尼力,回弹力的平衡,本质上都是力的平衡(达朗贝尔原理,D'Alembert's principle)。对力的平衡方程求解,就可以得到响应位移的公式,有了这个方程后就可以根据初始条件计算单自由度刚体响应,结合编程学习振动基本原理,并在遇到响应问题时反推可能原因。

本文公式引用自克拉夫的《结构动力学》,注意不同求解过程是基于不同的假设,这导致不同公式是适用于不同前提下。

无外载自由振动

使用python结合前述位移公式描绘曲线如下图所示,与书本曲线趋势一致,这里的两个关键概念,一个是圆频率和振动频率的差别(f=w/2pi),一个是阻尼比影响衰减速度(临界阻尼时正好一周期内完成振动衰减,实际阻尼与临界阻尼之比即为阻尼比,通过调整输入参数观察程序输出,可以看到不同参数特别是阻尼比的影响):

单个周期载荷简谐振动

在周期载荷下的位移响应包括2部分,一个是与受力有关的稳态成分,一个是与初始状态有关的瞬态成分,在阻尼系统下一般只关注前者,但2者都会受阻尼比和频率比(载荷频率与圆频率之比)的影响,程序作图如下。

有些机械松动问题,通过振动相位测量是可以发现的,已经可靠紧固的机械部件应该是与其它部件间同步运动,在各个零部件之间不应该存在显著的幅值和相位的变化,如果在相互配合的零部件之间存在振动幅值和相位的变化,那么机械松动问题的存在是值得怀疑的。而如果2个轴承座之间相位差180度,则很有可能是存在不对中。这里我有个疑问没想明白,为什么只关注0-180度的相位差,是因为对于波的合成来说270和90是一样的么?

我们通过程序可以观察到不同的阻尼比与频率比对稳态成分的振动幅值和此成分相对外驱力的滞后相位的影响。编程输出与书中图形对比如下,可以看出在频率比接近1处存在共振,而高频时响应幅值更低且不同阻尼差距在接近。

低刚度时响应幅值更大,特别是共振点上,而高频时响应幅值相对低且不同刚度差别不大。

再次对比不同阻尼比时用不同方法计算阻尼比的精度,低阻尼比下半功率法还是不错的。

对于外力冲击引起的振动,有时要考虑在硬质基座与驱动之间增加弹簧和阻尼进行缓冲隔振,这时候外力传递到基座的传导比(基座受力与外力之比)在不同频率比与阻尼比之下有所不同,共振时低阻尼的放大作用更明显,而高频激励下低阻尼更有利于隔振。

对于力传递来说,相同阻尼与驱动频率时不同刚度下传递的力是一样的,但都在共振区间被放大,且高频激励下低刚度的传递力会更小。

多个周期载荷的响应(任意周期载荷的响应)

任意周期函数可根据傅里叶级数分解成稳态中值(先忽略)与多个三角函数之和,或者根据欧拉公式变为多个指数函数之和,下面的切削力图来自Tony和Scott的《machining dynamics》,我尝试用多个sin波合成了一个三角波,效果不是很好,待优化。

冲击载荷的响应

有些结构比如车辆和桥梁对冲击载荷更为敏感,而在冲击载荷中因为时间短,阻尼的影响远不如刚度,所以分析时只关注无阻尼情况,其响应可分为第一阶段的受迫振动与第二阶段的自由振动,受公式推导时的假设限制,只适用于频率比低于1的情况。

任意载荷的响应(另文述说)

python动力学_用python学振动分析(一)相关推荐

  1. 第一章 第一节:Python基础_认识Python

    Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...

  2. pythoncookbook和流畅的python对比_为什么你学Python效率比别人慢?因为你没有这套完整的学习资料...

    以下资源免费获取方式! 关注!转发!私信"资料"即可免费领取! 入门书籍 1.<Python基础教程>(Beginning Python From Novice to ...

  3. ppt python 图表_利用python分析weibo数据做成图表放入PPT中

    起因 很久以前,就有个想法,就是自动分析微博的数据,但是之前一直想的是网页版展示,flask想学了好久都没学,偶然的一次看到了一篇关于python处理pptx的文章,再加上同窗三年的室友在毕业后竟然主 ...

  4. 阿里云python课程_阿里云大学编程语言免费精华课程集锦

    阿里云云栖社区 近期在微博免费开放了大数据报告以及多种课程,这不仅给互联网商业战略分析专家带来了福音同时也给有兴趣学习编程的同学们带来了免费知识大餐,因不允许发相关链接,请关注私信小编,小编会发给你链 ...

  5. 第一门语言学python好_零基础学编程,哪一门语言比较适合入门?

    最近,有不少小伙伴问我,说零基础学编程,第一门语言学哪个好?有人推荐学Python,理由是Python简单,对新人友好,上手快,那Python到底适不合适新人学呢. 我今天就这个问题给大家稍微的展开一 ...

  6. 计算机语言python发音_最难学的七大编程语言,VB 第一,Python垫底,看你学的排第几...

    原标题:最难学的七大编程语言,VB 第一,Python垫底,看你学的排第几 在很多人眼里程序员的标配就是黑框眼镜+格子衫+双肩包+牛仔裤+运动鞋,拥有了这些可能就被判定为一个程序员. 而如何判定一个程 ...

  7. 会c++有必要学python吗_你应该学Python还是C++

    前面有一段时间,我学习了Python这门语言,所以到现在,总会有人问我:"你觉得Python还是C++实用?哪个更好用?"接下来的文章就想给大家介绍下两者的一些区别以及优缺点. 首 ...

  8. 教孩子学编程python豆瓣_教孩子学编程 Python

    教孩子学习Python目录第1章Python编程基础知识:了解环境111知道Python 312编写的Python程序513运行Python程序514章总结615编程挑战7章2只乌龟图:图纸与Pyth ...

  9. 零基础学python张志强_零基础学Python最新章节_张志强著_掌阅小说网

    1.5 Python的开发工具 Python的开发工具非常丰富,有许多强大的IDE(Integrated Development Environment)工具,如Komodo.PythonWin.Ec ...

  10. python 字符识别_使用python进行光学字符识别入门

    python 字符识别 语言模型设计 (Language Model Designing) Optical Character Recognition is the conversion of 2-D ...

最新文章

  1. gitlab mysql devel_服务器搭建gitlab+mysql+nginx+redis+Jekins
  2. PostgreSQL9.5:pg_rewind 快速恢复备节点
  3. 在Eclipse中配置Tomcat服务
  4. Java 数组中找最大值和最小值
  5. 轻松构建基于 Serverless 架构的弹性高可用音视频处理系统
  6. oracle存储查询出来的值_技术分享|浅析ORACLE数据库物理体系结构及其对应优化策略...
  7. html 点击文本框则选中,JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。...
  8. mysql从 lvs_mysql主从之LVS+keepalived+双主MySQL 负载均衡
  9. linux ping 虚拟网卡_虚拟机中Linux系统网卡的配置
  10. BP神经网络——从二次代价函数(Quadratic cost)到交叉熵(cross-entropy cost)代价函数
  11. ArcGIS和Fragstats的脚本化调用 ------以ArcPy和命令行的方式
  12. 微信开发之小程序UI设计规范
  13. 车辆属性最近一次入库时间初始化生成sql脚本文件
  14. 古体字与简体字对照表_简体字和繁体字对照表
  15. 跟我一起学Linux系统编程006C-进程内存分配,堆分配brk、malloc、free
  16. java实现单词默写助手,强烈建议new-hand收藏
  17. 派森编程python_派森(Python)编程有什么用?
  18. python题库刷题网站_python在线刷题网站
  19. signature=d363d26bda212f777fef81d270ecd42b,基于DNA-pooling全基因组重测序初步筛查CAD易感基因变异位点...
  20. 文本编辑工具 | Editplus_v5.5 +汉化包,用于java、C/C++的语言工具

热门文章

  1. WebService 服务 转
  2. 搞定所有的跨域请求问题 : jsonp CORS
  3. 关联分析购物篮案例python_购物篮分析案例_关联分析算法_如何做销售数据分析 – 帆软...
  4. 数模美赛常用算法matlab代码总结+数模大礼包
  5. cs231n assignment3
  6. 阿里 P6 和 P7 的主要区别是什么?
  7. 被称为最好最易理解的MATLAB入门教程
  8. 修改高通IPQ4019/4018的flash的分区
  9. Dubbo视频教程《基于Dubbo的分布式系统架构视频教程》----课程列表
  10. Proteus7.8 ISIS制图8个LED(针对初次使用者)