
發布
注冊
/
登錄abaqus 子程序運行
關注創建者:王靖雯 創建時間:2023-02-27
abaqus 子程序運行的視頻教程
【A01】Abaqus 子程序開發入門=安裝教程+子程序關聯+子程序開發工具+示例
介紹Abaqus子程序開發的入門級教程。 完整視頻包括:1、軟件安裝;2、Abaqus子程序使用環境配置;3、子程序開發環境配置;4、子程序開發工具(Abaci)教程;5、復刻一個Abaqus UMAT子程序示例。 子程序語言為Fortran(自由格式)。課程附件是視頻中用到的文件。 最后1個大視頻里有5個章節,是上面5個視頻的融合,并對其中一些細節做了補充更新。
¥28.88 1小時22分鐘 495播放
查看
Abaqus子程序開發系列課程-CREEP子程序
Abaqus擁有豐富的子程序接口,可以滿足我們各種計算需求。Abaqus用戶子程序主要包括三種Abaqus/Standard subroutines,Abaqus/Explicit subroutines和Abaqus/CFD subroutines。本系列課程主要為大家講解常用子程序的接口以及編寫方法,以及子程序編寫過程中需要注意的事項。
免費 37分鐘 3419播放
查看
Abaqus子程序開發系列課程-DFLUX子程序
Abaqus擁有豐富的子程序接口,可以滿足我們各種計算需求。Abaqus用戶子程序主要包括三種Abaqus/Standard subroutines,Abaqus/Explicit subroutines和Abaqus/CFD subroutines。本系列課程主要為大家講解常用子程序的接口以及編寫方法,以及子程序編寫過程中需要注意的事項。
¥59 1小時23分鐘 699播放
查看
abaqus 子程序運行的實例教程
有誰知道這是什么原因嗎?有什么解決辦法嗎?
Abaqus用戶子程序提供了很多接口幫助用戶實現自定義單元、材料等重要功能,但是功能強大,卻不友好,一般來說,存在以下四個問題:
1、 環境配置相對比較復雜,很多用戶在配置VS、Fortran和Abaqus的鏈接時就選擇了放棄;
2、 用戶子程序代碼的編譯問題不容易發現,用戶一般都需要在對應Job的日志里去查看,然后再去修改代碼,重新提交Job,如此反復,工作效率極低;
3、 調試不易,Abaqus自帶了調試Job的功能,但往往由于環境配置的問題,用戶不能正確地進入調試狀態,對用戶子程序代碼進行調試;
4、 由于Abaqus的用戶子程序編譯是每次提交任務后都會 重新執行的,即使用戶已經調試好用戶子程序代碼,也仍然需要重新編譯。同時給在共享用戶子程序時,就需要在多臺機器配置好用戶子程序的開發環境,實在是麻煩。
筆者通過一段時間的摸索和研究,找到了一種無需鏈接VS、Fortran和Abaqus,完全在VS中配置用戶子程序編譯環境的方法。編譯生成的文件可直接用于Abaqus,別的機器使用無需再配置開發環境。同時,筆者也根據調試代碼的需要,給出了一個實現單步調試的技巧,且無需再擔心由于環境配置問題無法進入調試狀態。詳細內容,見文檔。
方法指南.pdf
筆者也提供了配置好的vs工程。
展開 image_process=/format,webp" data-initial-src="https://img.jishulink.com/202509/attachment/741fcf85706146d8b43b750abde1d03b.png">
</figure>
</figure><p><br></p><p>這里只需要提供想要預編譯的已經寫好的程序,選擇導出的位置點擊apply即可。</p><p><br></p><p>該應用無需安裝,下載雙擊即可運行。</p><p>系統要求為windows,并且abaqus已經關聯好fortran、vs,對abaqus的版本不限。</p><p><br></p><p>該編譯器可以用于子程序的加密操作,也可以通過所生成的二進制文件與共享庫在沒有關聯的機器上運行子程序。</p><p><br></p><p>2.<span style="color: rgb(25, 27, 31);">如何在未關聯Fortran的機器上運行子程序?
展開 這是我運行umat是log文件中的錯誤,有誰知道為啥嗎?
End Compiling Abaqus/Standard User Subroutines
Begin Linking Abaqus/Standard User Subroutines
libifcoremt.lib(for_fp_class.obj) : error LNK2005: for_is_nan_t_ 已經在 LIBIFCOREMD.LIB(libifcoremd.dll) 中定義
libifcoremt.lib(for_vm.obj) : error LNK2005: for_allocate 已經在 LIBIFCOREMD.LIB(libifcoremd.dll) 中定義
libifcoremt.lib(for_vm.obj) : error LNK2005: for_deallocate 已經在 LIBIFCOREMD.LIB(libifcoremd.dll) 中定義
libifcoremt.lib(for_close.obj) : error LNK2005: for_close 已經在 LIBIFCOREMD.LIB(libifcoremd.dll) 中定義
libifcoremt.lib(for_open.obj) : error LNK2005: for_open 已經在 LIBIFCOREMD.LIB(libifcoremd.dll) 中定義
展開 <p>(此貼只針對abaqus用戶)</p><p>對于需要使用子程序進行分析計算的用戶來說,配置子程序環境較為繁瑣,并且有時要在一臺沒有fortran運行環境的機器上運行子程序(例如云計算等等),這時要怎么做?</p><p>abaqus官方為我們提供了make的方法:</p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><pre class="ql-syntax ql-align-center" spellcheck="false">abaqus make library=usd.for/.f90/.cpp/...
</pre><p>該方法將會把子程序進行預編譯并生成相應的共享庫(share library)文件。</p><p>.obj文件就是我們子程序經過預編譯得到的二進制文件。</p><p>.dll文件就是相應的共享庫文件,其中包含了我們所用子程序中所用的全部執行信息(像算法信息,+,-,*,/之類的)</p><p><em><u>2025.10.3添加:</u></em><em style="color: rgb(25, 27, 31);">.obj文件可以在已關聯的設備Job頁面子程序位置上直接提供,.dll文件中包含已經編寫過的子程序中全部內容,可以使用環境變量進行索引在沒關聯的設備上運行,不用在提供obj文件,兩個文件是獨立的。
展開 
abaqus 子程序運行的相關專題、標簽、搜索
abaqus 子程序運行的最新內容
筆者就只安裝了上圖中Fortran Compiler,同樣可以關聯VS和abaqus,并成功運行子程序。Intel官方也提供了Fortran Compiler單獨的安裝包。如下圖,只有335M,下載安裝很方便。
做有限元仿真,焊接(Welding) 絕對是公認的“硬骨頭”。
為什么?因為它不僅涉及復雜的熱-機耦合,還離不開讓無數工程師頭禿的Fortran子程序(DFLUX),更別提移動熱源、生死單元技術,以及像攪拌摩擦焊(FSW) 這種涉及大變形的高階分析。
高斯熱源和雙橢球熱源怎么選?
DFLUX子程序里的坐標系怎么轉換?
幾十道焊縫的分析步,手動設置要累死人,怎么用Python
在ABAQUS中做管道內壓爆炸CEL模擬,采用vumat進行子程序定義
當管道為單層網格時,流固耦合效果好。當管道為多層網格時,采用abaqus自帶的材料及損傷可以實現模擬,使用vumat進行模擬流固耦合效果就很差(內部氣體漏氣、等效塑性應變分布不正確、計算迭代等),這是什么原因
<p>部分重要內容在前貼<a href="https://www.yqgqt.org.cn/post/1935832" rel="noopener noreferrer" target="_blank">如何在沒有fortran的機器上運行子程序_ABAQUS-技術鄰</a>已有所介紹,這里提供了便于用戶操作的應用程序與插件,同樣也是分兩步。這里主要說明編譯器與插件的使用說明,重復的話不再贅述。
[圖片]
<p>答案很簡單,abaqus的求解器開發的很早,就只能用當時的語言,所以會使用這么早期的語言。</p><p>同樣的,各種軟件的前后處理模塊開發的很晚,可以使用最新的語言,如python,所以abaqus的前后處理可以使用python進行二次開發。</p><p><br></p><div contenteditable="false" width="100%"><hr>
</div><p><br>
<p><.f><.for><.f90></p><div contenteditable="false" width="100%"><hr>
</div><p><br></p><p><br></p><p><.f>。Unix系統下的</p><div contenteditable="false" width="100%"><hr>
</div><p><