当前位置:网站首页>发动机悬置系统冲击仿真-瞬时模态动态分析与响应谱分析
发动机悬置系统冲击仿真-瞬时模态动态分析与响应谱分析
2022-07-27 10:26:00 【lijil168】
1、参考
python发动机悬置解耦计算-按重心处整车坐标系解耦
发动机悬置python仿真计算-发动机翻转力矩激励及振动计算
Abaqus系统冲击仿真示例-瞬态模态法及响应谱法参考知乎
理论参考百度文库写的很好,就是看着看着越不能看了
2、仿真思路
- 用Abaqus先建立6自由度刚体系统,进行基于模态的瞬态时域仿真Modal dynamics和响应谱仿真Response spectrum,4个悬置点加质量点形成刚体,质心为参考点,4个支撑点约束(施加base motion激励)悬置点与支撑点由弹簧相连。模型的数据来自参考一,Abaqus 的操作流程参考上面的知乎。

- 激励是base motion的加速度,采用半个正弦波,由Python编程完成,最大加速度10g,最大位移80mm左右,然后用华南理工的崔济东博士的反(响)应谱计算软件,用半个正弦波生成加速度响应谱。
- Modal dynamics可以得到整个时域的动态响应过程,但是很耗时间,Response spectrum算法很有特点,由base motion的加速度激励(可以有很多个)经多个一自由度的系统,经过系统作用得到不同频率下的最大响应值,做成响应谱曲线(look up table)。然后,再根据base motion的单位位移,得到系统各阶模态的参与因子,即1单位base的位移移动,会引起各阶模态多大的位移变化,或者说模态位移是多少,也可以说模态坐标,也可以说模态加权因子,它实际上是单位base 的位移矢量在模态坐标系上的投影。1*模态参与因子=1单位的base motion产生的模态位移(单自由度系统的位移激励),再根据模态频率look up Response spectrum,进行插值,得到该模态下的响应的最大值,再经由模态振型坐标变换,变换到各个物理坐标系中,得到物理坐标系下看的见的物理量的最大响应值。因此,它的计算速度很快,如果只关心系统的最大响应值,不关心系统动态响应的过程,采用Response spectrum,是非常经济合算的算法。
3、python数据处理
冲击激励生成
- python编程生成半周期正弦波,采样间隔0.001s,即采样频率1000hz,分析频率500hz,并保存到2个txt文件中,一个用于计算响应谱,一个用于瞬态仿真激励。
import numpy as np
y_t=lambda f,t,A:A*np.sin(2*np.pi*f*t)*(t<=0.5/f)
ti=np.array(np.linspace(0,1,1000,False))#0:0.001:1;
y_ti=y_t(10,ti,10)
#np.savetxt(r'data.txt', np.c_[np.mat([ti,y_ti]).T], fmt='%f', delimiter=',')
np.savetxt(r'data.txt', np.c_[ti,y_ti], fmt='%f', delimiter=',')
np.savetxt(r'data_t_Y.txt', np.c_[ti,y_ti][:int(1*(0.5/10)*1000+1)], fmt='%f', delimiter=',')
响应谱处理



python把excel的响应谱周期改频率,并增加模态阻尼,写入txt中,用于Abaqus响应谱分析数据导入
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
file_path = r'data_RS.xls'
dataFrame =pd.read_excel(file_path)
#data=dataFrame.values[:,1:] #二维数组
f=1/dataFrame.values[0:,0]
y=dataFrame.values[0:,1]
f=f[::-1][:np.size(f)-1]
y=y[::-1][:np.size(y)-1]
plt.plot(f,y,label='Response Spectra')
plt.legend()
plt.show()
damp=np.ones(int(np.size(f)))*0.02
np.savetxt(r'data_f_RS.txt', np.c_[y,f,damp], fmt='%f', delimiter=',')
4、结果
瞬态响应,可以看到4阶模态贡献最大,竖立方向y向,与激励方向一样。
响应谱结果,结果只有一个点,和瞬态计算的最大值很接近。
边栏推荐
猜你喜欢

Edata base, a secondary development project based on spark packaging, is introduced

ctf (hardrce)

The difference between scalar, vector, matrix and tensor in deep learning

Compete for the key battle of stock users and help enterprises build a perfect labeling system - 01 live review

想要一键加速ViT模型?试试这个开源工具!

Alibaba mailbox web login turn processing

Webrtc realizes simple audio and video call function

已解决SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated

The largest square of leetcode (violence solving and dynamic programming solving)

TDengine 商业生态合作伙伴招募开启
随机推荐
Apache22 and opencms9.5 integrated configuration
Symmetric encryption and asymmetric encryption
Your appearance is amazing! Two JSON visualization tools are recommended for use with swagger. It's really fragrant
Overview of user space lock on mobile platform
[Linux] mariadb/mysql scheduled full backup script and data recovery
gyp ERR! configure error. gyp ERR! stack Error: gyp failed with exit code: 1
JVM -- Analysis of bytecode
Have you ever seen this kind of dynamic programming -- the stock problem of state machine dynamic programming (Part 1)
ECCV 2022 | complete four tracking tasks at the same time! Unicorn: towards the unification of target tracking
Distributed block device replication: client
The open source project Taier version 1.1 was officially released, and the list of new functions is fast
Set up Samba service
Google browser screenshot tips
正则form表单判断
Detailed explanation of status code meaning
已解决SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated
Deep analysis: what is diffusion model?
phpstudy中Apache无法启动
荒野觅踪---寻找迭代次数
YonBuilder赋能创新,用友第四届开发者大赛“金键盘奖”开启竞逐!