
發布
注冊
/
登錄用戶自定義場
關注創建者:長江學渣 創建時間:2022-03-10
用戶自定義場的視頻教程
用戶自定義場變量子程序USDFLD從入門到高級 (如何通過USDFLD實現本構模型參數隨狀態改變)
本套課程將由淺入深教大家如何編寫用戶自定義場變量子程序USDFLD,從而在有限元分析中實現材料本構模型參數隨狀態而改變。課程的主要內容包括:(1)通過引入場變量用強度折減法求邊坡安全系數;(2)USDFLD編寫教程1_基本格式及簡單例子;(3)USDFLD編寫教程2_多個材料參數隨多個場變量演化;(4)USDFLD編寫教程3_節點狀態的讀取
¥48 1小時47分鐘 5932播放
查看
ANSA二次開發用戶自定義按鈕的制作
通過制作這個用戶自定義按鈕后,當我們打開ANSA軟件的時候,這一加載過程會自動完成,可以直接跳出我們編制的GUI界面并生成我們想要的功能按鈕。我們只需要點擊一下這個按鈕,就可以輕松執行我們的編寫的代碼,操作非常方便,大大提高我們的工作效率!以下是我制作的GUI按鈕以及對應的GUI部分截圖。
¥5 12分鐘 60播放
查看
用戶自定義場的實例教程
UDS案例 msh 文件 cas 文件
概述
UDS:用戶自定義標量
操作
Define-> user define -> Scalar
設置種類
對流項
時間項
擴散系數
源項
案例
二維槽道內電場求解
案例描述
二維槽道內,長L,入口水流v,在槽道兩端加電壓V,入口為Vin,出口為Vout,求解整個槽道內的電壓分布和電場強度
幾何模型和物理模型
UDS 設置
Define-> user define -> Scalar
Number of UDS :1
沒有對流項和時間項
沒有源項
Define->material
定義擴散系數 為1
入口設置UDS 為 Vin
出口設置UDS 為Vout
求解
展開 概念
這篇文章介紹了:
■ 什么是用戶自定義表面 (User-Defined Surfaces)
■ 如何使用Microsoft Visual Studio 2017 (VS2017) 編寫用戶自定義表面
■ 如何使用其他編譯器
您可以前往以下鏈接查看并下載VS2017
鏈接: https://visualstudio.microsoft.com/zh-hans/vs/community/
用戶自定義表面
表面用來定義不同光學介質之間的界面。表面可以定義為透射、反射或是衍射的。OpticStudio 18.9版本支持78種表面類型,其中包括非常通用的表面類型,例如多項式表面 (Polynomial surface) 和雙錐Zernike (Biconic Zernikes) 表面等。
但有些時候,用戶會需要滿足特定要求的表面類型,這也是用戶自定義表面類型發揮作用的時候。您可以隨時將您對新表面的需求發送給support@zemax.com,但OpticStudio也為您提供了自己實現新表面設置的途徑。
用戶自定義表面是一個編譯好的函數(嚴格意義上是Windows的DLL),它可以根據您的需要實現任意表面形狀、相位、透過率函數、梯度折射率或這幾種類型的組合。在定義用戶自定義表面時,您可以自行輸入表面參數,或根據已有的數據庫進行定義。
本文以OpticStudio中自帶的示例文件為基礎,介紹了編譯用戶自定義表面的基本步驟。本文不涉及構建特定表面的方法,這將在其他文章中介紹。
如果您已經擁有基礎的編程經驗并且對想要構建的表面已經有了清晰的數學描述規范,那么定義用戶自定義表面是非常容易的。通過示例文件,本文將帶您快速了解如何定義用戶自定義表面,但是確定所需要的數學函數往往是最難的部分。
我們要做的第一步就是確定表面的定義規范。
展開 本文使用兩個示例演示了如何使用 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 曲率的解。
展開 圖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.
展開 如何編譯用戶自定義DLL
概述
本文將介紹什么是用戶自定義DLL以及如何在Visual Studio中編譯用戶自定義DLL。本教程是基于Visual Studio Community 2017 version 15.9而創建的,但這些步驟在更早的版本中也適用,版本間變化指出均有記載。本文也會討論其他的編譯器。請注意本文不涉及如何編寫DLL。
OpticStudio專業版和旗艦版允許用戶使用C或C++程序建立他們自己的組件。有很多編譯器可以編譯C/C++代碼,其中很常用的是Visual Studio。本文將提供一步步的編譯DLL的指南。
什么是用戶自定義DLL?
空間頻率分為不同的頻域:
■ 在序列模式中,表面定義了光學材料的界面。表面類型可以是折射、反射、衍射或者漸變折射率。OpticStudio支持超過65種不同的表面類型,包括非常普適的面型包括多項式面型和雙錐Zernike。
然而,很多時候用戶依舊希望可以根據他們的具體需求訂制一些功能。這就是用戶自定義面型有用且強大的地方了,因為OpticStudio包含使用它的界面。
■ 在非序列模式中,物體定義了光學材料的界面。物體擁有帶有材料屬性的幾何形狀,且可以有面(face)來折射或者散射光線。材料也可以散射光線。物體也可以是個光源。
OpticStudio有針對上述所有類型的內建的物體和屬性。在非序列模式中。所有的這些都可以通過以下的DLL來訂制:用戶自定義物體、GRIN檔案、衍射算法、體散射算法、用戶自定義光源。
64位系統要求
過去,OpticStudio曾發布過32位和64位程序,這意味著根據不同的OpticStudio,32位和64位的DLL都可能存在。
展開 
用戶自定義場的相關專題、標簽、搜索
用戶自定義場的最新內容
附件下載
聯系工作人員獲取附件
概述
本文使用兩個示例演示了如何使用 ZPL 創建用戶自定義解。第一個示例介紹了如何創建 ZPL 解以確保序列文件中像面的曲率半徑等于系統的 Petzval 曲率。第二個示例介紹了如何在非序列元件編輯器(Non-Sequential Component Editor)中基于其他物體的參數來約束的物體位置。
簡介
求解 ( Solve ) 是可以在諸如鏡頭數據編輯器或非序列元件編輯器之類的編輯器中主動調整特定值的功能
<p><strong>概述</strong>:帖子講述了一種新思路用于實現ABAQUS自定義單元,該方法不需要在INP文件中采用“USER ELEMENT”等關鍵字定義單元,更重要的是,也<strong>不需要在UEL接口中進行繁瑣的FORTRAN編程</strong>,只需要在INP文件中直接導入相應的矩陣即可。目前這種自定義單元適用的計算有:static, frequency extraction
問題描述
Maxwell支持兩種用戶自定義材料庫:UserLirary (UserLib)和Personal Library (PersonalLib )。
通常UserLib是一個網絡存儲庫,企業內所有用戶都可以獨自/共同定義該存儲庫;PersonalLib則是特定于項目和設計的庫,僅限創建該庫的用戶使用及訪問。
解決方案(1/5)
點擊Tools→ options
VUMAT二次開發教程從入門到高級
https://www.yqgqt.org.cn/video/c16747
否
Abauqus巖土工程經典問題有限元建模及分析詳解(單元體實驗、地基承載力、剪切帶、滑坡)
https://www.yqgqt.org.cn/video/c178307
否
用戶自定義場變量子程序
USDFLD(Abaqus/標準)和 VUSDFLD(Abaqus/Explicit)
USDFLD子程序允許用戶定義自定義場變量以用于邊界條件、初始化和輸出等。這些場變量可以是位移、應力、應變、溫度等,并且可以隨時間和位置而變化。這些場變量可以在模擬過程中更新,以便更好地模擬分析中的復雜現象。
4.
<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下載文章附件簡介求解
