fluent
版本:fluent 19.0
visual studio
版本:visual studio 2013
有時候我們想要實現一些功能,比如:我們在使用
fluent
進行瞬態計算的時候,想要獲取某條線上的物理量隨時間的變化,如果我們直接用
udf去輸出當然是可以的,但是實現起來難度比較大,而
cfd-post
實現這些功能相對比較容易,難道要我們保留所有的結果,最後再在
cfd-post
裡面慢慢處理?當然有其他的解決辦法,我們可以使用
python
編寫乙個模組,用來呼叫
cfd-post
獲取該條線段上的物理量並且匯出為檔案,最後刪除
cas和
dat檔案以節省儲存空間。我們從
udf當中指定每個時間步調用該
python
模組一次,從而實現指定功能。
python
模組的**如下
(存為名為:「
data.py
」檔案)
需在vs
當中編譯該
udf,可參考我前面的:
《在visual studio
中直接編譯
fluent
的udf
的總結(序列)
》《在visual studio
中直接編譯
fluent
的udf
的總結(並行)
》在vs當中需要新增
python
的庫和包含
python
的標頭檔案
首先需要安裝
python
,我安裝的是
然後我們在
ansys19_3ddp_host
專案當(
檔案:源
.cpp)
中編寫如下**:
在ansys19_3ddp_node
專案當(
檔案:源
.cpp)
中編寫如下**:
至於cfd-post
的session
檔案,自己在
cfd-post
當中事先錄製乙個即可,這裡就不多講了。
算例**於:
我們每次取管道中心軸線的速度,取
10個點
時間步長:
0.001
,時間步:10步
注意:需要設定自動儲存,務必按照下圖設定
最後結果:
至於為什麼我設定的
10個時間步資料卻只儲存了
9個?是因為最後儲存結果以後計算終止,沒有再呼叫
define_execute_at_end
巨集了,我們可以在
define_on_demand
再呼叫一次前面的
python
模組從手動完成全部的資料。
完整vs
專案檔案和
fluent
算例檔案:
鏈結:
提取碼: kmxw
linux提取指定行至指定位置
bin csh f if f errorlog.rpt then rm rf errorlog.rpt endif ls log loglst.lst 將log檔案寫到指定檔案 loop execute set n wc l loglst.lst 得到log檔案個數 行數 echo n set i ...
linux 提取指定的列
提取name.txt 檔案中的最後一列中以 分割的第二列 awk 符擷取命令 awk f t name.txt awk f res.txt其中 f 表示分割符,nf表示最後一列,nf 1 表示倒數第二列 2表示第二列 0表示全部,1表示第一列 把上一步的資料和name.txt檔案合併生成乙個新的檔案...
C WPF 實現滑鼠固定在指定範圍內運動
原文 c wpf 實現滑鼠固定在指定範圍內運動 需要實現帶有三個螢幕,三個螢幕分別顯示窗體,但滑鼠只能在主窗體中運動,不能移動到其他的兩個附屏中。具體實現使用的是user32.dll下的getwindowrect int hwnd,ref rect lprect 函式。clipcursor,函式名。...