fluent TUI參數化若干難點問題解析筆記
版本說明:ANSYS 2022R2
參數化方法一:ANSYS workbench平臺框架下的參數化
(此處概述可參考https://zhuanlan.zhihu.com/p/613947220),但存在如下幾點需要注意:
1、幾何模型參數化建模部分:DdsignModeler和SCDM
DdsignModeler和SCDM均可參數化,但SCDM貌似不能基于草繪尺寸進行驅動,草繪圖形在生成平面或幾何體后自動刪除(不確定是否可以關閉此功能)??偟膩碚f,SCDM幾何處理功能強大,但是參數化功能弱于DM。
2、網格剖分參數化:meshing和fluentmeshing,ICEM(我一般不用,不了解)
fluentmeshing目前不提供網格參數化操作界面,這一點很不友好啊。fluentmeshing網格處理功能強大,但是沒有提供參數化的接口,如果模型需要對網格進行參數化操作,需要采用meshing進行設置。如果網格剖分部分不需要暴露相關操作,直接一次設置好,也是不錯的選擇,因為它的網格劃分功能太強了。
3、求解設置:fluent、CFX(我沒用過,不了解)
乏善可陳,按部就班操作即可,需要參數化定義的部分可以通過parameter來設置,但是fluent提供的參數化接口并不多,只有出入口邊界條件,材料參數等數據可以參數化,如果是創(chuàng)建了監(jiān)測點,監(jiān)測點坐標是不能夠采用這種方法進行參數化的。打個比方說,我需要根據幾何模型的尺寸來創(chuàng)建監(jiān)測點的位置,一旦幾何模型尺寸變了,按道理來說我設置的監(jiān)測點位置也要隨之改變,但是fluent并沒有提供該功能,希望之后的版本有所改善。
總之,通過NSYS workbench平臺框架進行參數化,操作比較簡單,感覺它是為了ACT功能開發(fā)的,參數化功能不夠完善,不能暴露很多參數。
參數化方法二:fluent TUI參數化
fluent TUI脫離了常規(guī)的圖形界面控制(GUI),將所有的操作通過fluent指令讀入或輸入console界面,實現模型讀取、設置、求解、及后處理全流程操作。當然,幾何模型的參數化不在fluent TUI操作范圍內,可參照上述“參數化方法一”中的幾何建模部分,或通過其他軟件的幾何建模腳本文件進行參數化(如solidworks,UG,croe等等)。
下面將我近期在fluent參數化建模過程中遇到的若干TUI編制難點問題作出如下幾點解析:
1、如何在fluent中設置工作路徑,或者如何使用TUI進入當前工作路徑的次級文件夾或退至上一級文件夾?
如果要設置fluent工作路徑,可參考鏈接https://wap.sciencenet.cn/blog-531760-1291010.html,(這個鏈接我沒看懂,但是覺著很厲害)
如果要在fluentmeshing中獲取相對路徑下的某文件夾內的幾何文件,使用“./文件夾1/文件夾2/文件名.后綴”。注意,用“./”開頭,代表以當前所在問價夾(軟件啟動目錄)開始,訪問其子文件夾內容。如果文件夾1、文件夾2不存在,對于寫出文件,會自動創(chuàng)建文件夾,對于讀入文件,則直接報錯,因為訪問不到所要的文件。這是訪問子文件夾的方法。
如果要使用TUI訪問上一級文件夾(或者說退出當前文件夾)需要Scheme extension function編寫一條指令ti-menu-load-string "sync-chdir .."
舉例說明:
;幾何文件導入
/file/import/cad yes "./1fastcase_files/dp0/Geom/DM/Geom.agdb" yes 40 yes mm
;在上一步進入了4級子文件夾,在此需要退出到原工作路徑
(define i0 1)
(define in 4)
(do ((i i0 (+ i 1))) ((> i in))
(ti-menu-load-string "sync-chdir ..")
)
2、如何編譯udf,TUI編譯UDF沒有太大問題,但是編譯UDF需要相應的VS運行環(huán)境,按照我的理解,在一臺裝有VS并設置好fluent環(huán)境變量的電腦上先把udf編譯好,生成文件libudf或者其他文件,然后再TUI中直接load編譯好的udf更好一些。這樣,參數化之后,用戶可能就不需要再安裝VS了,這個方法不一定對。未驗證。
編譯udf舉例:
/define/user-defined/compiled-functions compile "test1" yes "a.c" "" ""?
/define/user-defined/compiled-functions load "test1"?
3、穩(wěn)態(tài)及非穩(wěn)態(tài)迭代計算
穩(wěn)態(tài)問題很多都是默認設置run calculation的指令是:
/solve/diterate 100
非穩(wěn)態(tài)問題需要先開啟非穩(wěn)態(tài)計算,設置時間步長,迭代步數,每步迭代次數等等
/define/models/unsteady-1st-order? yes
/solve/set/transient-controls/time-step-size 0.001
這步其實沒什么用;/solve/set/transient-controls/number-of-time-steps 1000
這步其實沒什么用;/solve/set/transient-controls/max-iterations-per-time-step 5
/solve/dual-time-iterate 1000 5
4、后處理視圖設置
后處理視圖如果不用GUI很難調整到好的位置和觀察角度,camera,zoom,light等等都需要一點點去摸索。首先需要給定一個正視圖,不管是front,top,right等等,讓界面先找到自己的定位,然后再通過position、target、up-vector、field和zoom-camera去調整它(這兩個的空間意義參考鏈接:https://www.cnblogs.com/Xiwang-Sun/p/16268135.html)
舉例說明:
; 視圖設置adjust camera,zoom,light,save view to view-0
/display/views/restore-view left
/display/views/camera/position -2 -10 5
/display/views/camera/target 2 0 1
/display/views/camera/up-vector -1 0 0
/display/views/camera/field 9 16
/display/views/camera/zoom-camera 1
5、后處理動畫保存不在當前工作路徑下
在后處理制作動畫之后,輸出動畫視頻mp4文件,但是默認設置一直把視頻存儲至c盤臨時工作路徑下,這時候需要把文件保存路徑改為絕對路徑(試了相對路徑,不好使,如果有高手有解決辦法,歡迎評論區(qū)附上代碼)。即使設置了絕對路徑,保存的每一幀文件也會存在c盤臨時工作路徑下,這個問題我解決的不是特別好,也可能是2022R2版本的bug。希望后續(xù)完善。
舉例說明
/solve/animate/objects/create "animation-1" frequency-of time-step frequency 10 animate-on scene-1 storage-type hsf storage-dir "E:\workDir" view view-0 quit
/solve/animate/playback/read no yes animation-1
/solve/animate/playback/video/format mp4
/solve/animate/playback/video/name "scene-1"
/solve/animate/playback/write video
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?classic1573@163.com