当前位置: 首页 > news >正文

python仿真报告自动化——excite TD齿轮角加速度级计算

python仿真报告自动化——excite TD齿轮角加速度级计算

  • 1 、问题-燃油泵相位优化
  • 2、难点-excite TD结果文件的提取
  • 3、代码

1 、问题-燃油泵相位优化

用excite TD对齿轮系进行仿真,模拟不同燃油泵相位对齿轮传动振动的影响,用齿轮角加速度级作为评价指标,需要计算大量的数据,用IMPRESS Chart手动处理,太麻烦。

2、难点-excite TD结果文件的提取

excite TD结果文件.GID在用python读取时,有大量的空格,需合并连续空格,再用空格分割提取齿轮角角速度FFT的数据。
用正则化表达式处理:
line=re.sub(r’\s+‘,’ ',line)

3、代码

计算各齿轮的角加速度级,绘图,并将数据写入excel中。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import replt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号file_excel_fullname=r'E:\NVH_sim_\ppt\ai_gear.xlsx'
cirv_name=['G-Crankshaft','G-SteppedidleBig','G-SteppedidleSmall','G-Camidle2','G-Camidle1','G-Intake','G-Exhaust',\'G-FIP','G-AirPumpidle','G-AirPump','G-OilPumpidle','G-OilPump']
file_name=['SHGE_164_F.GID','SHGE_191_F.GID','SHGE_201_F.GID','SHGE_212_F.GID','SHGE_215_F.GID','SHGE_219_F.GID','SHGE_218_F.GID',\'SHGE_193_F.GID','SHGE_169_F.GID','SHGE_171_F.GID','SHGE_180_F.GID','SHGE_183_F.GID']
NUM=12
fi=np.zeros((226,NUM))
ai=np.zeros((226,NUM))
a_db=np.zeros(NUM)
for j in range(NUM):file_path = r'E:\NVH_sim_\excite_td\TD-1600rpm\results'+'\\'+file_name[j]with open(file_path) as f:content=f.read()#拆分内容lines=content.split('\n')for i,line in enumerate(lines[149:375]):#利用正则表达式将连续的空格合并为一个空格line=re.sub(r'\s+',' ',line)item=line.split(' ')fi[i,j]=float(item[1])ai[i,j]=float(item[32])a_db[j]=10*np.log10(np.sum(ai[:,j]*ai[:,j]))
for j in range(NUM):plt.plot(fi[:,j],10*np.log10(ai[:,j]*ai[:,j]),label='$%s:%5.2f$'%(cirv_name[j],a_db[j]))
plt.legend()
plt.xlabel('fi/Hz')
plt.ylabel('ai/Db')
plt.show()
print(a_db)# c创建一个DataFrame数据类型,并写入表头
dataFrame = pd.DataFrame(columns=("fi", 'G-Crankshaft','G-SteppedidleBig','G-SteppedidleSmall','G-Camidle2','G-Camidle1','G-Intake','G-Exhaust',\'G-FIP','G-AirPumpidle','G-AirPump','G-OilPumpidle','G-OilPump'))
#添加两行数据
for i in range(226):dataFrame.loc[i+1] = [fi[i,0], ai[i,0], ai[i,1],ai[i,2], ai[i,3],ai[i,4], ai[i,5],ai[i,6], \ai[i,7],ai[i,8],ai[i,9], ai[i,10],ai[i,11]]
dataFrame.loc[i+2]=['overall',a_db[0], a_db[1],a_db[2], a_db[3], a_db[4],a_db[5], a_db[6],\a_db[7], a_db[8],a_db[9], a_db[10], a_db[11]]
# 写入excel文件
#dataFrame.values[:,0]=fi[:,0]
dataFrame.to_excel(file_excel_fullname)

在这里插入图片描述


http://www.lryc.cn/news/327468.html

相关文章:

  • 如何系统的学习 C#
  • python爬虫----python列表高级
  • 目标检测的相关模型图:YOLO系列和RCNN系列
  • Linux基础命令2
  • IP组播基础
  • Pytorch的named_children, named_modules和named_children
  • 3.28总结
  • C# 命名空间的两种定义哦写法与区别
  • Rustdesk客户端编译后固定密码不稳定时好时坏
  • 小程序利用WebService跟asp.net交互过程发现的问题并处理
  • TitanIDE与传统 IDE 比较
  • 反序列化动态调用 [NPUCTF2020]ReadlezPHP1
  • Hadoop面试重点
  • 【ONE·基础算法 || 分治·快排并归】
  • Python 从0开始 一步步基于Django创建项目(11)注册新用户
  • 银行监管报送系统介绍(十二):非居民金融账户涉税信息报送
  • 土壤有机质空间分布数据
  • Unity图集编辑器
  • 【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(六)
  • hbase启动错误-local host is“master:XXXX“ destination is:master
  • 基于SpringBoot的“招生管理系统”的设计与实现(源码+数据库+文档+PPT)
  • Chinese-LLaMA-Alpaca-2模型量化部署测试
  • flutter 打包成web应用后怎么通过url跳转页面
  • 【设计模式】中介者模式的应用
  • 【微服务篇】分布式事务方案以及原理详解
  • String 类的常用方法都有那些?
  • 用XMLHttpRequest发送和接收JSON数据
  • 华为云使用指南02
  • halcon目标检测标注保存
  • Python图像处理——计算机视觉中常用的图像预处理