工作中时常接触到副车架、扭力梁之类的部件的强度分析,其载荷工况数目较多,通常多达十几个硬点、三十余工况,载荷预处理工作量较大,特别是在甲方载荷给的是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时间尚短