ANSYS作為商業(yè)仿真的龍頭,旗下多款產(chǎn)品開放了接口并支持通過Python進(jìn)行調(diào)用,、參數(shù)化等功能,這樣就誕生了Python + Ansys = PyAnsys,。 PyAnsys項(xiàng)目有以下產(chǎn)品支持:
PyAEDT:AEDT 的Python接口 。 PyDPF-Core:DPF(數(shù)據(jù)處理框架)的Python接口,,用于構(gòu)建更高級(jí)和自定義的工作流程 ,。 PyDPF-Post:DPF后處理工具箱的python接口,用于操作和轉(zhuǎn)換模擬數(shù)據(jù),。 PyMAPDL:MAPDL 的Python接口 PyMAPDL Reader:用于讀取舊版 MAPDL 結(jié)果文件(MAPDL 14.5 及更高版本)的Python接口 PyFluent:Ansys Fluent 的Python接口 ,。 PyFluent-Parametric:Ansys Fluent參數(shù)化工作流的python接口,。 PyFluent-Visualization:使用 Python 可視化 Ansys Fluent 仿真的 Pythonic 界面 。 PyPIM:與 PIM(產(chǎn)品實(shí)例管理)API 通信的 Pythonic 接口,。
PyFluent介紹 由于Fluent是Ansys的主打產(chǎn)品,,在CFD,傳熱等領(lǐng)域應(yīng)用十分廣泛,,因此在其基礎(chǔ)上發(fā)展的PyFluent十分值得我們?nèi)パ芯俊?br> PyFluent目前支持的主要功能有:
使用python以串行或并行方式啟動(dòng) Fluent 求解器并連接到已運(yùn)行的 Fluent 會(huì)話,。 編寫腳本使用Fluent Meshing進(jìn)行網(wǎng)格劃分
支持在python中使用fluent的TUI命令,方便進(jìn)行腳本編寫,。
異步運(yùn)行多個(gè) Fluent 算例 使用標(biāo)準(zhǔn) Python 包(如 matplotlib)將 Fluent 字段數(shù)據(jù)檢索為 numpy 數(shù)組以進(jìn)行自定義后處理,。 在Fluent求解器的事件上實(shí)現(xiàn)注冊(cè)函數(shù)回調(diào)。 檢索求解器監(jiān)視器,,例如殘差,。
PyFluent的安裝條件:
Python版本支持范圍3.7-3.10。
Fluent版本需在2022R2及以上,。
使用pip進(jìn)行安裝,,網(wǎng)絡(luò)較慢的可以使用第二行的第三方源 pip install ansys-fluent-core pip install --index-url https://pypi.tuna./simple/ ansys-fluent-core
同時(shí)還可以一起安裝PyFluent-Parametric和PyFluent-Visualization pip install ansys-fluent-parametric pip install --index-url https://pypi.tuna./simple/ ansys-fluent-parametric pip install ansys-fluent-visualization pip install --index-url https://pypi.tuna./simple/ ansys-fluent-visualization
需要注意的是,在windows系統(tǒng)上,,pyfluent通過環(huán)境變量AWP_ROOT來定位Fluent的安裝路徑并調(diào)用,,因此需要保證該系統(tǒng)變量的配置,。
AWP_ROOT后的'222’代表Ansys版本為2022R2,,由于目前僅支持2022R2,,如果計(jì)算機(jī)上裝有多個(gè)版本的Fluent,,請(qǐng)只保留AWP_ROOT222這一個(gè)。 第一行代碼 準(zhǔn)備工作完成后我們可以簡(jiǎn)單嘗試以下PyFluent的功能。
首先進(jìn)行調(diào)用 import ansys.fluent.core as pyfluent
接著我們?cè)囍褂肞yFluent打開Fluent的求解器界面 session = pyfluent.launch_fluent(precision="double", processor_count=4, show_gui=True, mode="solver")
這里使用到了launch_fluent函數(shù),,配置如下所示,,由于我們需要打開Fluent的Gui界面,,因此要保證show_gui為True,。 launch_fluent(version: Optional[str] = None, precision: Optional[str] = None, processor_count: Optional[int] = None, journal_filename: Optional[str] = None, start_timeout: int = 100, additional_arguments: str = "", env: Optional[Dict[str, Any]] = None, start_instance: Optional[bool] = None, ip: Optional[str] = None, port: Optional[int] = None, cleanup_on_exit: bool = True, start_transcript: bool = True, show_gui: Optional[bool] = None, case_filepath: Optional[str] = None, meshing_mode: Optional[bool] = None, mode: Union[LaunchModes, str, None] = None, server_info_filepath: Optional[str] = None, password: Optional[str] = None) -> Union[_BaseSession, Session]
運(yùn)行效果如下
|