【整车碰撞】12辆“偷油塔”相撞!!!免费领有限元模型+Abaqus Inp文件分割脚本

1


1

领取整车碰撞模型


今天讲一下如何分割Abaqus inp文件,有的模型规模非常大,节点和单元数超级多,导致inp文件有好几百MB、甚至几个G,不仅占内存而且编辑起来困难,即使用Vim也要半天才能打开,这个时候就需要分割inp文件了,分割出来的主文件一般只有几KB,格式清晰明了,便于查看和修改模型参数。下面是它的一个应用场景,本文可以直接领取这个模型的原始文件。

Toyota Venza(2010款)模型来自于公路交通安全局(美国)官网,原始文件是LS-DYNAK文件,通过命令行转换成Abaqus inp文件。

【整车碰撞】12辆“偷油塔”相撞!!!免费领有限元模型+Abaqus Inp文件分割脚本的图1

基础模型信息

【整车碰撞】12辆“偷油塔”相撞!!!免费领有限元模型+Abaqus Inp文件分割脚本的图2

Base Model - 正面碰撞


基础模型的inp文件大小是690MB,被分割成为主文件和一系列附属文件,这些附属文件可以被别的路径下的其他分析模型的主文件引用,如此以来,下图中的几个Benchmark Model一共节省了2G左右的存储空间。

【整车碰撞】12辆“偷油塔”相撞!!!免费领有限元模型+Abaqus Inp文件分割脚本的图3

Benchmark Model - 4/8/12辆车相撞


引用格式如下,input可以包含路径,若是在相同文件夹下则忽略路径。


*Part, name=car
*Include, input = venza_data-nodeelem-car.inp
*Include, input = venza_data-set-car.inp
*Include, input = venza_data-mpc-car.inp
*Include, input = venza_data-section-car.inp
*Include, input = venza_data-partdata.inp
*End Part
...
*Include, input = venza_data-modeldata.inp
*Include, input = venza_data-material.inp
*Include, input = venza_data-connector.inp
...
*Include, input = venza_data-contact.inp
...
*step,name=Step-1
*dynamic,explicit
 , 0.12
*Include, input = venza_data-step.inp
*endstep

【整车碰撞】12辆“偷油塔”相撞!!!免费领有限元模型+Abaqus Inp文件分割脚本的图4

Benchmark Model - 12辆Venza相撞(达索·3DE平台)


Toyota Venza(2010款)基础模型原始文件下载:

链接:

https://pan.baidu.com/s/1MC1t432pPowyEYm-9KEg5Fw   (去掉m-9之间的“-”!!! m九被屏蔽了)

提取码:f979

注:

1、该链接30日有效。

2、命令行转换K文件为Abaqus inp文件,由于求解器不同,转换后部分关键字可能失败,需要手动修改一下,命令行格式:

abaqus fromdyna

job=job-name


input=dyna-input-file

[splitFile={OFF | ON}]

可以看到,在这里也可以选择是否分割转换后的inp文件,但是功能比较单一,下面介绍一个功能更多的脚本fileSplitter.py~

2

Abaqus inp文件分割


如何使用fileSplitter.py

先把脚本放到目标路径下,在Abaqus Command窗口运行:


abaqus python fileSplitter.py -help


会返回如何使用该脚本的简易帮助文档:


[-keywords ] # Comma separated list of keys 
# Default keys are node, element, nset, elset
# Allowed keys must support an INPUT parameter

[-output ] 
# Name of base outputFile
# Default value input_base.inp
 
[-raw 0
# Turns off raw mode. Note: script may not run
# due to increase memory usage when raw mode is off.
# A 64-bit machine is likely required.
 
[-count #] 
# Only extract the #th instance of keys
# Default is all instances of each key in list.
 
[-size ] 
# minimum size of data to split
# Only allowed when raw mode is off.
# default size: 5000    
 
[-test] 
# Perform a syntaxcheck on new deck
# Note: On 32-bit machines large input models mail fail this step due to
# not enough memory.
 
[-print
# Print out input deck only. No files generated
# This option only supported when raw mode is OFF.
 
[-verbose ] 
# used for progress feedback. Default = 1 
 
[-help] 
# This Usage information.


这个脚本可以自定义需要被分割的关键字、限制文件大小、执行格式检查、查看分割进度等,功能比较全面。

运行示例:


abaqus python fileSplitter.py -inp Sample

【整车碰撞】12辆“偷油塔”相撞!!!免费领有限元模型+Abaqus Inp文件分割脚本的图5

inp文件分割示例


近期培训

通知:9月直播培训招生即将结束,欲参加者请点击图片了解更多。

【整车碰撞】12辆“偷油塔”相撞!!!免费领有限元模型+Abaqus Inp文件分割脚本的图6


fileSplitter.pyToyota Venza Base Model(Abaqus版,可直接运行)领取(2021年9月7号截止)→在此公众号后台回复:

偷油塔

(6条)
默认 最新
老师,我用 -key node,element 后 得到了一个 node的文件 和 一堆element文件,每个element文件里 就三四行。这是什么情况?
评论 点赞 1
老师这个模型还能领取嘛
评论 点赞

查看更多评论 >

点赞 11 评论 6 收藏 6
关注