ANSYS变参数交互式仿真的研究与实现
2012-07-26王红军
王红军
(辽宁卫生职业技术学院公共基础部,辽宁 沈阳 110101)
0 引言
ANSYS有限元仿真软件在工程建模、加载、求解和后处理等操作中,通常采用两种操作方式,即人机交互式(GUI方式)和命令流输入式(Batch 方式)[1-2]。这两种工作方式各有利弊,其中,GUI图形操作方式仿真具有直观、易于掌握和操作简便的优点,但其修改仿真参数繁琐,且不利于重复较复杂的工程仿真;而采用Batch命令流方式输入APDL语句进行仿真,虽然可以大大提高仿真的效率,且便于后续仿真参数修改的操作,但ANSYS软件的操作命令种类繁多、参数复杂,不方便记忆[3]。
在工程仿真的过程中,经常需要输入大量的数据参数(如建模几何参数、单元属性参数、载荷条件参数和后处理路径参数等),并对这些参数进行繁琐的反复修改,通过多次调试达到预期的仿真结果。
本文通过多次的仿真试验,提出了一种ANSYS变参数交互式的仿真方法。该方法充分发挥了两种仿真方式的优点,解决了上述ANSYS工程仿真过程中遇到的问题,大大提高了仿真效率。
1 变参数综合仿真法
变参数综合仿真法综合应用人机交互GUI图形操作方式和命令流输入方式。其操作流程如图1所示。
图1 变参数综合仿真法流程图Fig.1 Flowchart of variable-parameter simulation method
首先,对仿真工程进行有序化的GUI图形输入操作,依次导出对应GUI操作的APDL命令语句,并将这些语句作为后续修改的代码模板;其次,批处理相似的GUI图形操作,如给模型的多个几何面赋予不同的单元属性时,找出一个面赋予一个属性的APDL命令源代码,多次复制后修改对应的面序号参数和单元序号参数,生成批处理命令流;接着,将代码中的数值参数修改为变量参数,可修改为交互式变量代码或非交互式变量代码;最后,保存上述仿真处理生成的.db文件,将其作为后处理的初始状态,并针对性地修改后处理命令流。
这种仿真方法充分发挥了以上两种仿真方式的各自优势,在便于操作的同时大大提高了ANSYS工程的仿真效率,使仿真操作变得更加快捷而有序化。
2 仿真操作步骤
2.1 分步GUI操作命令流的导出
首先,将要进行ANSYS仿真的工程划分为几步,如2D或3D的几何参数建模、工程单元参数的定义与赋予、载荷条件的加载与求解等[4-5]。然后,利用 GUI图形方式分步进行操作,通过ANSYS过滤功能,依次选中修改对象,并在弹出参数提示框中输入工程数值,如对一个2D的几何面进行建模并赋予对应的单元属性操作。最后,利用ANSYS自动记录与GUI操作对应的APDL命令流日志功能,在文件下拉菜单中导出命令流代码,将其保存为英文文件名的.txt文本,并保存此状态下的.db仿真结果文件。确认此前的仿真操作无误后,清空自动保存的命令流日志,导入刚刚保存的.db仿真结果文件,再进行下一步工程的GUI操作。依此类推,可以得到对应工程仿真各个步骤的.txt命令流文本。
以上各步骤保证了每一步工程仿真都有与之相对应的正确命令流代码,且得到的每个命令流文本都相对独立,便于后续的批处理和参数修改,从而尽可能减少不必要的重复操作,使工程仿真有序化。
2.2 相似操作代码的批处理
针对工程仿真过程中出现的大量相似操作,可以从.txt命令流中找出相应的APDL源代码作为操作模板,修改参数并进行批处理导入[6]。这就可以解决复杂模型中不易选中指定操作对象的难题,且大大减少了GUI方式下繁琐的图形输入操作。
由于上述操作得到的命令流代码都相对独立,很容易找出相似典型操作代码的开始和结束,同时,由于GUI图形操作方式和命令流输入方式对于同一种操作对应的APDL命令流也不尽相同,所以在满足操作结果的前提下,不必考虑具体APDL命令流的代码细节,找到需要修改的关键参数位置即可。如将之前定义的1单元材料属性赋予几何面1,无需考虑其他的代码细节,然后找出对应的参数位置进行修改,修改后将之前定义的2单元材料属性赋予几何面2。依此类推,完成相似代码的批处理操作。具体示例如下。
针对上述APDL代码,找出相应参数后对数据进行修改。具体示例如下。
2.3 变量代码的修改
为达到ANSYS工程的预期仿真效果,需要在操作过程中不断地修改工程参数。上述仿真操作都是基于定值参数进行的,一旦需要修改,更改参数的工作量大且易于出错,而将工程命令流更改为变参数形式就可以解决这个难题[7]。确认各步定值仿真.txt文本的命令流准确无误后,分析变量参数之间的逻辑关系,尽可能地减少变量数目,用已知变量通过逻辑表达式来表示命令流中的未知变量。在直角三角形中,可以定义斜边c和锐角α两个变量参数来表示直角边csinα和ccosα;而不是定义斜边c、直角边a和直角边b三个变量参数。
定值参数的APDL命令流可以修改为交互式变量代码或非交互式变量代码,这两种方式都是在命令流的起始位置修改。前者在运行时会弹出参数输入对话框,操作者依据提示输入修改后的参数值;后者没有弹出的对话框,需要在APDL代码开始时给各个参数变量赋值,在后续命令流中将相应的定值替换成具有特定逻辑关系的变量表达式[8]。
2.3.1 交互式变量代码
应用APDL命令可以构造出一个简单的多行提示对话框,一次最多可以包含10个参数输入提示和赋值框。需要注意的是:交互式变量代码的命令流只可采用文件下拉菜单进行导入,不能从ANSYS命令对话框导入。
例如设置一个输入5个参数的提示对话窗口,“/PREP7”表示进入仿真的前处理阶段,“multipro,‘start’,5”设置对话框有5个输入参数。依次填写参数序号、变量名称、参数输入提示和参数默认值。在“*cset,61,62,”处填写此页对话框的提示行,在“multipro,‘end’”处结束设置。操作代码如下。
2.3.2 非交互式变量代码
非交互式变量代码运行后,不再出现提示对话框。非交互式变量代码的命令流既可以在文件下拉菜单中导入,也可以从ANSYS命令对话框中导入。在APDL命令流起始处,添加以下变量赋值表达式。
2.4 已保存求解文件的处理
ANSYS的工程仿真包括前处理和后处理,前处理载荷运算的求解时间较长,一旦需要修改后处理的参数,就必须重复一遍前处理运算。为了提高效率,可以将前处理得到的结论保存为.db文件,进行后处理时,先导入保存的.db文件,将其作为后处理的初始状态,从而针对性地修改后处理命令流。重新进行后处理时,再次恢复初始状态重新开始即可。这就极大地缩短了仿真时间,且由于初始状态一致,保证了仿真数据结论的可靠性。
3 结束语
本文结合ANSYS仿真的人机交互(GUI)和命令流(Batch)输入两种操作方式,充分利用了GUI图形操作较灵活和命令流批处理操作易于修改的优点,提出了一种变参数综合仿真法,并详述了具体的操作步骤,包括:导出分步GUI操作的命令流、批处理相似操作代码、修改为交互式或非交互式变量代码、后处理已保存的求解文件。
应用此仿真方法缩短了仿真时间,提高了操作效率,使工程操作更加有序,同时也令ANSYS仿真变得更加灵活。
[1]阎照文.ANSYS 10.0工程电磁分析技术与实例详解[M].北京:中国水利水电出版社,2006:43-44.
[2]邓凡平.ANSYS 10.0有限元分析自学手册[M].北京:人民邮电出版社,2007:150-152.
[3]李莺莺,靳世久,魏茂安.管道漏磁法检测的ANSYS仿真研究[J].无损检测,2005,27(2):72 -76.
[4]张玉良,阙沛文,黄作英.漏磁检测的仿真和实验研究[J].传感器与微系统,2006,25(8):29 -31.
[5]龚曙光,谢桂兰,黄云清.ANSYS参数化编程与命令手册[M].北京:机械工业出版社,2009:15-26
[6]曾攀,雷丽萍,方刚.基于ANSYS平台有限元分析手册-结构的建模与分析[M].北京:机械工业出版社,2011:33-35.
[7]王新敏.ANSYS工程结构数值分析[M].北京:人民交通出版社,2007:101-105.
[8]张乐乐,苏树强,谭南林.ANSYS辅助分析应用基础教程上机指导[M].北京:清华大学出版社,2007:99-115.