(原文发在微信公众号“建筑工业产品经理”)
有时候需要对模型做大量的参数分析以尝试获得一些规律认识,这时若仅仅通过abaqus的cae界面手动修改参数以及前后处理,几乎不可能完成大量的分析(例如需要修改模型参数进行数百甚至上千次分析),这就需要通过写程序来提高效率。这个技能很实用,下面简述最近做此分析的过程,作为备忘。
step1:利用abaqus建立一个参数的模型并得到其inp文件。
step2:通过matlab批量修改inp文件中的参数,获得用于参数分析的批量的n个inp文件,例如要进行125个算例就可以获得125个inp文件。
参数分析一般需要选择好哪几个变量,这几个变量分别用那几个数值,例如三个参数各取值5个数,就有125个参数组合,这些参数组合提前准备好,并通过代码批量替换inp文件中的特定数据,得到125个inp文件。
step3:对批量的inp文件进行计算分析(在.bat文件中写入对n个inp的计算job,将bat文件放在abaqus工作目录中运行,abaqus可依次计算这n个job),得到n个odb文件;
step4:在abaqus的cae界面中对其中一个odb文件录制宏,得abaqus自动生成的.py文件(python语言代码写的后处理操作);
step5:修改与宏所对应的.py文件,加入循环语句,进而自动对n个odb文件进行后处理,分别提取所需要的结果。将所关心的数据写入到txt文件中,至此得到了含有n个算例下所关心的数据;
step6:在matlab中进一步分析n个算例的数据结果,得到参数分析所需要的图表,讨论与分析。
小结:整个过程似乎有点繁琐,是因为我对于python并不熟悉,所以有些工作通过matlab来完成。也许有更简单的办法,有朋友分享一下么?