python动力学_用python学振动分析(一)

python动力学_用python学振动分析(一)因为最近需要重新用到pytorch,而且在颤振分析时遇到一些不理解的问题,所以用python重新学习了振动分析(程序太长就不放这里了,回头整理下放github算了),准备自己手撸一个时域结构动力学仿真程序。结构动力学基础噪音来自部分振动能量在空气中发散,故噪音和振动问题的研究方向是一致的,而振动问题的研究基础是结构动力学。静力学研究在定力作用下的位移,基础是外驱力和静刚度引起的回弹力的平衡,动力学…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

结构动力学

基础

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

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

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

无外载自由振动

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

单个周期载荷简谐振动

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

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

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

低刚度时响应幅值更大,特别是共振点上,而高频时响应幅值相对低且不同刚度差别不大。python动力学_用python学振动分析(一)

再次对比不同阻尼比时用不同方法计算阻尼比的精度,低阻尼比下半功率法还是不错的。python动力学_用python学振动分析(一)

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

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

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

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

冲击载荷的响应

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181511.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月16日 上午6:36
下一篇 2022年10月16日 上午6:36


相关推荐

  • FormatDateTime说解[通俗易懂]

    描述返回一个日期或时间格式的表达式。语法FormatDateTime(Date[,NamedFormat])FormatDateTime函数语法有如下几部分:部分描述Date必需的。要被格式化的日期表达式。NamedFormat可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate。设置值N…

    2022年4月10日
    59
  • 正找工作的同学看过来——Java项目经验篇

    正找工作的同学看过来——Java项目经验篇学习 Java 就是用来做项目的 Java 的主要应用领域就是企业级的项目开发 要想从事企业级的项目开发 你必须掌握如下要点 正在找工作的同学自行阅读哦 1 掌握项目开发的基本步骤 2 具备极强的面向对象的分析与设计技巧 3 掌握用例驱动 以架构为核心的主流开发方法 没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧 别人告诉你要实现什么 你就用代码堆砌来实现别人的要求 你必须学

    2026年3月26日
    2
  • 怎么看idea是否激活_最新在线免费激活

    (怎么看idea是否激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlCJM5ZJBPHS-eyJsaWNlbnNlSWQi…

    2022年3月31日
    83
  • 跟我学Telerik公司的RadControls控件(二)

    跟我学Telerik公司的RadControls控件(二)  继上篇我们学习了RadWindow控件的用法之后,本篇我们将学习在项目中更加方便开发人员的常用控件RadAjax控件.  RadAjax是面向ASP.NET应用程序无编码AJAX使能化的第一个框架。这个专利Click-and-Go™技术可以让你不需要对你应用程序做任何修改(摆放Callback面板,设置触发器等)。最棒的是,你根本不需要写一行的JavaScript或s…

    2022年7月19日
    21
  • Python 十进制转换为二进制 高位补零

    Python 十进制转换为二进制 高位补零用到的内置函数为 format 具体方法如下 gt gt gt a 2 gt gt gt b 08b format a 输出结果为八位二进制 且高位补零 如果是 gt gt gt b 8b format a 输出结果为八位二进制 但是高位不补零 需要注意的是 输出的结果类型都为 str 类型

    2025年7月31日
    3
  • pycharm快速注释快捷键

    pycharm快速注释快捷键用鼠标选中需要注释的代码 三次按下 shift 即可快速注释

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号