Fluent的beta版本中提供了Python脚本功能。这给我们在Fluent中使用Python完成仿真工作提供了可能。
用户在Fluent Launcher的General Options
下激活选项 Python Console (Beta) 即可在Fluent中使用Python脚本功能。

Fluent启动后,在TUI窗口中显示的是Python命令提示符,输入help()
可以查看基本信息,如下图所示。当前版本(Fluent 2025R1)中集成的是Python 3.10 版本。

Python安装文件夹位于C:Program FilesANSYS Incv251commonfilesCPython3_10winx64Releasepython
中。

在当前路径的Lib
文件夹下包含有众多已预置安装的包,基本上常用的Python包都有了,甚至包括数值计算中常用的如numpy、scipy、pandas、matplotlib等。
如在TUI窗口中输入下面的代码:
import numpy as np
import math
import matplotlib.pyplot as plt
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)
plt.plot(x,y)
plt.show()
如下图所示。

同时弹出了绘图对话框并显示绘制的图形。

同样也可以利用Tkinter进行GUI创建。如输入下图所示的代码:
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.title("对话框示例")
root.geometry("300x200")
def show_message():
messagebox.showinfo("消息", "你点击了按钮!")
button = tk.Button(root, text="点击我", command=show_message)
button.pack(pady=50)
root.mainloop()
拷贝运行后如下图所示。

那如果是想要使用原本不存在的库该怎么办?比如我觉得tkinter太丑了,想换成PySide6怎么办?虽然Script文件夹下有pip.exe,但执行时报错,如下图所示。

现在只能曲线救国。可以利用anaconda创建一个python3.10的虚拟环境,并在其中安装库。如下面的命令:
conda create --name FluentLib python=3.10
conda activate FluentLib
pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完毕后如下图所示。

拷贝文件夹env/FluentLib/Lib/site-packages
下的子文件夹 PySide6及shiboken6 。如果不放心的话也可以拷贝所有的子文件夹。

将拷贝的文件夹粘贴到ANSYS Python路径下(文件夹Lib/site-packages)。

写一个测试程序,将其存为test.py。
import sys
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox
# 创建主窗口类
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle("PySide6 消息对话框示例")
self.setGeometry(100, 100, 300, 200)
# 创建按钮
self.button = QPushButton("点击我", self)
self.button.setGeometry(100, 80, 100, 30)
# 将按钮的点击事件连接到槽函数
self.button.clicked.connect(self.show_message)
# 定义按钮点击事件的槽函数
def show_message(self):
# 创建消息对话框
msg_box = QMessageBox()
msg_box.setIcon(QMessageBox.Information)
msg_box.setWindowTitle("消息")
msg_box.setText("你点击了按钮!")
msg_box.setStandardButtons(QMessageBox.Ok)
msg_box.exec()
# 主程序入口
app = QApplication.instance() # 获取现有实例
if app isNone:
app = QApplication(sys.argv) # 仅在无实例时创建
# 创建并显示主窗口
window = MainWindow()
window.show()
# 运行应用程序的事件循环
app.exec()
在Fluent中利用菜单File → Read → Journal...
打开test.py,此时会打开一个对话框,点击对话框中的按钮,会弹出消息框,如下图所示。

(完)

本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册