发布信息

AnsysIcePak基于Fluent求解器开发二、二次开发概述

作者:软荐小编      2024-05-01 15:07:09     189

教程软件有哪些_开户教程软件_fluent软件教程

1.写在前面

Ansys Fluent软件作为通用流体仿真软件,拥有众多且全面的功能模型,但缺乏相应的行业专业知识。 同时,仿真分析具有一定的技术门槛,要求技术人员具备行业基础、积累相关仿真经验、软件操作熟练程度较高。 因此,对于企业技术人员来说,学习周期长,上手难度大。

定制二次开发可以将技术、行业经验和仿真流程封装到仿真模板工具中。 用户只需输入工况参数,后台自动进行仿真计算,即可得到所需的仿真结果; 它不仅解决了行业问题,还降低了模拟门槛,还积累了数字资产。

每个人都听说过 Ansys IcePak 软件。 它是一款适用于电子行业的热分析软件。 它是基于Fluent求解器进行二次开发,是一款集电子行业规范、热分析流程等于一体的专业工具。

教程软件有哪些_fluent软件教程_开户教程软件

Ansys IcePak基于Fluent求解器开发

2、二次开发概述

1、二次开发方向

开户教程软件_fluent软件教程_教程软件有哪些

二次开发方向指示

(1) 增加新功能

使用C语言开发UDF(用户自定义函数),添加自定义物理模型、边界条件、材料属性等,后续通过ACT或Scheme接口开发进行封装。

(2)仿真模板开发

对成熟的仿真流程进行自动化脚本开发,然后通过接口开发和软件封装技术集成外部知识、其他仿真工具、仿真流程和标准规范,形成定制化仿真工具。

一般来说,Fluent中的物理模型可以满足大部分场景的需求,因此实际开发大多基于仿真模板开发。

2、开发技术路线

开发过程可分为四个阶段:项目研究、软件设计、软件开发和软件测试; 其中最核心的是脚本开发、界面开发和软件封装技术。

教程软件有哪些_fluent软件教程_开户教程软件

二次开发技术路线图

3、脚本开发技术

Fluent提供了文本用户命令(TUI命令)和界面用户命令(GUI命令),这两种命令都是基于Scheme语言编写的。 对于大多数Fluent GUI操作,都有对应的TUI命令,还有很多其他操作只能通过TUI命令来完成。 下面详细介绍一下TUI命令。

1.TUI命令输入

在界面右下角的Console窗口中,按 键查看当前选项,然后输入完整命令或子菜单命令。 输入“q”字符可返回到 TUI 树中的上一级,如下所示。

教程软件有哪些_fluent软件教程_开户教程软件

在 Fluent 控制台上输入 TUI 命令

2.TUI日志记录

Fluent支持记录TUI日志文件,方便自动、批量重复仿真工作。 具体操作如下:

录制文件的内容取决于我们是通过 GUI 操作还是 TUI 命令来完成。 以下示例显示了为执行网格读取操作的不同方式记录的命令文本。 显然,通过输入TUI命令记录的日志文件更容易阅读,也更简洁; 同时,TUI命令不上下文相关,这是GUI操作生成日志的缺点。

fluent软件教程_开户教程软件_教程软件有哪些

记录的日志文件表示

这里的上下文相关是指如果在点击记录之前打开面板,然后修改面板fluent软件教程,则该操作将会被记录。 如果在面板未打开的情况下重放日志,则日志可能不会运行,因为修改面板的命令没有意义。 因此,建议您通过输入TUI命令来录制脚本。

3.TUI命令帮助

Fluent 帮助文档中有一个文本命令列表,可帮助设置正确的 TUI 命令。

教程软件有哪些_开户教程软件_fluent软件教程

TUI命令帮助文档

在微信后台回复“TUI指令”即可获取18.0~2021R1的TUI帮助文件(见下图)。

教程软件有哪些_fluent软件教程_开户教程软件

4.自动完成

2019R1版本之后支持TUI命令自动补全。 您可以通过文件→首选项打开设置窗口,勾选控制台自动完成选项,然后确认。 通过自动完成显着提高开发效率。

教程软件有哪些_开户教程软件_fluent软件教程

自动完成功能使用说明

5. 通配符

为了在 Fluent 中创建通用脚本,我们可以灵活地使用通配符进行更复杂的操作。 通配符允许根据前缀、中缀或后缀选择多个边界或单元区域,例如 Fluid*、*Fluid* 或 *Fluid。

使用通配符对于编写通用脚本非常有用,我们可以根据命名约定设置预处理或后处理边界; 逗号“,”符号将接受TUI参数的默认值,“()”可用于结束列表输入。

我们来看一个案例:如果要报告所有以car*为前缀的墙体区域x方向的受力,输入TUI命令的流程和参数如下:

开户教程软件_fluent软件教程_教程软件有哪些

TUI命令编写流程图

开户教程软件_教程软件有哪些_fluent软件教程

6.方案脚本

只要了解TUI命令的结构,写TUI日志就很简单; 但TUI日志有明显的缺陷,即TUI本质上是基于Scheme封装的文本命令,无法被流程控制,代码复用性较差。

Scheme是一门完整的语言,具有数据结构、过程控制、函数编程等功能。 通过将Scheme脚本与TUI命名相结合,可以使脚本更加智能和可重用。

(1)Scheme数据类型

最常用的类型是布尔型、数字、字符串和列表。 不同的类型有对应的函数方法。 可以参考《MIT/GNU方案参考手册》后台回复“FluentScheme”获取;

开户教程软件_fluent软件教程_教程软件有哪些

(2) 参数定义

方案是一种动态数据类型。 通过define函数声明和定义变量,通过set可以改变变量值! 功能。

教程软件有哪些_开户教程软件_fluent软件教程

数据类型在Scheme中的示意图

7. 方案和TUI

Fluent提供了ti-menu-load-string函数来调用TUI命令,从而可以将TUI命令嵌入到Scheme脚本中进行流程控制。 方法如下:

方案调用TUI日志命令

8.格式化功能

使用Scheme和TUI日志开发脚本代码时,format是最常用的功能命令。 通过格式化字符串转换,可以非常方便的替换TUI文本中的参数值,达到了封装TUI日志的效果。

我们可以使用format来替换以下字符:

开户教程软件_教程软件有哪些_fluent软件教程

在Scheme中使用format函数的示例

9. 脚本函数封装

使用Scheme脚本为我们提供了封装函数的能力。 我们可以将一系列要执行的命令放入函数中。 对于外部使用,我们只需要暴露函数的签名即可,这样更容易梳理代码的结构。

例如,我们使用以下命令将入口边界入口的速度设置为1.0m/s,温度设置为290K;

更改入口速度和温度 TUI 命令示例

您可以使用Scheme脚本对上述TUI命令进行功能封装,并提取边界名称、速度大小和温度值等参数,如下:

教程软件有哪些_fluent软件教程_开户教程软件

将TUI命令封装为Scheme中的函数

函数封装的好处是提高可重用性。 例如,模型有多个入口边界,但入口速度和温度不同。 您可以通过函数调用和设置它们。 例如,入口边界的入口热速度为0.8m/s,温度为320k。 ,直接调用函数命令(set-inlet-bc "inlet-hot" 0.8 320)来设置,是不是很方便呢?

10. Fluent中的Scheme API

Fluent脚本环境封装了许多Scheme方法。 可以通过以下方法将-environment环境中的函数名写入到 Fluent-env.txt 文件中。

将Fluent中加载的Scheme函数写入本地

将写好的文字包裹起来,可以得到如下内容: 记录了Fluent环境中预定义的Scheme函数的名称,但没有给出函数调用的参数和类型,也没有官方的开发文档来解释; 这里是解释Scheme脚本Ansys官方不提供任何技术支持。

开户教程软件_fluent软件教程_教程软件有哪些

Fluent 中的方案 API 函数示例

由于Scheme是面向开发者而不是用户的底层脚本接口,TUI日志可以满足用户的大部分需求,但预定义的Scheme API可以为开发者提供极大的便利和更强大的功能。

这里有一个比较笨的方法分享给大家。 你可以尝试在Console中获取参数:可以先调用不带参数的方法。 如果参数错误,会有相应的提示。 然后根据提示添加相应的参数并重试。

教程软件有哪些_fluent软件教程_开户教程软件

Fluent中的Scheme API方法调用测试

在开发项目的实施过程中,小田先生整理了一些Fluent中预定义Scheme API的说明和使用方法,并计划在后续的文章或课程中与大家分享和讲解。

fluent软件教程_教程软件有哪些_开户教程软件

Fluent 中组织的方案 API 文件

4. 接口开发技术

脚本开发完成后,通常需要开发用于交互的图形用户界面; Fluent二次开发中有3种开发形式fluent软件教程,对应不同的交互方式:

1.方案脚本工具

Fluent Scheme API 提供了创建菜单、对话框和表单界面的功能。 该界面嵌入在 Fluent 中。 优点是可以直接与Fluent接口交互,实时双向传输数据。

教程软件有哪些_开户教程软件_fluent软件教程

方案脚本工具界面图

但Scheme脚本开发工具的代码开发比较困难,因为它无法直观地设计界面,而且官方提供的文档也比较简单,需要对Scheme语言有深入的了解,不建议工程师朋友使用。

2.ACT插件开发

在 Fluent 16.0 之后的版本中,Ansys 增加了对 ACT 插件扩展的支持。 该接口嵌入在Fluent软件右侧,可以直接与Fluent界面交互,实现实时双向数据传输。

通过定义XML+Python的方法,使用XML定义接口,使用Python和Scheme开发脚本函数,可以实现快速仿真流程封装,实现Fluent仿真从网格→设置→求解→后处理的自动化被实现。 详情请参考:。

fluent软件教程_教程软件有哪些_开户教程软件

ACT插件接口图

ACT的开发方式更加灵活。 它同时使用XML和Python语言,并且可以可视化地设计界面。 对于工程师朋友来说更加友好,上手和学习也更快。 这是推荐的开发方法。 在本次直播中,小田先生将用实用的方法来设计界面。 案例将带领您开发ACT插件,熟悉开发流程(详情见下文)。

教程软件有哪些_开户教程软件_fluent软件教程

3、外部接口集成

它是使用外部接口开发的。 接口独立于Fluent软件,是完全封装的形式。 通常采用批量调用的方式。 该接口提供参数输入。 模拟进程在后台读取脚本并按顺序执行命令。 与 Fluent 图形窗口没有任何联系。 交互、数据传输不是实时双向传输。

教程软件有哪些_开户教程软件_fluent软件教程

外部仿真模板图

可以用于外部界面开发的界面框架有很多,比如.NET的WinForms、跨平台的QT框架、Tkinter界面框架等,大家可以根据自己的喜好进行选择。

小田老师在日常项目开发中喜欢使用Qt框架,主要看中它的跨平台和信号槽机制。 使用QtDesigner可以直观地设计界面。 同时,利用Qt For Python项目的PySide2模块,他可以使用Python语言快速开发界面。 对工程师朋友来说非常友好,上手也比较快。

fluent软件教程_教程软件有哪些_开户教程软件

Qt Designer视觉设计界面

5、集成封装技术

对于以上三种开发方式,所涉及的集成封装技术有所不同。 下面简单介绍一下集成封装技术。

1.Scheme脚本封装

下面的示例代码中,通过将回调函数update-cb绑定到Panel窗口的按钮上,点击界面OK按钮获取输入,然后执行脚本命令完成操作。

开户教程软件_教程软件有哪些_fluent软件教程

方案集成封装示例代码

2.ACT插件封装

在ACT中,API访问入口是ExtAPI。 首先,您需要获取方案脚本控制器实例。 命令如下:

然后通过XML定义的回调函数为update_callback,然后在Python文件中实现该回调函数来获取接口输入,最后执行Scheme脚本代码。

教程软件有哪些_fluent软件教程_开户教程软件

ACT插件包示例代码

3.外部接口封装

外部程序独立于Fluent。 它通常使用批处理来调用Fluent流程,然后执行脚本文件来进行模拟操作。 流程如下。

教程软件有哪些_fluent软件教程_开户教程软件

这里就不得不说一下Fluent中的批量调用参数:要在Windows系统后台运行ANSYS Fluent,可以使用以下命令:

在上面的命令中:

如果使用Python调用,建议使用subprocess模块​​下的Popen方法,如下:

fluent软件教程_开户教程软件_教程软件有哪些

在集成封装界面时,一个非常关键的技术点就是需要使用多线程技术:开启一个工作线程用于模拟调用,避免调用过程中阻塞主线程,导致界面无响应。

5.我的FLUENT二次开发直播

以上是作者Python在FLUENT二次开发中的应用。 为了帮助大家更好地理解和消化以上内容,值此2021年仿真知识周之际,笔者将于7月27日(明晚)20:00。 欢迎您关注模拟秀官网及APP公开直播。 以下为直播时间表:

教程软件有哪些_开户教程软件_fluent软件教程

通过报名参加2021仿真知识周,您不仅可以在直播群中获取仿真知识周的回放视频教程和讲座PDF(资料或模型),还可以加入二次开发软件交流群:与平台仿真讲师交流,分享CAE软件开发学习资料,参加知识周万元大礼抽奖,获得仿真人才库企业内部职位晋升机会等(请点赞并阅读文末)或截图分享至您的朋友圈,截图将在48小时内发送至本公众号对话框,如遇到困难,请联系平台。助理一对一获取)

fluent软件教程_教程软件有哪些_开户教程软件

(超过)

相关内容 查看全部