不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

ansys自定義函數(shù)的案例

編程定義函數(shù)
我們在這里繼續(xù)同樣有關(guān)可編程的內(nèi)容,只是這次將討論傳輸函數(shù):傅里葉光學(xué)中一個著名的概念。傳輸函數(shù)是對于包含理想組件的光學(xué)系統(tǒng)是一種極好的實現(xiàn)方法。在VirtualLab的全矢量電磁方法中也更好地體現(xiàn)出來。在以下教程和示例的幫助下,學(xué)習(xí)如何在VirtualLab Fusion中編寫自己的自定義函數(shù)! 傳輸函數(shù) 按照本教程的說明學(xué)習(xí)如何在VirtualLab Fusion中編寫自定義傳輸函數(shù),并以一個理想的柱面透鏡為例。 編寫一個錐透鏡的傳輸函數(shù) 通過這個錐透鏡傳輸函數(shù)的附加示例,進一步加強您的VirtualLab編程知識。
展開
七、Fluent用戶定義函數(shù)(UDF)基礎(chǔ)(1)
圖1.UDF用戶手冊 UDF介紹: 所謂UDF-用戶自定義函數(shù)(User-defined functions),學(xué)習(xí)過編程語言的同學(xué)對此應(yīng)該并不陌生,無論是C語言、JAVA還是Python,自定義函數(shù)被廣泛的應(yīng)用著,它能夠使語言邏輯和代碼的簡潔性大幅度提高。Fluent的UDF有著同樣的功能,但是又不完全相同。 在Fluent中,UDF使用C語言來編寫,因此需要大家有一定的C語言基礎(chǔ),但是不必過于深入,大家只需要了解基本的格式和語法結(jié)構(gòu)即可,同時需要對指針有一點了解。建議有其他語言基礎(chǔ)的同學(xué)花一周的時間學(xué)習(xí)一下C語言---一周的時間已經(jīng)足夠了。 UDF特殊性: 接下來我們說一下Fluent UDF的特殊性,實際上即便C語言功底很厲害的高手并不一定能夠?qū)懞肬DF,為什么呢?因為Fluent UDF和C語言的自定義函數(shù)完全就是兩碼事。它是Fluent封裝好的可以傳遞給求解器的函數(shù),主要由各種宏組成,每個宏有各自的作用。說的通俗易懂一點,其實UDF就是Fluent已經(jīng)給用戶起好了自定義函數(shù)的名字了,用戶達到什么樣的目的,使用相對應(yīng)的宏就行。類似于我乘坐地鐵去電影院,為了達到去電影院的目的,我使用了名叫地鐵的工具,這里的名字“地鐵”就相當于Fluent中的宏;如果放到C語言中,你可以給“地鐵”起任意名字如“自行車”,這樣會帶來混亂,導(dǎo)致Fluent求解器識別不了你的目的。比如用戶想讓進口流體的速度正弦變化,那么就需要找到能夠修改邊界條件的宏-DEFINE_PROFILE(name, t, i),然后在里面指定速度函數(shù)即可。 圖2.C語言自定義函數(shù) 圖3.Fluent UDF UDF功能: 對于Fluent而言,UDF可以顯著增強其功能,使用UDF你可以做如下的事情: 1.
展開
Abaqus如何施加定義函數(shù)的位移約束
Abaqus如何施加自定義函數(shù)的位移約束 對于有一些模型需要加載隨時間變化的載荷和約束,Abaqus提供各種定義方式,通過Amplitude來完成,本次想闡述的時加載不隨時間變化而是隨坐標變化的約束。 建立如圖所示的模型,想對這個模型的整體在x方向施加一個隨著Y軸坐標線性變化的位移約束,即u1=kY形式的約束。 圖1 直接施加肯定不可能,與ANSYS一樣,需要先建立函數(shù),建立函數(shù)菜單的位置如圖2所示,在Load模塊下的Tool菜單下。 圖2 點開之后如圖3所示,點擊Creat彈出對話框,采用Expression field的方式建立函數(shù),并可以修改名稱。 圖3 之后即可通過如圖4所示的界面來創(chuàng)建函數(shù),能夠用的變量是坐標XYZ,運算符在右邊,坐標采用的坐標系可以自由選擇,默認采用笛卡爾總體坐標系。選擇坐標的時候可以直接點選Abaqus/CAE窗口的已有坐標系直接選擇。 圖4 創(chuàng)建完保存。 之后即可創(chuàng)建位移約束,如圖5所示,需要注意兩個東西,一個是通過Distrubition選擇剛才創(chuàng)建的函數(shù)AnalyticalField-1,另外施加u1時填入數(shù)字1的含義表示施加1倍的函數(shù)。 圖5 創(chuàng)建完之后,可以通過主菜單的View-Assembly Display Option-Attribute來設(shè)置顯示,如圖6所示。 圖6 最終加載完成如圖7所示。 圖7 很明顯隨著Y坐標的不同而不同。
展開
詳述python中def語句(定義函數(shù)
00 def語句的作用 def語句的作用是自定義函數(shù),其實質(zhì)就是將代碼塊打包并命名,并且可以提供參數(shù)(可以不止一個)。
ansys自定義函數(shù)圖1
九、Fluent用戶定義函數(shù)(UDF)基礎(chǔ)(2)-DEFINE_PROFILE
簡介</strong></p><p class="ql-align-center"><br></p><p> 今天我們接著說Fluent UDF功能,我們經(jīng)常使用的UDF宏主要有以下幾種:</p><p>DEFINE_PROFILE:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;定義模型邊界</p><p>DEFINE_ADJUST:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用于協(xié)調(diào)計算過程中物理量</p><p>DEFINE_INIT:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;初始化宏,用于自定義初始化</p><p>DEFINE_PROPERTY:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;定義材料物性</p><p> 上述的幾種宏基本上無論使用什么物理模型都會用到,還有部分宏是在特定的模型下才會使用,如使用DPM模型時用DEFINE_DPM_SOURCE宏來定義DPM源項,而普通的物理模型下源項通過DEFINE_SOURCE宏定義即可。</p><p> &nbsp;</p><p> 今天我們主要了解DEFINE_PROFILE宏的使用,DEFINE_PROFILE宏可以用來定義邊界條件,當邊界條件比較復(fù)雜時,如定義壁面溫度<em>T</em><sub>w</sub>=f(y),即壁面溫度是y的函數(shù)可以使用DEFINE_PROFILE宏進行定義。
展開
VirtualLab:使用定義的評價函數(shù)優(yōu)化高NA分束器
為此,對初始系統(tǒng)的結(jié)構(gòu)進行了參數(shù)化,并通過可編程光柵分析器定義了一組自定義的評價函數(shù)。對于參數(shù)優(yōu)化和后續(xù)的公差分析,使用嚴格的傅里葉模態(tài)法 (FMM)。 建模任務(wù) 衍射分束面初始設(shè)計(*) 1.采用VirtualLab Fusion的迭代傅里葉變換算法(IFTA)設(shè)計工具計算了分束器的初始相位函數(shù)。 2.對于高度輪廓的轉(zhuǎn)換,采用了基于薄元件近似(TEA)的結(jié)構(gòu)設(shè)計。 (*)不是這個用例的一部分(**)這些會話編輯器在衍射光學(xué)工具箱銀版中可用。 TEA和等距抽樣結(jié)構(gòu)的局限性 □ TEA非常適合于最小特征尺寸不小于約5倍波長的情況。如果不是這樣,振幅/相位分布與設(shè)計高度輪廓相互作用后可能會顯示出與期望值的相關(guān)偏差。 □ 因此,需要進行嚴格的評估。 □ 對于參數(shù)優(yōu)化,需要對結(jié)構(gòu)數(shù)據(jù)進行不同的定義。 后優(yōu)化的數(shù)據(jù)準備(參數(shù)化) 衍射分束器表面進一步優(yōu)化 哪個衍射級次有哪些評價函數(shù)? 利用可編程光柵分析器 分束器初始設(shè)計的嚴格分析 設(shè)置優(yōu)化參數(shù) 兩個優(yōu)化過程對比 在這個用例中,我們演示了兩種具有不同配置目標和約束的優(yōu)化: □ 在優(yōu)化#1中,優(yōu)先考慮均勻性誤差。 □ 在優(yōu)化#2中,0級也要最小化。 關(guān)于評價函數(shù)約束,用戶可以指定 □ 單獨的目標值、范圍、下限或上限是什么 □ 以及通過權(quán)重,它們的貢獻應(yīng)該是什么。
展開
VirtualLab:使用定義的評價函數(shù)優(yōu)化高NA分束器
為此,對初始系統(tǒng)的結(jié)構(gòu)進行了參數(shù)化,并通過可編程光柵分析器定義了一組自定義的評價函數(shù)。對于參數(shù)優(yōu)化和后續(xù)的公差分析,使用嚴格的傅里葉模態(tài)法 (FMM)。 建模任務(wù) 衍射分束面初始設(shè)計(*) 1.采用VirtualLab Fusion的迭代傅里葉變換算法(IFTA)設(shè)計工具計算了分束器的初始相位函數(shù)。 2.對于高度輪廓的轉(zhuǎn)換,采用了基于薄元件近似(TEA)的結(jié)構(gòu)設(shè)計。 (*)不是這個用例的一部分(**)這些會話編輯器在衍射光學(xué)工具箱銀版中可用。 TEA和等距抽樣結(jié)構(gòu)的局限性 □ TEA非常適合于最小特征尺寸不小于約5倍波長的情況。如果不是這樣,振幅/相位分布與設(shè)計高度輪廓相互作用后可能會顯示出與期望值的相關(guān)偏差。 □ 因此,需要進行嚴格的評估。 □ 對于參數(shù)優(yōu)化,需要對結(jié)構(gòu)數(shù)據(jù)進行不同的定義。 后優(yōu)化的數(shù)據(jù)準備(參數(shù)化) 衍射分束器表面進一步優(yōu)化 哪個衍射級次有哪些評價函數(shù)? 利用可編程光柵分析器 分束器初始設(shè)計的嚴格分析 設(shè)置優(yōu)化參數(shù) 兩個優(yōu)化過程對比 在這個用例中,我們演示了兩種具有不同配置目標和約束的優(yōu)化: □ 在優(yōu)化#1中,優(yōu)先考慮均勻性誤差。 □ 在優(yōu)化#2中,0級也要最小化。 關(guān)于評價函數(shù)約束,用戶可以指定 □ 單獨的目標值、范圍、下限或上限是什么 □ 以及通過權(quán)重,它們的貢獻應(yīng)該是什么。
展開
Mixture 和用戶定義函數(shù)UDF 計算液體蒸發(fā)換熱 ¥20
混合模型典型應(yīng)用場景為沉降、旋風(fēng)分離、泡狀流等 必須使用分離式求解器 不能用在沿流動方向的周期性流動 不能用大渦模擬 不能用無粘流動 不能用二階隱式時間格式 光滑直管內(nèi)液體蒸發(fā)換熱模型 二維光滑圓管,飽和壓力0.57MPa 管壁熱流密度10kw/m2 進口質(zhì)量流量288kg/m2s 使用UDF定義 蒸發(fā)飽和溫度;汽化潛熱;管壁熱流密度;管徑;飽和蒸汽焓 干度沿管程變化規(guī)律 向氣相轉(zhuǎn)移的質(zhì)量 耦合UDF 定義多相流模型為mixture 設(shè)置質(zhì)量和能量源項的UDF
展開
FLUENT動網(wǎng)格案例之十二:基于定義函數(shù)的薄膜振動動網(wǎng)格實現(xiàn)方法 ¥299
基于自定義函數(shù)的薄膜振動動網(wǎng)格實現(xiàn)方法 動網(wǎng)格實現(xiàn)效果 動網(wǎng)格區(qū)域設(shè)置 UDF截圖 這個UDF函數(shù)稍微改改,還能實現(xiàn)血管脈動模擬 文件列表
ANSYS里的定義失效準則怎么定義的?
想請教各位: ANSYS里的自定義失效準則怎么定義的呢?一定要用UPFs編用戶子程序才行嗎?UPFs看起來非常復(fù)雜啊,怎么辦? 又沒有人做過這個阿? 謝謝了?。。?!
ANSYS梁單元定義截面
ANSYS梁單元自定義截面 梁單元作為一種簡單且高效的計算單元,在結(jié)構(gòu)分析尤其是建筑結(jié)構(gòu)中得到廣泛的應(yīng)用。使用梁單元可以避免將結(jié)構(gòu)中梁柱全部轉(zhuǎn)換為實體單元,從而降低了計算量,且梁單元結(jié)構(gòu)形式簡單,求解精度也相對較高。在ANSYS中,梁單元基本上可以分為線性單元和二次單元,二者之間計算理論不同,經(jīng)典的二次單元即BEAM189單元的積分點如下圖所示: 在ANSYS中可以為BEAM單元定義截面,其中大部分經(jīng)典的截面形式都包含在ANSYS的截面庫中,但是經(jīng)典的梁單元計算時截面方向分為四個單元,這對于一般計算來說是足夠的,但如果需要仔細分析截面方向的內(nèi)力,可能就略顯的粗糙了。除此之外,鋼管混凝土、組合梁之類也都是異形梁截面,此時標準截面庫中的數(shù)據(jù)也沒什么用。針對這個問題存在兩種解決方式,一種是使用ASEC自定義截面參數(shù),這個命令不管截面如何,只需要給出截面相關(guān)的信息即可,截面的信息輸入如下圖所示: 至于這些截面的參數(shù)可以使用簡單的截面計算工具得到,如果是鋼筋混凝土梁這種比較復(fù)雜的復(fù)合梁,那么需要使用Xtract之類的截面有限元軟件進行計算。將截面信息填入。采用ASEC的截面輸入方式計算效率高,截面信息準確的話,精度也不差,但缺點是不能輸出截面積分點和柵點的數(shù)據(jù)。 另一種方式就是自定義截面,其基本思路如下: 1.設(shè)定MESH200單元,建立截面幾何形狀; 2.用MESH200單元劃分截面,并保存截面數(shù)據(jù); 3.建立計算幾何模型,讀取截面數(shù)據(jù); 4.賦予模型截面,施加邊界條件計算; 5.后處理。
展開
ansys自定義函數(shù)圖2
ANSYS梁單元定義截面
ANSYS中,梁單元基本上可以分為線性單元和二次單元,二者之間計算理論不同,經(jīng)典的二次單元即BEAM189單元的積分點如下圖所示: 在ANSYS中可以為BEAM單元定義截面,其中大部分經(jīng)典的截面形式都包含在ANSYS的截面庫中,但是經(jīng)典的梁單元計算時截面方向分為四個單元,這對于一般計算來說是足夠的,但如果需要仔細分析截面方向的內(nèi)力,可能就略顯的粗糙了。除此之外,鋼管混凝土、組合梁之類也都是異形梁截面,此時標準截面庫中的數(shù)據(jù)也沒什么用。針對這個問題存在兩種解決方式,一種是使用ASEC自定義截面參數(shù),這個命令不管截面如何,只需要給出截面相關(guān)的信息即可,截面的信息輸入如下圖所示: 至于這些截面的參數(shù)可以使用簡單的截面計算工具得到,如果是鋼筋混凝土梁這種比較復(fù)雜的復(fù)合梁,那么需要使用Xtract之類的截面有限元軟件進行計算。將截面信息填入。采用ASEC的截面輸入方式計算效率高,截面信息準確的話,精度也不差,但缺點是不能輸出截面積分點和柵點的數(shù)據(jù)。 另一種方式就是自定義截面,其基本思路如下: 1.設(shè)定MESH200單元,建立截面幾何形狀; 2.用MESH200單元劃分截面,并保存截面數(shù)據(jù); 3.建立計算幾何模型,讀取截面數(shù)據(jù); 4.賦予模型截面,施加邊界條件計算; 5.后處理。
展開
ANSYS梁單元定義截面
ANSYS梁單元自定義截面 梁單元作為一種簡單且高效的計算單元,在結(jié)構(gòu)分析尤其是建筑結(jié)構(gòu)中得到廣泛的應(yīng)用。使用梁單元可以避免將結(jié)構(gòu)中梁柱全部轉(zhuǎn)換為實體單元,從而降低了計算量,且梁單元結(jié)構(gòu)形式簡單,求解精度也相對較高。在ANSYS中,梁單元基本上可以分為線性單元和二次單元,二者之間計算理論不同,經(jīng)典的二次單元即BEAM189單元的積分點如下圖所示: 在ANSYS中可以為BEAM單元定義截面,其中大部分經(jīng)典的截面形式都包含在ANSYS的截面庫中,但是經(jīng)典的梁單元計算時截面方向分為四個單元,這對于一般計算來說是足夠的,但如果需要仔細分析截面方向的內(nèi)力,可能就略顯的粗糙了。除此之外,鋼管混凝土、組合梁之類也都是異形梁截面,此時標準截面庫中的數(shù)據(jù)也沒什么用。針對這個問題存在兩種解決方式,一種是使用ASEC自定義截面參數(shù),這個命令不管截面如何,只需要給出截面相關(guān)的信息即可,截面的信息輸入如下圖所示: 至于這些截面的參數(shù)可以使用簡單的截面計算工具得到,如果是鋼筋混凝土梁這種比較復(fù)雜的復(fù)合梁,那么需要使用Xtract之類的截面有限元軟件進行計算。將截面信息填入。采用ASEC的截面輸入方式計算效率高,截面信息準確的話,精度也不差,但缺點是不能輸出截面積分點和柵點的數(shù)據(jù)。 另一種方式就是自定義截面,其基本思路如下: 1.設(shè)定MESH200單元,建立截面幾何形狀; 2.用MESH200單元劃分截面,并保存截面數(shù)據(jù); 3.建立計算幾何模型,讀取截面數(shù)據(jù); 4.賦予模型截面,施加邊界條件計算; 5.后處理。
展開
Ansys Zemax|如何定義優(yōu)化操作數(shù)
用戶自定義操作數(shù)是否會使評價函數(shù)計算緩慢? 也許您會好奇,在評價函數(shù)中使用自定義的操作數(shù)時,是否會使得評價函數(shù)計算緩慢?其實,這很大程度依賴于您宏計算的復(fù)雜程度,一般情況下宏計算是非??斓?。 作為演示,我們現(xiàn)在對Cooke Triplet執(zhí)行兩次優(yōu)化:一次使用ZPLM操作數(shù)加上宏,一次使用內(nèi)建操作數(shù)WFNO。 第一種情況,我們將ZPLM的目標值設(shè)置為5,權(quán)重設(shè)置為1。第二種情況,我們將WFNO的目標值設(shè)置為5,權(quán)重設(shè)置為1。按下圖設(shè)置評價函數(shù): 我們使用DLS優(yōu)化,可以看到執(zhí)行的時間大約4.4s: 點擊F3撤銷優(yōu)化,將ZPLM操作數(shù)權(quán)重設(shè)置為0,WFNO目標值設(shè)置為5,權(quán)重設(shè)置為1,再次優(yōu)化。 可以看出兩者計算的時間相差并不大。 因此,即使我們使用了自定義的宏,Zemax OpticStudio依舊可以高效的執(zhí)行計算。 總結(jié) 在使用Zemax OpticStudio的過程中,我們有時會遇到內(nèi)建的優(yōu)化操作數(shù)不能滿足我們要計算/返回的數(shù)值情況。這時我們需要利用ZPLM和宏結(jié)合或使用外部定義和匯編程序?qū)@些數(shù)值進行計算和優(yōu)化。兩種方法,ZPLM和宏結(jié)合更為簡單,與Zemax OpticStudio集成的更好,需要更少的編程技巧。
展開
Ansys Zemax | 如何使用 ZPL 創(chuàng)建用戶定義求解
附件下載 聯(lián)系工作人員獲取附件 概述 本文使用兩個示例演示了如何使用 ZPL 創(chuàng)建用戶自定義解。第一個示例介紹了如何創(chuàng)建 ZPL 解以確保序列文件中像面的曲率半徑等于系統(tǒng)的 Petzval 曲率。第二個示例介紹了如何在非序列元件編輯器(Non-Sequential Component Editor)中基于其他物體的參數(shù)來約束的物體位置。 簡介 求解 ( Solve ) 是可以在諸如鏡頭數(shù)據(jù)編輯器或非序列元件編輯器之類的編輯器中主動調(diào)整特定值的功能。例如,可以在曲率半徑,圓錐系數(shù)或 TCE 上指定求解類型,并通過單擊要放置的求解單元的求解框進行設(shè)置。盡管 OpticStudio 提供了許多默認的求解類型,但用戶有可能希望自定義求解類型,這可以通過使用Zemax 編程語言( Zemax Programming Language ,ZPL)來實現(xiàn)。 ZPL 宏求解可用于任何編輯器中的幾乎所有單元(曲率半徑,厚度,參數(shù),多重結(jié)構(gòu)等)。可以像任何其他求解類型一樣,通過在編輯器中單擊參數(shù)單元格右側(cè)的小框來設(shè)置 ZPL 宏求解。 ZPL 宏求解通過執(zhí)行 ZPL 宏來確定解的值,并使用 SOLVERETURN 關(guān)鍵字將其返回給編輯器。一旦創(chuàng)建了用于求解的宏,并將其放置在 <Documents>\Zemax\Macros 目錄中,即可在求解窗口的“宏:( Macro: )”中輸入該宏的名稱: 請注意,在求解框中輸入的宏名稱不區(qū)分大小寫,并且不需要其擴展名(.ZPL)。為確保宏求解按照預(yù)期的方式工作,需要遵循一些規(guī)則,請參閱“技巧和陷阱”部分以獲取更多信息。 Petzval 曲率求解示例 假設(shè)我們想要能夠自動將像面的曲率半徑設(shè)置為等于 Petzval 曲率的解。
展開