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

用戶子程序開發的案例

有限元理論基礎及Abaqus內部實現方式研究系列36:DLOAD用戶程序開發步驟
通用結構有限元軟件iSolver介紹視頻: http://www.yqgqt.org.cn/college/video/c12884 ==第36篇: DLOAD用戶子程序開發步驟== 前段時間很多朋友都問我們iSolver怎么實現DLOAD子程序,相比前面第八、九篇介紹的UMAT用戶自定義材料的開發,第二十、二十三篇介紹的UEL用戶自定義單元的開發,DLOAD要簡單很多,可以說,沒有任何復雜的算法,所以我們在此也僅僅介紹一下DLOAD的開發步驟,也順便給iSolver用戶提供一個簡單的算例幫助大家更好的使用iSolver的DLOAD功能。 實際生活中很多時候載荷是隨著某些物理量變化的,最常見的是隨著時間或者位置的變化,如果僅僅是隨著時間變化,那么在Abaqus中可以用Amplitude設置一個載荷和時間的對應表就行了;如果僅僅是隨著加載位置變化,那么可以直接把載荷位置獨立劃分出來,譬如設成一個單獨Set,在整個時間段內都只在該位置加載就行。那如果載荷既隨時間變化,同時在時間推進過程中加載位置也在變怎么辦呢? 譬如大壩的水位隨著潮汐的作用一天內會不同,導致不同時間段對大壩的水壓也不同。再譬如汽車在大橋上行駛,每一個時刻車子所在位置不同,對橋的荷載自然也不同了。 上述這些情況就必須要用到子程序了,如果是分布載荷,那么就是DLOAD子程序,DLOAD主要是將用戶特定的分布載荷隨時間、單元、積分點等變化算法編寫為計算機語言表示的公式,并實現和求解器之間的交互迭代。
展開
【7月20-21日 上海】Abaqus UMAT用戶程序二次開發技術培訓
理論和實際操作結合,一次性將abaqus UMAT用戶子程序開發課程講解透徹! 至于python的自動化和GUI部分內容的操作練習,如有此方面需求,將有老師帶領學習。 背景介紹: Abaqus是當今最流行的通用結構有限元軟件之一,以其強大的非線性和良好的用戶體驗著稱。但在實際工程應用中,設計對象專業針對性強,通用的工具軟件往往解決不了專業問題,需要通過二次開發對商業軟件進行定制和優化,集成高精度的計算方法和專有技術,以更好的解決專業問題,甚至形成自主品牌的CAE軟件。 ABAQUS不僅提供標準的有限元分析程序,而且具有良好的開放性,可利用它提供的用戶子程序接口生成非標準的分析程序來滿足用戶的需要,在實際工程中得到廣泛應用。 Abaqus UMAT是ABAQUS提供給用戶定義自材料屬性的程序接口。通過UMAT,用戶可以定義材料的本構關系,建立Abaqus材料庫沒有的材料本構模型,滿足實際工程分析的需要。 本次培訓主要包括: (1) Abaqus二次開發整體介紹; (2) UMAT接口原理和使用方法; (3) 材料本構模型和基礎理論 (4) 基于Fortran和Matlab的UMAT編寫示例和練習。 通過本次培訓,學員可以: (1) 學員在老師指導下完成用戶子程序開發環境配置; (2) 建立UMAT編寫相關的理論基礎; (3) 可自行從零開始構建UMAT算例; (4) 學員實際項目問題現場交流; (5) 和專家及其它行業用戶深入溝通,并獲得長期的技術支持。 培訓方式: 培訓主要采用: (1) PPT介紹; (2) 老師操作演示; (3) 學員上機練習。 三者結合的方式直觀的學習各個知識點。 講師介紹: 技術鄰ID:SnowWave02 團隊,3個講師同時授課。
展開
有限元理論基礎及Abaqus內部實現方式研究系列8:UMAT用戶程序開發步驟(原創)
==第八篇:UMAT用戶子程序開發步驟== 用戶子程序主要是將用戶特定的材料本構模型和單元算法等公式編寫為計算機語言表示的公式,并實現和商軟求解器之間的交互迭代,UMAT用戶自定義材料是其中比較重要的一類子程序。常用的商業有限元軟件都提供了用戶自定義子程序的功能,且一般都是Fortran語言開發,Fortran是上世紀70年代的語言,相對現代化的流行語言編寫,格式要求非常嚴格,編譯調試都比較繁瑣,使得開發效率低下,而且接口限制較多,除了商軟提供的功能外用戶基本沒法改動,靈活性較差。由于用戶子程序很多都涉及復雜的公式編寫,用戶除了需要扎實的理論基礎外,還需要較強的能將公式表達為Fortran語言的編程能力,這對非計算機專業出身的人來說往往在浪費了很多額外精力,使得很多理論高手都對用戶子程序望而卻步,難以入門。 商軟的用戶子程序的內部都是采用dll動態鏈接庫的形式實現的,商軟只是規定好接口并設置觸發尋找動態鏈接庫的機制,譬如當發現關鍵詞*User Material,主程序就調用指定dll中UMAT這個函數,至于這個dll是用什么語言編譯過來的,主程序不會管,只要這個函數包括相同的變量名就行,主程序就會將數據傳遞到這些變量中,同時從規定的變量名中讀取子程序的運行結果,整體流程和一般的混編語言開發類似。 如果了解了商軟的用戶子程序的實現原理后,完全可以用Matlab來代替Fortran開發子程序。在實際工作中,很多工程師用Matlab來編寫和推導公式,Matlab被認為是市面上最接近草稿紙上推導公式的一款軟件了,而且有限元在數值層面上的計算其實就是矩陣運算,所以Matlab這種數據按矩陣來組織非常適合用來開發有限元相關的程序
展開
有限元理論基礎及Abaqus內部實現方式研究系列20: UEL用戶程序開發步驟
在實際工作中,很多工程師用Matlab來編寫和推導公式,Matlab被認為是市面上最接近草稿紙上推導公式的一款軟件了,而且有限元在數值層面上的計算其實就是矩陣運算,所以Matlab這種數據按矩陣來組織非常適合用來開發有限元相關的程序。而現在市面上還沒有采用Matlab來開發商軟子程序的案例。iSolver是市面上第一款基于Matlab來開發商軟用戶子程序的軟件工具,支持用Matlab編寫和調試用戶子程序。iSolver子程序的接口完全按照Abaqus的標準實現,而Abaqus的子程序接口在近幾年內已經基本不再變化了,同樣的,雖然iSolver在不斷發展,但iSolver子程序接口將維持不變,所有在iSolver上編寫的算法子程序都只要維護自己的算法部分就行,而不是維護整個有限元求解的整個過程。 前面第八、九篇介紹了UMAT用戶自定義材料的開發,這里將介紹UEL用戶自定義單元的開發,本文首先簡單的討論了UEL的一般含義,并詳細的介紹了基于Fortran和Matlab兩種方式的UEL的開發步驟,對比發現開發步驟基本相同,同時采用Matlab更加高效和靈活。
展開
用戶子程序開發圖1
Abaqus用戶程序調試插件DUS ¥1
=======背景======= 前段時間學習Abaqus的用戶子程序,本以為按照算法實現Fortran編碼應該是比較快的,但沒想到在找用戶子程序的編譯和調試時浪費了不少時間,而且按照網上方法在命令行調試太麻煩,正好要做基于python的Abaqus二次開發培訓,所以就在Abaqus/CAE用python做了一個簡單的調試插件,希望能減少初學者自己摸索調試方法的時間,也為現在還在用命令行調試的人提供一種更加便捷的方式。 =======概述======= DUS(Debug User Subroutine)是集成在ABAQUS/CAE中的一個插件,能夠一鍵啟動用戶配置的用戶子程序開發平臺(如Visual Studio 2008等),并進入對用戶定義子程序的單步調試模式。 Abaqus用戶子程序用戶進行求解器二次開發的手段,如果想要加入自己的算法,就必須使用Abaqus用戶子程序,Abaqus/CAE中可以編譯并運行用戶子程序,但沒有提供對用戶子程序的調試功能,用戶在編寫用戶子程序時,如果通過打印數據信息輸出log信息來查看程序運行情況,查錯過程極其繁瑣。而用戶如果在dos窗口下調試,由于用戶子程序本身的復雜性,在得到最終正確結果前,需要反復編程->調試->再編程這個過程,來回切換也是極其不方便的。 本工具可在Abaqus/CAE中調試用戶子程序,實現以下功能: (1) 讀取用戶在ABAQUS/CAE的計算任務中定義的用戶子程序信息; (2) 自動啟動配置的用戶子程序開發平臺,進入調試模式; (3) 對用戶子程序進行單步調試。
展開
Abaqus用戶程序安裝、開發、調試
引言 Abaqus為用戶提供了大量的用戶子程序用戶可以通過子程序接口開發Abaqus原本不具備的單元、材料、載荷等。此外,利用子程序能幫助我們去理解、推測Abaqus的計算過程,這對國產自主軟件對標Abaqus功能開發具有一定的參考意義。
完全基于VS的Abaqus UMAT等用戶程序編譯、運行和調試 ¥1
Abaqus用戶子程序提供了很多接口幫助用戶實現自定義單元、材料等重要功能,但是功能強大,卻不友好,一般來說,存在以下四個問題: 1、 環境配置相對比較復雜,很多用戶在配置VS、Fortran和Abaqus的鏈接時就選擇了放棄; 2、 用戶子程序代碼的編譯問題不容易發現,用戶一般都需要在對應Job的日志里去查看,然后再去修改代碼,重新提交Job,如此反復,工作效率極低; 3、 調試不易,Abaqus自帶了調試Job的功能,但往往由于環境配置的問題,用戶不能正確地進入調試狀態,對用戶子程序代碼進行調試; 4、 由于Abaqus的用戶子程序編譯是每次提交任務后都會 重新執行的,即使用戶已經調試好用戶子程序代碼,也仍然需要重新編譯。同時給在共享用戶子程序時,就需要在多臺機器配置好用戶子程序開發環境,實在是麻煩。 筆者通過一段時間的摸索和研究,找到了一種無需鏈接VS、Fortran和Abaqus,完全在VS中配置用戶子程序編譯環境的方法。編譯生成的文件可直接用于Abaqus,別的機器使用無需再配置開發環境。同時,筆者也根據調試代碼的需要,給出了一個實現單步調試的技巧,且無需再擔心由于環境配置問題無法進入調試狀態。詳細內容,見文檔。 方法指南.pdf 筆者也提供了配置好的vs工程。
展開
LS-DYNA用戶程序(UMAT)開發案例
最近在International Journal of Impact Engineering(中科院一區)上看到一篇文章,題目是”Plasticity based material model for concrete subjected to dynamic loadings(https://doi.org/10.1016/j.ijimpeng.2020.103581)“,作者開發了一個適用于描述動態荷載作用下混凝土力學響應的塑性模型,并在LS-DYNA中通過用戶自定義子程序(UMAT)二次開發的方式實現了模型。論文中展示的模擬效果圖如下: 模擬鋼筋混凝土板的爆炸響應 我和這個作者要到了他開發的UMAT源代碼,在這里給大家共享一下,對于想學習LS-DYNA子程序開發的絕對是不可多得的資料(免費共享,不負責答疑哦) (希望大家下載了關注我一下就行,有空可以看看我發的各種教學視頻和資料貼,985高校在讀博士,長期穩定更新各種內容) UMAT.f
展開
一個abaqus用戶材料程序(UMAT)問題解決說明 附Abaqus用戶程序專題下載
在開展abaqus用戶子程序的項目時,容易出現很多bug問題,下面是一個比較典型的容易遇到的報錯。 The job input file "Job-1.inp" has been submitted for analysis. Job Job-1: Analysis Input File Processor aborted due to errors. Error in job Job-1: Analysis Input File Processor exited with an error. 檢查工作路徑下的log文件(Job-1.log),提示無法識別“ifort”,這就意味著這個命令在系統路徑中無法被識別。實際上,“ifort”適用于編譯Fortran文件的,如果無法使用則無法完成編譯。 log文件內容 為了解決這個問題,在系統文件中找到“ifort.exe”,并將其添加到環境變量path中,然后重啟軟件即可解決。 添加路徑 下載地址:Abaqus用戶子程序專題
展開
線彈性UMAT程序驗證-對初級程序用戶很有幫助 ¥3
umat子程序可以定義材料的本構關系,abaqus 中自帶的材料模型通常為成熟的材料模型,當新的材料行為被發現時,通常沒法應用自帶的材料的模型,這時就需要用到umat子程序。現在以大家熟知的線彈性模型為例,以熟悉uamt子程序的語法結構,并驗證其正確性。 問題描述: 一個0.2×0.2×1m的由Q235鋼組成的細桿,其一端固定,另一端面上施加100Mpa的拉力,我們都知道Q235鋼的屈服極限為235Mpa,因此這是個線彈性問題,可以用abaqus自帶的材料模型解決,但是為了熟悉umat子程序語法結構并驗證其正確性,這里用umat子程序自定義材料本構關系,對上述簡單拉伸問題進行模擬。 具體步驟如下: 1、建立部件 2、輸入材料參數 3、創建實例 4、定義分析步 5、定義邊界條件 6、劃分網格 7、提交作業 8、顯示結果 我們在細桿上任選一點,z方向的應力為100Mpa,計算結果正確,從而驗證了umat子程序的正確性。 接下來,通過視頻的形式給大家詳細介紹本算例的umat子程序
展開
有限元理論基礎及Abaqus內部實現方式研究系列23: 編寫簡單面內拉伸問題UEL Step By
1.1 模型來源 本文中所使用的模型文件是從一個簡單殼單元的面內拉伸問題算例修改而來,即將單元定義和材料屬性部分改為自定義單元的屬性,具體修改方法,可以參照我們之前的文章:《有限元理論基礎及Abaqus內部實現方式研究系列20: UEL用戶子程序開發步驟》。也可直接從技術鄰網頁下下載,包含兩個模型文件,一個是原始S4R模型的inp文件,一個是修改后使用UEL的inp文件: 1.2 算法步驟 有限元方法有其基本步驟: 1、 離散化和選擇單元類型; 2、 選擇位移函數; 3、 定義應變/位移和應力/應變關系; 4、 推導單元剛度矩陣和方程。 5、 組裝單元方程得出總體方程并引進邊界條件 6、 解未知自由度(或廣義位移) 7、 求解單元應變和應力 8、 解釋結果 在Abaqus的建模過程中我們已經完成了步驟1,在求解過程中Abaqus會自動完成步驟5、6、7、8,本文的算法步驟則側重于計算單元剛度矩陣和方程,即步驟2、3、4,也就是UEL的編寫。 結合UEL接口,針對面內拉伸問題的一般算法步驟: 1、計算形函數 2、計算B矩陣,即應變/位移關系矩陣 3、計算D矩陣,即應力/應變關系矩陣 4、計算總體單元剛度矩陣 5、計算不平衡力 注:計算不平衡力用于Abaqus靜力分析時進行收斂判斷。 1.3 UEL編寫與運行 1.3.1 UEL編寫 UEL接口和For文件創建和使用方法可參照文章:《有限元理論基礎及Abaqus內部實現方式研究系列20: UEL用戶子程序開發步驟》,接下來就按照算法步驟編寫UEL文件。
展開
用戶子程序開發圖2
Abaqus內置LaRC05失效準則程序(附cohesive單元umat程序開發教程)
Abaqus從2017版本開始,內置了UVARM和DMGINI兩種子程序用戶調用。UVARM子程序需要以“ABQ_LARC05_DMGCRT”作為材料名的前綴,可以用來評估是否滿足LaRC05強度指標;DMGINI子程序需要以“ABQ_LARC05_DMGINI”作為材料名前綴,可以結合XFEM來分析裂紋萌生和擴展。 在abaqus中可以通過修改關鍵字來進行模型設置 UVARM設置 DMGINI設置 輸出變量的含義 計算結果 此外,如果有小伙伴希望學習cohesive單元的umat子程序開發相關技術,可以關注下圖的教程: 點擊鏈接進入了解詳情:Abaqus Cohesive單元介紹及其本構的Umat子程序開發教程 最后,有ABAQUS子程序開發相關需求歡迎通過微信公眾號聯系我們。 微信公眾號:320科技工作室。
展開
ABAQUS用戶程序VUMAT
Abaqus用戶子程序VUMAT.pdf
ABAQUS用戶程序小例子
希望能幫到剛開始學二次開發的人。 Abaqus用戶子程序DISP入門實例2-kxh.zip Abaqus用戶子程序DISP入門實例3-kxh.zip Abaqus用戶子程序DISP入門實例-kxh.zip
淺談ABAQUS用戶程序
下載地址: http://www.caenet.cn/paper/Paper.aspx?ID=451