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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eWebEditor漏洞[通俗易懂]

    eWebEditor漏洞[通俗易懂]各位站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEditor,于是很简单就

    2022年7月4日
    25
  • iis 启动不了,提示发生意外错误0x8ffe2740 解决最好方法 心得

    iis 启动不了,提示发生意外错误0x8ffe2740 解决最好方法 心得最近总出来两个错误1。每次启动IIS时,总报 “外错误0x8ffe2740 ”2。打开Vs.net2003时,又出来什么目前Asp.net不是1.1什么的。总之不能运行。查www.google.com发现  IIS的错误是因为80端口被占用的缘故。网上侠客,只是说先改IIS的端口。解决最好方法:A)我用“FPort.exe”找到占用端口的程序。B)然后将它

    2022年7月13日
    21
  • sql数据库置疑怎么处理_sqlserver2008数据库可疑

    sql数据库置疑怎么处理_sqlserver2008数据库可疑本文例举数据库名为:ICYQSHSFserver2000:修复前准备1、停掉server服务,备份消费系统数据库文件(MDF和LDF文件);2、重启server服务,删除置疑的库,新建一个同名的库(新建时留意数据库文件路径);3、停掉server服务,将备份的MDF、LDF文件拷贝到新建库的路径下,先修改新建库的MDF、LDF和拷贝过来的LDF文件名,再重命名拷贝过来的MDF文件为新建库MDF文件修改前的名称;4、重启server服务,并执行修复语句:sp_configure..

    2022年8月20日
    8
  • java环境_Java 开发环境配置

    java环境_Java 开发环境配置Java开发环境配置在本章节中我们将为大家介绍如何搭建Java开发环境。window系统安装java下载JDK在下载页面中你需要选择接受许可,并根据自己的系统选择对应的版本,本文以Window64位系统为例:下载后JDK的安装根据提示进行,还有安装JDK的时候也会安装JRE,一并安装就可以了。安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为C:\ProgramFil…

    2022年7月9日
    18
  • clojure-repl的使用套路

    clojure-repl的使用套路

    2021年9月16日
    195
  • 23种设计模式汇总整理

    设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式,共七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。…

    2022年3月11日
    38

发表回复

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

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