《ANSYS ACT宝典》带你快速上手仿真向导开发全流程
作者 | 小田老师 仿真秀科普作者
首发 | 仿真秀公众号(ID:fangzhenxiu2018)
导语:ANSYS ACT作为ANSYS系列产品的统一二次开发平台,提供了强大的仿真功能及流程定制化能力,即使不是专业的编程人员,也能为仿真工作流程创建定制化的应用插件。
一、ANSYS ACT概述
ANSYS Application Customization Toolkit简称ACT,是ANSYS系列产品的统一二次开发平台,ACT使用易于学习但功能强大的XML标记语言和IronPython编程语言,即使不是专业的编程人员,也能为仿真工作流程创建定制化的应用插件。
ANSYS ACT官方宣传视频
1、ACT的功能介绍
针对业务特定需求或行业特定需求,通用的ANSYS产品可能无法满足,为了方便用户定制ANSYS产品,以满足这些需求,ANSYS提供了ACT定制开发功能,有以下三种形式:
(1)添加新功能(Feature Creation)
直接地、API驱动的ANSYS产品的二次开发,用户可定义自己的功能和操作。例如Mechanical中创建特定载荷、失效标准、自定义前后处理、求解器等。
自定义后处理
(2)仿真流程定制(Simulation Workflow Integration)
可以把外部知识,如应用软件、流程、脚本集成到ANSYS生态体系中,可以在Workbench Project管理页面中定制仿真流程。例如:用户自定义的系统(System)和组件(Component)。
仿真流程定制
(3)流程压缩(Process Compression)
实现ANSYS产品间的仿真流程的封装和自动化,其结果就是形成一个仿真向导(Simulation Wizard),用于仿真流程及经验的固化。
仿真向导界面
2、ACT支持的软件
ANSYS产品支持ACT开发的软件模块如下表所示,囊括电磁、结构、流体和多物理场仿真。
ACT支持软件
在实际工程应用开发过程中,由于ANSYS产品本身功能大而全,所以在功能添加和仿真流程定制上需求相对较少,而采用流程压缩进行仿真向导的开发占绝大多数。
因为仿真流程通常非常复杂,因此仿真使用往往会仅限于少数专家用户,从而会降低工作流程的整体效率。通过ACT向导开发,就可以利用成熟的仿真流程以及最佳实践,将特定的仿真流程压缩为简化、易于遵循的仿真步骤;这样即使是非专业用户可以使用向导逐步完成复杂的模拟,来快速生成所需的结果,提升整个企业的研发实力。
今天我们文章内容会主要介绍ACT仿真向导的开发技术,另外两种模式后续文章再做介绍。
二、ACT开发基础知识
在进行ACT开发之前,我们需要了解以下术语和知识。
1、ACT文件结构
一个脚本化的ACT插件至少包括:
① 一个XML文件
- 定义UI内容、插件输入属性
- 将应用程序事件与IronPython脚本函数绑定
② 一个IronPython脚本文件
- 实现仿真功能,事件驱动:定义事件调用函数
- 支持访问外部扩展库
同时我们可以使用其他文件和文件夹来更好地组织内容,比如创建文件夹存放图标、帮助文件等。
2、XML数据结构
XML是可扩展标记语言(EXtensible Markup Language)的简称;XML和常见HTML类似,也是一种标记语言;而且XML是可以用来携带数据,本身是自描述性的。
使用XML进行ACT开发前,我们需要知道如下的四个基本概念:
① 标签/标记(Tags)
- 标签是左尖括号()之间的文本
- 有开始标记 (如 <extension>) 和结束标记 (如 /<extension>)
② 元素(Elements)
- 元素是开始标记、结束标记以及两者之间的所有内容
- 示例中:<interface> 元素包含三个子元素:<images>, <callbacks> 和 <toolbar>/<callbacks>/<images>/<interface>
③ 属性(Attributes)
- 属性是元素开始标记中的名称-值对(name-value)
- 示例中:名称(name)和图标(icon)是 <entry> 元素的属性/<entry>
④ 开始标记 ()之间是注释。
XML数据结构
XML标记(tags)不是预定义的,每个应用都有自己的标记,ACT有自己的XML标记。有关各种标记、元素和属性的详细信息,参见《ANSYS ACT XML Reference Guide》。
3、仿真向导简介
向导(Wizard)用于启动和控制不同目标的应用程序,可以是Target Wizard;也可以是Project Wizard或Mixed Wizard。
① 目标应用向导 - Target Wizard
- 只能在指定的ANSYS中目标应用中启动,如Mechanical、SpaceClaim、Fluent等;
- 利用目标程序提供的脚本开发功能,在应用中仿真向导界面中提仿真流程的指导。
② 项目向导 - Project Wizard
- 仅在ANSYS Workbench项目标签页中执行,通过后台调用组件模块,不会单独打开与之交互;
- 通过Workbench脚本开发可以将任何数据集成应用程序集成到向导中,如Fluent、CFX、DM、SCDM、Mechanical等;
③ 混合向导 - Mixed Wizard
- 在ANSYS Workbench项目标签页和一个或多个支持脚本功能的目标应用程序中执行;
- 混合向导在Project标签页和目标应用程序中都提供了本地仿真向导,而且支持在目标应用中进行界面交互。
- 结合了项目向导和目标应用向导的功能,提供全流程的仿真流程的封装与定制。
仿真向导也可同时用于Workbench和独立应用程序:
仅Workbench应用环境下:
- DesignModeler
- Mechanical
Workbench和独立应用程序:
- SpaceClaim
- Fluent、Fluent Meshing
- Electronics Desktop
4、Wizard向导定义
Wizard完全是ACT插件的一部分,在定义Wizard时也需要定义构成插件的常用组件。
Wizard结构组成
Wizard需要的定义插件的XML文件和其引用的IronPython脚本:
① 与标准ACT插件所需相同,并使用相同的XML和IronPython语法;
② 可选的自定义帮助文件
- 包含文本、图像、图标或其他控件类型的HTML文件,用于为Wizard提供详细使用说明;
- 对于Wizard,帮助文件可以储存在插件目录中的任何文件夹中;
- 执行向导时,文件内容将显示在向导的交互界面中。
5、XML文件定义
ACT有自己的XML标记,开发Wizard向导需要完成以下标签元素的定义。
(1)<extension>元素定义/<extension>
<extension>为ACT中XML文件的根元素,包含以下的属性:name、version、icon、minorversion;/<extension>
<extension>标记间可添加子元素(element):/<extension>
- <guid>:表示插件的唯一标识符;/<guid>
- <author>和<description>出现在摘要信息;/<description>/<author>
閱讀更多 仿真秀 的文章
關鍵字: 数据结构 标记语言 IronPython