《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 寶典 編程語