网站建设与管理模拟题1,南京宣传片公司有哪些,专业网页设计软件,网页制作软件aipython仿真报告自动化——excite TD齿轮角加速度级计算 1 、问题-燃油泵相位优化2、难点-excite TD结果文件的提取3、代码 1 、问题-燃油泵相位优化
用excite TD对齿轮系进行仿真#xff0c;模拟不同燃油泵相位对齿轮传动振动的影响#xff0c;用齿轮角加速度级作为评价指标… python仿真报告自动化——excite TD齿轮角加速度级计算 1 、问题-燃油泵相位优化2、难点-excite TD结果文件的提取3、代码 1 、问题-燃油泵相位优化
用excite TD对齿轮系进行仿真模拟不同燃油泵相位对齿轮传动振动的影响用齿轮角加速度级作为评价指标需要计算大量的数据用IMPRESS Chart手动处理太麻烦。
2、难点-excite TD结果文件的提取
excite TD结果文件.GID在用python读取时有大量的空格需合并连续空格再用空格分割提取齿轮角角速度FFT的数据。 用正则化表达式处理 linere.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_fullnamerE:\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]
NUM12
finp.zeros((226,NUM))
ainp.zeros((226,NUM))
a_dbnp.zeros(NUM)
for j in range(NUM):file_path rE:\NVH_sim_\excite_td\TD-1600rpm\results\\file_name[j]with open(file_path) as f:contentf.read()#拆分内容linescontent.split(\n)for i,line in enumerate(lines[149:375]):#利用正则表达式将连续的空格合并为一个空格linere.sub(r\s, ,line)itemline.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[i1] [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[i2][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)