工作中时常接触到副车架、扭力梁之类的部件的强度分析,其载荷工况数目较多,通常多达十几个硬点、三十余工况,载荷预处理工作量较大,特别是在甲方载荷给的是Excel表格的情况下,如果根据硬点和载荷工况输入每个方向的力,则会造成很大的工作量,且容易造成输入数据有误。
在接触python之前,我是使用Excel公式化的方法进行工况建立,尽管减少了很多的工作量,但是在操作过程中依然需要进行多次的复制粘贴,有时还会出现单个载荷数据项位数超过8位(超过nastran标准字符串长度,需要使用长格式),还是相当的繁琐。
在接触python之后,觉得可以通过xlrd插件对Excel文件进行读取,然后自动创建可以使用的bdf文件。由于bdf文件对格式的规范性要求较高,并且这不是基于任何前处理软件的二次开发,所以在软件操作过程中必须规避不符合8字节要求的可能性。所以在载荷设置的时候我采用的方式是:
$TYPE***ID******GRID****CID*****F*******N1******N2******N3******
FORCE 1021 100000210 1000.0 -0.30252-0.09755-0.41106
通过F: Scale factor. (Real)项,将N1N2N3缩小1000倍而整体作用力不变的方式进行规避超过8字符的可能性。这种情况通常出现在扭矩中,很可能出现扭矩值为-1033560.,如果N1填入-1033560,则会提示‘nastran要求N1是float’,如果填入-1033560.,就会超过8字节要求。
于此同时我还制作了用于ABAQUS线性摄动分析的插件,用于批量设置工况。但是由于我接触ABAQUS时间尚短,还没有使用这个插件做过项目,所以决定使用过后再放出。感兴趣的大侠们可以关注我。
程序要求python已安装xlrd插件,附件中包含xlrd与xlwt插件。
使用方法:
- 将您的excel重命名为SubcaseInfor.xlsx,与Creatloadcase_nastran_xlrd.py放置于同一文件夹,并使Excel的格式符合‘Excel格式规范.PNG’。
- 运行Creatloadcase_nastran_xlrd.py,生成类似于‘生成的文件列表.PNG’的一系列文件
- 在模型创建完成需要导入硬点信息的时候,导入CONTRL_POINT.BDF,导入的时候注意选择节点编号偏移量为0,此时要确定您的模型中的节点编号没有与硬点编号重复。我常采用的方法是将硬点编号设置的比较大。
- 在设置求解时,导入SUBCASEINFO.bdf,或者导出模型文件进行手动编辑。
![71635d1ac5b13b63c8e5e1b08a8b76ff.png](https://i-blog.csdnimg.cn/blog_migrate/b62da6b08c8d0a45008464ea15230ff7.jpeg)
Excel格式规范.PNG
![e882e661c2c5ff3242728c4a2b78c44a.png](https://i-blog.csdnimg.cn/blog_migrate/25271192c4a040dac273a37d0441f498.jpeg)
生成的文件列表.PNG
python程序文件:
基于python:Nastran多工况强度分析,根据Excel生成bdfwww.jishulink.com