导语:ANSYS ACT作为ANSYS系列产品的统一二次开发平台,提供了强大的仿真功能及流程定制化能力,即使不是专业的编程人员,也能为仿真工作流程创建定制化的应用插件。
直接地、API驱动的ANSYS产品的二次开发,用户可定义自己的功能和操作。例如Mechanical中创建特定载荷、失效标准、自定义前后处理、求解器等。
可以把外部知识,如应用软件、流程、脚本集成到ANSYS生态体系中,可以在Workbench Project管理页面中定制仿真流程。例如:用户自定义的系统(System)和组件(Component)。
(3)流程压缩(Process Compression)
实现ANSYS产品间的仿真流程的封装和自动化,其结果就是形成一个仿真向导(Simulation Wizard),用于仿真流程及经验的固化。
ANSYS产品支持ACT开发的软件模块如下表所示,囊括电磁、结构、流体和多物理场仿真。
今天我们文章内容会主要介绍ACT仿真向导的开发技术,另外两种模式后续文章再做介绍。
定义UI内容、插件输入属性
实现仿真功能,事件驱动:定义事件调用函数
属性是元素开始标记中的名称-值对(name-value)
④ 开始标记 (<!--) 和结束标记(-->)之间是注释。
XML标记(tags)不是预定义的,每个应用都有自己的标记,ACT有自己的XML标记。有关各种标记、元素和属性的详细信息,参见《ANSYS ACT XML Reference Guide》。
向导(Wizard)用于启动和控制不同目标的应用程序,可以是Target Wizard;也可以是Project Wizard或Mixed Wizard。
① 目标应用向导 - Target Wizard
只能在指定的ANSYS中目标应用中启动,如Mechanical、SpaceClaim、Fluent等;
利用目标程序提供的脚本开发功能,在应用中仿真向导界面中提仿真流程的指导。
仅在ANSYS Workbench项目标签页中执行,通过后台调用组件模块,不会单独打开与之交互;
通过Workbench脚本开发可以将任何数据集成应用程序集成到向导中,如Fluent、CFX、DM、SCDM、Mechanical等;
在ANSYS Workbench项目标签页和一个或多个支持脚本功能的目标应用程序中执行;
混合向导在Project标签页和目标应用程序中都提供了本地仿真向导,而且支持在目标应用中进行界面交互。
结合了项目向导和目标应用向导的功能,提供全流程的仿真流程的封装与定制。
DesignModeler
Mechanical
SpaceClaim
Fluent、Fluent Meshing
Electronics Desktop
包含文本、图像、图标或其他控件类型的HTML文件,用于为Wizard提供详细使用说明;
对于Wizard,帮助文件可以储存在插件目录中的任何文件夹中;
执行向导时,文件内容将显示在向导的交互界面中。
<guid>:表示插件的唯一标识符;
<author>和<description>出现在摘要信息;
<script>:插件中使用的IronPython脚本文件;
<interface>:定义应用程序上下文,指定工具栏(toolbar)的位置,还能指定图像文件夹;
<uidefinition>:自定义布局和向导面板;
<wizard>:包含所有步骤(Step)的控制元素;
<simdata>:可选的,如果除了向导本身之外还需要其他自定义功能,则使用该元素。
② 可选属性
(3)<step>元素定义
强制属性:name-步骤名称、version-步骤版本
可选:caption-步骤标题、HelpFile-帮助文件
<description>:步骤功能描述
<callbacks>:执行步骤时调用的回调函数
<property>和<propertygroup>:定义实现回调函数时需输入的属性或属性组,是<step>中的最关键的元素,提供外界与ACT插件交互的控件。
<step>元素中定义内容与向导显示效果的对应关系如下:
fileopen:选择文件
folderopen:选择文件夹
integer:整数输入框
text:文本输入框
float:数字输入框
select:属性选择框
scope:几何选择框
然后在Workbench或者是目标应用中打开ACT Start Page,首先点击<Manage Extension>按钮,然后点击设置按钮,激活Debug模型,选中插件文件所在文件夹,这样脚本化的插件就会导入插件管理面板。
其他产品模块的脚本开发方法 正在整理,陆续会进行发布
(2)如果你已具备脚本语言基础,可以多阅读相关API开发文档,多将理论知识付诸于实践中。
SCDM的API开发文档可以参照其安装目录下:《API_Combined_Class_Library》中内容
上述帮助文档虽然囊括了ANSYS产品二次开发所需知识储备,但是API文档接口基于.NET框架编写,而脚本是基于Python语言编写,二者在语法和数据结构上有很大不同;而且帮助文档内容比较零散,API方法介绍比较简单,又没有针对案例练习,很难系统去学习掌握,对于初学者来说使用开发文档难度非常大。
(3)如果你已经掌握ACT开发的技术,可以打开软件中ACT启动界面,然后下载官方提供的案例文件,直接阅读源码去学习是最好的方式。如果你还没有掌握,推荐您关注我在仿真秀独家发布的系列精品课程,带你快速上手ACT仿真向导开发全流程。