CN113742913A - 一种基于Python的ADAMS后处理文件K&C参数提取方法及系统 - Google Patents

一种基于Python的ADAMS后处理文件K&C参数提取方法及系统 Download PDF

Info

Publication number
CN113742913A
CN113742913A CN202111007012.3A CN202111007012A CN113742913A CN 113742913 A CN113742913 A CN 113742913A CN 202111007012 A CN202111007012 A CN 202111007012A CN 113742913 A CN113742913 A CN 113742913A
Authority
CN
China
Prior art keywords
post
array
processing file
matrix
adams
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111007012.3A
Other languages
English (en)
Inventor
邓嘉庆
王健
谭侃伦
兰孟飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Changan Automobile Co Ltd
Original Assignee
Chongqing Changan Automobile Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Changan Automobile Co Ltd filed Critical Chongqing Changan Automobile Co Ltd
Priority to CN202111007012.3A priority Critical patent/CN113742913A/zh
Publication of CN113742913A publication Critical patent/CN113742913A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于Python的ADAMS后处理文件K&C参数提取方法及系统,该方法包括以下步骤:读取后处理文件,保留后处理文件中的数字部分;分片处理所述数字部分,并将数字部分转存为数组;转化数组内的数据类型为浮点数格式;建立矩阵,填入转化之后的数组至矩阵中;根据K&C参数项需求提取不同取值区间内的矩阵中的参数,计算后得出K&C参数值。本发明可快速、高效及零错误率的提取K&C参数,且可适用于各种不同的K&C参数项提取需求,同时,本发明打通了全自动动力学仿真分析的“仿真结果自动处理”环节。

Description

一种基于Python的ADAMS后处理文件K&C参数提取方法及系统
技术领域
本发明涉及计算机技术领域,具体涉及基于Python的ADAMS后处理文件K&C参数提取技术。
背景技术
当前汽车行业竞争日趋激烈,对于车辆开发要求周期越来越短,在此前提下,主机厂对于在实车验证前快速而准确的仿真分析需求提升到一个新的高度,自动化仿真应运而生。
目前国内已有若干自动仿真程序,注入基于VC++对Adams悬架系统自动仿真、全自动动力学KC分析软件。目前国内行业只要涉及动力学仿真,普遍都采用美国MSC公司的ADAMS软件,仿真分析的数据结果都需要从ADAMS的后处理程序中提取。
以目前底盘领域悬架K&C仿真为例,悬架的K&C特性影响着汽车操纵稳定性、行驶平顺性和行驶速度等整车性能,是底盘性能分析的重要指标。传统的ADAMS仿真悬架K&C参数提取过程,需要用ADAMS的后处理界面打开后处理文件,然后从生成的图表中手动测量所需K&C指标的取值范围、斜率等参数吗,然后手动记录相关参数。在现有的通过ADAMS仿真的自动化程序中,要么没有涉及后处理的提取,如基于VC++对Adams悬架系统自动仿真,要么没有详细方法的ADAMS后处理数据提取方法,或者只是一个构想,如一种基于K&C特性的悬架硬点优化方法,要么是提取ADAMS过程数据再通过自己加工计算得到结果数据,如一种车辆性能仿真报告自动生成系统及其生成方法。现有的K&C参数项数目多,传统的提取方法费时费力、容易出错。
发明内容
本发明的目的是提供一种基于Python的ADAMS后处理文件K&C参数提取方法及系统,解决的技术问题:目前通过手动方式提取ADAMS后处理文件K&C参数,费时费力,错误率高。
为解决上述技术问题,本发明采用下述技术方案:一种基于Python的ADAMS后处理文件K&C参数提取方法,包括以下步骤:
步骤A:读取后处理文件,保留所述后处理文件中的数字部分;
步骤B:分片处理所述数字部分,并将所述数字部分转存为数组;
步骤C:转化所述数组内的数据类型为浮点数格式;
步骤D:建立矩阵,填入所述步骤C中转化之后的所述数组至所述矩阵中;
步骤E:根据K&C参数项需求提取不同取值区间内的所述步骤D中的所述矩阵中的参数,计算后得出K&C参数值。
优选地,
在所述步骤A中,所述后处理文件通过ADAMS/Car软件生成,生成的所述后处理文件的文件格式为txt格式。
优选地,
在所述步骤A中,通过遍历加循环方式保留所述数字部分。
优选地,
在所述步骤B中,通过分片命令分片处理所述数字部分,将以“行”为元素的所述数字部分拆分为以每一个数字数据为元素的形式,并将所述数字数据以所述数组形式存放。
优选地,
在所述步骤C中,通过遍历加循环方式将数组内的数据类型转化为浮点数格式,其中,转化之前的所述数组内的数据类型为str字符串格式。
优选地,
在所述步骤D中,建立一个行、列数与所述数组相同的空的矩阵,再运用循环方式读取所述数组中每一行、每一列元素,并赋值给所述矩阵相应位置的元素。
优选地,
在所述步骤E中,通过插值法运算提取不同取值区间内的所述步骤D中的所述矩阵中的参数,计算后得出K&C参数值。
本发明还提供一种基于Python的ADAMS后处理文件K&C参数提取系统,包括:
后处理文件读取保留模块,用于读取后处理文件,保留所述后处理文件中的数字部分;
数字部分分片处理及转存模块,用于分片处理所述数字部分,并将所述数字部分转存为数组;
数组数据格式转化模块,用于转化所述数组内的数据类型为浮点数格式;
数组矩阵转化模块,用于建立矩阵,填入转化之后的所述数组至所述矩阵中;
矩阵参数提取及K&C参数值计算模块,用于根据K&C参数项需求提取不同取值区间内的所述矩阵中的参数,计算后得出K&C参数值。
优选地,
所述后处理文件通过ADAMS/Car软件生成,生成的所述后处理文件的文件格式为txt格式。
优选地,
在所述数组矩阵转化模块中,建立一个行、列数与所述数组相同的空的矩阵,再运用循环方式读取所述数组中每一行、每一列元素,并赋值给所述矩阵相应位置的元素。
通过采用上述技术方案,本发明可以达到的有益技术效果陈述如下:本发明免去了仿真之后手动操作环节,不管是原先的手动提取参数还是手动导出后处理数据,现在全由本发明的Python程序自动完成,从而本发明可快速、高效及零错误率的提取K&C参数,且可适用于各种不同的K&C参数项提取需求。同时,因为本发明实现了仿真后处理数据的自动提取、处理、输出功能,因此打通了全自动动力学仿真分析的“仿真结果自动处理”环节。
附图说明
图1为后处理文件图标示意图;
图2为后处理文件内的具体内容示意图;
图3为本发明的流程图;
图4为插值法示意图;
图5为ADAMS跳动仿真设置示意图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图3所示,本发明提供了一种基于Python的ADAMS后处理文件K&C参数提取方法。本发明执行控制功能之前,必须先生成后处理文件,首先根据76项K&C指标的不同需求,运行ADAMS/Car程序生成后处理文件,生成不同的若干txt后处理文件。
这里借用ADAMS中自带的数据库,以“提取前悬架刚度”为例说明后处理文件提取方法:
第一步:打开仿真模型。打开Adams/Car依次点击File、Open、Assembly,打开acar_shared数据库中的mdi_front_vehicl.asy前悬架总成模型;
第二步:进行仿真。依次点击Simulate、SuspensionAnalysis、Parallel WheelTravel得到如图5所示的对话框,并按照如图5所示设置仿真参数然后点击OK仿真。
第三步:制作前悬刚度曲线。按F8进入PostProcessor后处理界面,设置Y轴参数为:“.mdi_front_vehicle.wheel_rates_parallel_travel.left_hub_forces.normal”,然后设置X轴参数为:
“.mdi_front_vehicle.wheel_rates_parallel_travel.testrig.wheel_travel.vertical_left”,点击Add Curves获得本次仿真前悬架刚度曲线;
第四步:提取后处理txt文件。在后处理界面中依次点击File→Export→Table打开Export对话框,然后进行如下设置:Type=Table,File Name=wheel_rates(命名可以随意),Plot=.plot_1,Format=spreadsheet,点击OK。随后可以在C:\Users\Username中找到wheel_rates.tab文件,修改后缀为txt后得到图1文件,打开就是如图2所示的内容。
生成处理文件后,本发明开始执行相关控制功能。
该方法包括以下步骤:步骤A:读取后处理文件,保留后处理文件中的数字部分。
步骤B:分片处理所述数字部分,并将数字部分转存为数组。
步骤C:转化数组内的数据类型为浮点数格式。
步骤D:建立矩阵,填入步骤C中转化之后的数组至所述矩阵中。
注意:以上步骤可以作为一个Python模块的功能,上述功能是在K&C参数提取中重复使用的步骤,在Python中可以通过调取模块的方式精简程序。该功能模块的提取,包含但不限于之前提到的76项KC参数,可以是形式为图1、图2所示的一切后处理文件。
该方法还包括步骤E:根据K&C参数项需求提取不同取值区间内的步骤D中的所述矩阵中的参数,计算后得出K&C参数值,即根据K&C参数的需求,运用插值法运算提取所需取值范围内的斜率或运算结果,再将结果赋值给K&C参数即可完成全部提取过程。
如图4所示,“插值法”的原理是根据比例关系建立一个方程,然后,解方程计算得出所要求的数据。计算举例:假设与A1对应的数据是B1,与A2对应的数据是B2,现在已知与A对应的数据是B,A介于A1和 A2之间,则可以按照(A1-A)/(A1-A2)=(B1-B)/(B1-B2)计算得出A的数值,其中A1、A2、B1、B2、B都是已知数据。
K&C参数取值,比如“前悬架刚度”取值范围为(-5,5),根据公式(A1-A)/(A1-A2)=(B1-B)/(B1-B2)可以通过txt后处理文件与-5、5前后相邻的两个参数(B1、B2)得到-5、5两点对应A的取值,然后用公式(A5-A-5)/[5-(-5)]计算出(-5,5)两点间斜率,也就是悬架刚度值。
可选地,在步骤A中,后处理文件通过ADAMS/Car软件生成,生成的后处理文件的文件格式为txt格式。
可选地,在步骤A中,通过遍历加循环方式保留所述数字部分。
这里通过筛选、保留图2中含有e+或e-的数据来保留数字部分,同时还去掉了空行。
count1 = 0
count2 = 0
for line in lines1:
if 'e+' in line:
lines1[count1] = lines1[count2]
count1 += 1
elif 'e-' in line:
lines1[count1] = lines1[count2]
count1 += 1
count2 += 1
while count1 < count2:
lines1[count1] = ''
count1 += 1
这里通过筛选、保留图2中含有e+或e-的数据来保留数字部分,同时还去掉了空行。
可选地,在步骤B中,通过分片命令分片处理数字部分,将以“行”为元素的数字部分拆分为以每一个数字数据为元素的形式,并将数字数据以数组形式存放。
依靠strip、split命令对元素进行分片,事先去掉空字符。
while '' in lines1:
lines1.remove('')
lists = []
for fields in lines1:
fields = fields.strip()
fields = fields.split()
lists.append(fields)
可选地,在步骤C中,通过遍历加循环方式将数组内的数据类型转化为浮点数格式,其中,转化之前的数组内的数据类型为str字符串格式。
使用双循环读取数组中每行每列的元素,然后用float命令转换为浮点数格式。
rows = len(lists2)
cols = len(lists2[0])
time.sleep(1)
count1 = 0
while count1 < rows:
count2 = 0
while count2 < cols:
lists2[count1][count2] = float(lists2[count1][count2])
count2 += 1
count1 += 1
可选地,在步骤D中,建立一个行、列数与所述数组相同的空的矩阵,再运用循环方式读取数组中每一行、每一列元素,并赋值给矩阵相应位置的元素。
先设置一个行、列数与数组相同的矩阵,再循环填入每行每列的元素。
rows = len(lists3)
cols = len(lists3[0])
matrix = np.zeros(shape=[rows, cols])
for i in range(rows):
for j in range(cols):
matrix[i, j] = lists3[i, j]
j += 1
i += 1
可选地,在步骤E中,通过插值法运算提取不同取值区间内的步骤D中的矩阵中的参数,计算后得出K&C参数值。
本发明还提供一种基于Python的ADAMS后处理文件K&C参数提取系统,包括:
后处理文件读取保留模块,用于读取后处理文件,保留后处理文件中的数字部分。
数字部分分片处理及转存模块,用于分片处理数字部分,并将数字部分转存为数组。
数组数据格式转化模块,用于转化数组内的数据类型为浮点数格式。
数组矩阵转化模块,用于建立矩阵,填入转化之后的数组至所述矩阵中。
矩阵参数提取及K&C参数值计算模块,用于根据K&C参数项需求提取不同取值区间内的矩阵中的参数,计算后得出K&C参数值。
可选地,后处理文件通过ADAMS/Car软件生成,生成的后处理文件的文件格式为txt格式。
可选地,在数组矩阵转化模块中,建立一个行、列数与数组相同的空的矩阵,再运用循环方式读取数组中每一行、每一列元素,并赋值给矩阵相应位置的元素。
本发明的优点:涉及计算机程序的本发明可快速、高效及零错误率的提取K&C参数,且可适用于各种不同的K&C参数项提取需求,同时,本发明打通了全自动动力学仿真分析的重要环节。

Claims (10)

1.一种基于Python的ADAMS后处理文件K&C参数提取方法,其特征在于,包括以下步骤:
步骤A:读取后处理文件,保留所述后处理文件中的数字部分;
步骤B:分片处理所述数字部分,并将所述数字部分转存为数组;
步骤C:转化所述数组内的数据类型为浮点数格式;
步骤D:建立矩阵,填入所述步骤C中转化之后的所述数组至所述矩阵中;
步骤E:根据K&C参数项需求提取不同取值区间内的所述步骤D中的所述矩阵中的参数,计算后得出K&C参数值。
2.根据权利要求1所述的基于Python的ADAMS后处理文件K&C参数提取方法,其特征在于,
在所述步骤A中,所述后处理文件通过ADAMS/Car软件生成,生成的所述后处理文件的文件格式为txt格式。
3.根据权利要求1所述的基于Python的ADAMS后处理文件K&C参数提取方法,其特征在于,
在所述步骤A中,通过遍历加循环方式保留所述数字部分。
4.根据权利要求1所述的基于Python的ADAMS后处理文件K&C参数提取方法,其特征在于,
在所述步骤B中,通过分片命令分片处理所述数字部分,将以“行”为元素的所述数字部分拆分为以每一个数字数据为元素的形式,并将所述数字数据以所述数组形式存放。
5.根据权利要求1所述的基于Python的ADAMS后处理文件K&C参数提取方法,其特征在于,
在所述步骤C中,通过遍历加循环方式将数组内的数据类型转化为浮点数格式,其中,转化之前的所述数组内的数据类型为str字符串格式。
6.根据权利要求1所述的基于Python的ADAMS后处理文件K&C参数提取方法,其特征在于,
在所述步骤D中,建立一个行、列数与所述数组相同的空的矩阵,再运用循环方式读取所述数组中每一行、每一列元素,并赋值给所述矩阵相应位置的元素。
7.根据权利要求1所述的基于Python的ADAMS后处理文件K&C参数提取方法,其特征在于,
在所述步骤E中,通过插值法运算提取不同取值区间内的所述步骤D中的所述矩阵中的参数,计算后得出K&C参数值。
8.一种基于Python的ADAMS后处理文件K&C参数提取系统,其特征在于,包括:
后处理文件读取保留模块,用于读取后处理文件,保留所述后处理文件中的数字部分;
数字部分分片处理及转存模块,用于分片处理所述数字部分,并将所述数字部分转存为数组;
数组数据格式转化模块,用于转化所述数组内的数据类型为浮点数格式;
数组矩阵转化模块,用于建立矩阵,填入转化之后的所述数组至所述矩阵中;
矩阵参数提取及K&C参数值计算模块,用于根据K&C参数项需求提取不同取值区间内的所述矩阵中的参数,计算后得出K&C参数值。
9.根据权利要求8所述的基于Python的ADAMS后处理文件K&C参数提取系统,其特征在于,
所述后处理文件通过ADAMS/Car软件生成,生成的所述后处理文件的文件格式为txt格式。
10.根据权利要求8所述的基于Python的ADAMS后处理文件K&C参数提取系统,其特征在于,
在所述数组矩阵转化模块中,建立一个行、列数与所述数组相同的空的矩阵,再运用循环方式读取所述数组中每一行、每一列元素,并赋值给所述矩阵相应位置的元素。
CN202111007012.3A 2021-08-30 2021-08-30 一种基于Python的ADAMS后处理文件K&C参数提取方法及系统 Pending CN113742913A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111007012.3A CN113742913A (zh) 2021-08-30 2021-08-30 一种基于Python的ADAMS后处理文件K&C参数提取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111007012.3A CN113742913A (zh) 2021-08-30 2021-08-30 一种基于Python的ADAMS后处理文件K&C参数提取方法及系统

Publications (1)

Publication Number Publication Date
CN113742913A true CN113742913A (zh) 2021-12-03

Family

ID=78734051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111007012.3A Pending CN113742913A (zh) 2021-08-30 2021-08-30 一种基于Python的ADAMS后处理文件K&C参数提取方法及系统

Country Status (1)

Country Link
CN (1) CN113742913A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117423394A (zh) * 2023-10-19 2024-01-19 中北大学 基于Python提取产物、团簇和化学键信息的ReaxFF后处理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123051A1 (en) * 2004-07-06 2006-06-08 Yoram Hofman Multi-level neural network based characters identification method and system
CN105022848A (zh) * 2014-04-18 2015-11-04 广州汽车集团股份有限公司 一种轿车悬架k&c特性数据的处理方法
CN105631060A (zh) * 2014-10-29 2016-06-01 广州汽车集团股份有限公司 一种汽车底盘悬架系统静载荷分析数据处理方法
CN105718607A (zh) * 2014-12-02 2016-06-29 广州汽车集团股份有限公司 一种基于k&c特性的悬架硬点优化方法
CN105893482A (zh) * 2016-03-29 2016-08-24 西安航天动力试验技术研究所 发动机试验数据全自动化提取与Word报告生成方法
CN109543253A (zh) * 2018-11-07 2019-03-29 江苏敏安电动汽车有限公司 一种汽车悬架k&c特性数据的处理方法
CN112347038A (zh) * 2020-11-06 2021-02-09 安徽建筑大学 文本类型文件数据统计功能实现的批量处理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123051A1 (en) * 2004-07-06 2006-06-08 Yoram Hofman Multi-level neural network based characters identification method and system
CN105022848A (zh) * 2014-04-18 2015-11-04 广州汽车集团股份有限公司 一种轿车悬架k&c特性数据的处理方法
CN105631060A (zh) * 2014-10-29 2016-06-01 广州汽车集团股份有限公司 一种汽车底盘悬架系统静载荷分析数据处理方法
CN105718607A (zh) * 2014-12-02 2016-06-29 广州汽车集团股份有限公司 一种基于k&c特性的悬架硬点优化方法
CN105893482A (zh) * 2016-03-29 2016-08-24 西安航天动力试验技术研究所 发动机试验数据全自动化提取与Word报告生成方法
CN109543253A (zh) * 2018-11-07 2019-03-29 江苏敏安电动汽车有限公司 一种汽车悬架k&c特性数据的处理方法
CN112347038A (zh) * 2020-11-06 2021-02-09 安徽建筑大学 文本类型文件数据统计功能实现的批量处理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117423394A (zh) * 2023-10-19 2024-01-19 中北大学 基于Python提取产物、团簇和化学键信息的ReaxFF后处理方法
CN117423394B (zh) * 2023-10-19 2024-05-03 中北大学 基于Python提取产物、团簇和化学键信息的ReaxFF后处理方法

Similar Documents

Publication Publication Date Title
CN107193876B (zh) 一种基于最近邻knn算法的缺失数据填补方法
CN107967928B (zh) 一种基于数学模型的闪存芯片寿命预测方法
CN107844424A (zh) 基于模型的测试系统及方法
CN112163316A (zh) 一种基于深度学习的硬岩隧道掘进机的掘进参数预测方法
CN113109816B (zh) 雷达回波图像的回波块追踪方法、装置及存储介质
CN113742913A (zh) 一种基于Python的ADAMS后处理文件K&amp;C参数提取方法及系统
CN111767641A (zh) 风力发电机组极限载荷数据的处理方法和系统
CN105426590A (zh) 一种机加工艺特征树及其构建方法
CN111723441B (zh) 塑料件预变形零件建模方法、系统、装置及存储介质
CN116304669A (zh) 一种短期校正的分布式光伏功率预测方法及系统
CN113435662B (zh) 水驱油藏产量预测方法、装置及存储介质
CN114662793A (zh) 基于可解释分层模型的业务流程剩余时间预测方法与系统
CN117556369A (zh) 一种动态生成的残差图卷积神经网络的窃电检测方法及系统
CN103559350A (zh) 车辆的载荷文件处理方法和装置
CN113010503A (zh) 一种基于深度学习的工程造价数据智能解析方法及系统
CN110486008B (zh) 一种径向复合油藏的参数解释方法及系统
CN105373583A (zh) 基于数据压缩的支撑向量机建模方法
CN113886992B (zh) 一种基于多保真度数据的数字孪生建模方法
CN114580086A (zh) 一种基于监督式机器学习的车辆部件建模方法
CN111737867B (zh) 一种矿体三维实体模型快速更新方法
CN112540404B (zh) 一种基于深度学习的自动速度分析方法及系统
CN113393051A (zh) 基于深度迁移学习的配电网投资决策方法
CN113111588A (zh) 一种燃气轮机nox排放浓度预测方法及装置
CN110727838B (zh) 虚拟样车和装车清单中零件号的一致性校验方法及系统
CN113395031B (zh) 一种基于多级模型的复杂系统故障诊断方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination