
發布
注冊
/
登錄ansys 用戶定義函數
關注創建者:王靖雯 創建時間:2023-03-07

ansys 用戶定義函數的實例教程
為了方便用戶的建模操作,COMSOL 軟件中預置了很多常用的變量、物理常數,以及函數,并提供很多自定義函數。“使用技巧”系列將介紹這些預置功能,希望能夠提高大家的建模使用經驗。
訪問 COMSOL 官網“產品文檔”頁面(comsol.com/documentation)或點擊文末“閱讀原文”,可查看本系列全部內容。
今天將介紹本系列的第三部分:函數。
函數
在“模型開發器”中,有兩種類型的函數:內置函數和用戶定義的函數。函數可以是標量值或與輸入變元相關的場值。某些函數的輸入和輸出變元都可以有單位。
內置數學函數
可以直接使用的數學函數,不需要再根據定義來編寫復雜的表達式。
這些函數的輸入或輸出變元沒有單位。
內置運算符函數
這些內置函數的行為與內置數學函數不同。它們可能不屬于介紹性文本范疇,但在此列出以保證保留名稱列表的完整性。有關更多信息,請參閱 Reference Manual。
用戶定義的函數
用戶定義的函數可以在模型樹的全局定義節點下(對于每個組件,則在定義節點下)定義。從函數菜單中選擇一個模板并輸入設置,定義函數的名稱和詳細形狀。
展開 簡介</strong></p><p class="ql-align-center"><br></p><p> 今天我們接著說Fluent UDF功能,我們經常使用的UDF宏主要有以下幾種:</p><p>DEFINE_PROFILE: 定義模型邊界</p><p>DEFINE_ADJUST: 用于協調計算過程中物理量</p><p>DEFINE_INIT: 初始化宏,用于自定義初始化</p><p>DEFINE_PROPERTY: 定義材料物性</p><p> 上述的幾種宏基本上無論使用什么物理模型都會用到,還有部分宏是在特定的模型下才會使用,如使用DPM模型時用DEFINE_DPM_SOURCE宏來定義DPM源項,而普通的物理模型下源項通過DEFINE_SOURCE宏定義即可。</p><p> </p><p> 今天我們主要了解DEFINE_PROFILE宏的使用,DEFINE_PROFILE宏可以用來定義邊界條件,當邊界條件比較復雜時,如定義壁面溫度<em>T</em><sub>w</sub>=f(y),即壁面溫度是y的函數可以使用DEFINE_PROFILE宏進行定義。
展開 圖1.UDF用戶手冊
UDF介紹: 所謂UDF-用戶自定義函數(User-defined functions),學習過編程語言的同學對此應該并不陌生,無論是C語言、JAVA還是Python,自定義函數被廣泛的應用著,它能夠使語言邏輯和代碼的簡潔性大幅度提高。Fluent的UDF有著同樣的功能,但是又不完全相同。
在Fluent中,UDF使用C語言來編寫,因此需要大家有一定的C語言基礎,但是不必過于深入,大家只需要了解基本的格式和語法結構即可,同時需要對指針有一點了解。建議有其他語言基礎的同學花一周的時間學習一下C語言---一周的時間已經足夠了。
UDF特殊性: 接下來我們說一下Fluent UDF的特殊性,實際上即便C語言功底很厲害的高手并不一定能夠寫好UDF,為什么呢?因為Fluent UDF和C語言的自定義函數完全就是兩碼事。它是Fluent封裝好的可以傳遞給求解器的函數,主要由各種宏組成,每個宏有各自的作用。說的通俗易懂一點,其實UDF就是Fluent已經給用戶起好了自定義函數的名字了,用戶達到什么樣的目的,使用相對應的宏就行。類似于我乘坐地鐵去電影院,為了達到去電影院的目的,我使用了名叫地鐵的工具,這里的名字“地鐵”就相當于Fluent中的宏;如果放到C語言中,你可以給“地鐵”起任意名字如“自行車”,這樣會帶來混亂,導致Fluent求解器識別不了你的目的。比如用戶想讓進口流體的速度正弦變化,那么就需要找到能夠修改邊界條件的宏-DEFINE_PROFILE(name, t, i),然后在里面指定速度函數即可。
圖2.C語言自定義函數
圖3.Fluent UDF
UDF功能: 對于Fluent而言,UDF可以顯著增強其功能,使用UDF你可以做如下的事情:
1.
展開 混合模型典型應用場景為沉降、旋風分離、泡狀流等
必須使用分離式求解器
不能用在沿流動方向的周期性流動
不能用大渦模擬
不能用無粘流動
不能用二階隱式時間格式
光滑直管內液體蒸發換熱模型
二維光滑圓管,飽和壓力0.57MPa
管壁熱流密度10kw/m2
進口質量流量288kg/m2s
使用UDF定義
蒸發飽和溫度;汽化潛熱;管壁熱流密度;管徑;飽和蒸汽焓
干度沿管程變化規律
向氣相轉移的質量
耦合UDF
定義多相流模型為mixture
設置質量和能量源項的UDF
展開 附件下載
聯系工作人員獲取附件
概述
本文使用兩個示例演示了如何使用 ZPL 創建用戶自定義解。第一個示例介紹了如何創建 ZPL 解以確保序列文件中像面的曲率半徑等于系統的 Petzval 曲率。第二個示例介紹了如何在非序列元件編輯器(Non-Sequential Component Editor)中基于其他物體的參數來約束的物體位置。
簡介
求解 ( Solve ) 是可以在諸如鏡頭數據編輯器或非序列元件編輯器之類的編輯器中主動調整特定值的功能。例如,可以在曲率半徑,圓錐系數或 TCE 上指定求解類型,并通過單擊要放置的求解單元的求解框進行設置。盡管 OpticStudio 提供了許多默認的求解類型,但用戶有可能希望自定義求解類型,這可以通過使用Zemax 編程語言( Zemax Programming Language ,ZPL)來實現。
ZPL 宏求解可用于任何編輯器中的幾乎所有單元(曲率半徑,厚度,參數,多重結構等)。可以像任何其他求解類型一樣,通過在編輯器中單擊參數單元格右側的小框來設置 ZPL 宏求解。
ZPL 宏求解通過執行 ZPL 宏來確定解的值,并使用 SOLVERETURN 關鍵字將其返回給編輯器。一旦創建了用于求解的宏,并將其放置在 <Documents>\Zemax\Macros 目錄中,即可在求解窗口的“宏:( Macro: )”中輸入該宏的名稱:
請注意,在求解框中輸入的宏名稱不區分大小寫,并且不需要其擴展名(.ZPL)。為確保宏求解按照預期的方式工作,需要遵循一些規則,請參閱“技巧和陷阱”部分以獲取更多信息。
Petzval 曲率求解示例
假設我們想要能夠自動將像面的曲率半徑設置為等于 Petzval 曲率的解。
展開 
ansys 用戶定義函數的相關專題、標簽、搜索
ansys 用戶定義函數的最新內容
附件下載
聯系工作人員獲取附件
概述
本文使用兩個示例演示了如何使用 ZPL 創建用戶自定義解。第一個示例介紹了如何創建 ZPL 解以確保序列文件中像面的曲率半徑等于系統的 Petzval 曲率。第二個示例介紹了如何在非序列元件編輯器(Non-Sequential Component Editor)中基于其他物體的參數來約束的物體位置。
簡介
求解 ( Solve ) 是可以在諸如鏡頭數據編輯器或非序列元件編輯器之類的編輯器中主動調整特定值的功能
<p class="ql-align-center"><strong>1. 簡介</strong></p><p class="ql-align-center"><br></p><p> 今天我們接著說Fluent UDF功能,我們經常使用的UDF宏主要有以下幾種:</p><p>DEFINE_PROFILE:
前面我們所講述的Fluent的相關知識只是很少很少的一部分,但是今天我們還是開始一部分新的知識。之所以這樣做,是因為今天所講述的知識在大家以后的學習中用途很廣泛,同時這部分知識需要大家提前學習一些基礎知識。
圖1.UDF用戶手冊
UDF介紹: 所謂UDF-用戶自定義函數(User-defined functions),學習過編程語言的同學對此應該并不陌生,無論是C語言、JAVA
本文使用兩個示例演示了如何使用ZPL創建用戶自定義解。 第一個示例介紹了如何創建ZPL解以確保序列文件中像面的曲率半徑等于系統的Petzval曲率。第二個示例介紹了如何在非序列元件編輯器 ( Non-Sequential Component Editor ) 中基于其他物體的參數來約束的物體位置。作者 Nam-Hyong Kim, updated by Alessandra Croce下載文章附件簡介求解
白內障手術是當今最常見的外科手術之一,在該手術中,患者的晶狀體由于光散射增加而變得渾濁,從而被人工晶狀體(IOL)取代。隨著白內障人群越來趨于越年輕化,對優質鏡片的需求不斷增長,以提高可實現的圖像質量并解決無需眼鏡聚焦的問題。衍射IOL通過同時創建多個焦點來提供近距離和遠距離的清晰視覺,從而提供了一種可行的解決方案,在本文中我們演示了如何通過使用用戶自定義表面(UDS)DLL來擴展Zemax
兩相之間的動量交換也取決于所模擬的混合物的類型ANSYS Fluent的用戶定義函數可用來定義計算動量交換。歐拉多相流模型可應用于:
氣泡塔、提升器、顆粒懸浮和流化床。
混合模型典型應用場景為沉降、旋風分離、泡狀流等
必須使用分離式求解器
不能用在沿流動方向的周期性流動
不能用大渦模擬
不能用無粘流動
不能用二階隱式時間格式
光滑直管內液體蒸發換熱模型
二維光滑圓管,飽和壓力0.57MPa
管壁熱流密度10kw/m2
進口質量流量
為了方便用戶的建模操作,COMSOL 軟件中預置了很多常用的變量、物理常數,以及函數,并提供很多自定義函數。“使用技巧”系列將介紹這些預置功能,希望能夠提高大家的建模使用經驗。
訪問 COMSOL 官網“產品文檔”頁面(comsol.com/documentation)或點擊文末“閱讀原文”,可查看本系列全部內容。
今天將介紹本系列的第三部分:函數。
函數
在“模型開發器”中,有兩種類型的函數