首页 > 技术 > CAE其它 > > ABAQUS前、后处理模块二次开发的应用

ABAQUS前、后处理模块二次开发的应用

作者:Simwe    来源:万方数据    发布时间:2012-05-08    收藏】 【打印】  复制连接  【 】 我来说两句:(0逛逛论坛

2.2二次开发在后处理中的应用

在完成装配后,分别定义好材料属性、分析步、接触类型、边界条件和载荷、单元类型和网格划分就可以提交任务分析,最后在ABAQUS的 Visualization模块中查看分析结果。在查看我们关心的结果之前,我们要判断此结果是否是准静态的,而对此判断有一个好的方法即比较动能 (ALLKE)和内能(ALLIE)的历史。在金属成型分析中,大部分的内能是由于塑性变形产生的,在此模型中,为了确定是否是获得一个可接受的准静态结 果,动能应该小于其内能几个百分点。

但是,ABAQUS后处理模块中并没有直接提供动能和内能的历史动态的比值。因此在这里我们将使用上述所提到的第二种方法即在ABAQUS的 Plug-ins菜单中加载自己的菜单来实现。如图7所示是在Plugins菜单中加入自己菜单。选择Result-Energy rate就可以弹出如图8所示的对话框,这是我们这要选择”Plot”按钮就可以得到我们想要的结果了,结果如图9所示。从图9我们可以看出除了在开始阶 段外的整个分析步中.动能是相对于内能是一个很小的百分数。从而我们可以直接判断此结果是准静态的。图10表示在Plug-ins菜单中二次开发不同模块 的调用关系。

 

图7 Plug-ins中二次开发菜单


图8 用户选择对话框

 
图9 动能和内能历史比例关系

 
图10 plug-ins菜单中不同模块调用关系


energy_plugin模块主要完成关键字的定义并调用energyDB模块;同时在Plug-ins菜单中加入自己的菜单并导入energy模块。

energyDB模块主要作用是完成对图8的排序功能,energy模块的作用是应用Python语言来实现动能和内能的动态历史比值,如图9所 示。我们通过比较图6和图10不难看出,第二种方法比第一种方法要简单,但是第一种方法可以实现许多第二种方法实现不了的功能,如修改或删除 ABAQUS/CAE的丁具栏或一些模块、改变程序名称等。所以,相对简单的二次开发我们就可以用第二种方法,而要想实现复杂的功能则用第一种方法。

3 注意点

(1)凶为本文是要在自己开发的程序中添加了标准的Plug-ins菜单,但是Plug-ins菜单的添加方法和别的标准菜单的添加方法不一样 (如:File、View等)。在本文的3.1节中我们已经提到过一般标准菜单是在书MainWindow模块中添加的。如加载File菜单使用的语句为 self.registerToolset(FileToolsetGui(),GUI-IN-MENUBAR GUI-IN-TOOLBAR)而Plug-ins菜单的添加方法和上面的方法不一样,它使用registerPluginToolset()语句就可以 了,并且此语句不是放在加载标准菜单的模块中(如:本例的chongyaMainWindow模块),而是放在初始化程序(如本例的 meichongyaApp模块)模块中。
    (2)因为ABAQUS在执行这些模块时,首先是对它们进行编译,并自动创建相应的*.pyc文件,这样如果把所有的文件都放在\Temp目录下,只显得 很乱,并且一答程序出现问题,也不好找,如果我们在\Temp目录下建立一个文件夹把除了初始化程序(如本例的meichongyaApp模块)都发在里 面,这样就显的有条理并且一但程序发生错误我们可以很快的找到相应的文件。如本文中3.1节把除了初始化程序所用的程序(模块)都发在名称为mei的文件 夹内,此时应注意要在文件夹内加上一个名称为_init_.PY程序文件,它的内容只有一句话:pass,如果不加此程序,则会出现 ImportError:No module named meiehongya.ehongyaMainWindow错误提示。

4 结束语

本文基于ABAQUS软件使用python语言和ABAQUS GUI Toolkit开发出自己应用程序,并把Plug-ins菜单加到应用程序中,其主要目的是充分利用在Plug-ins菜单中二次开发简便性;通过开发出 对话框可以使本应用程序更加容易被用户所接受。在前处理的二次开发中可以自动完成建模、装配等任务,这样可以减少工作强度,提高有限元软件的使用效率;在 后处理二次开发在中,通过动能和内能的比较,从而判断结果是否是准静态的,为后续分析提供依据。同时文中分析了ABAQUS的界面开两种方法的优缺点,这 对有关ABAQUS其它方面的二次开发有一定的参考价值。

 
分享到: 收藏