
發布
注冊
/
登錄abaqus創建inp的案例
有限元理論基礎及Abaqus內部實現方式研究系列36:DLOAD用戶子程序開發步驟
1.2 基于Fortran的Abaqus的DLOAD的開發步驟
1.2.1 在Abaqus界面中定義DLOAD
一般在Abaqus界面中定義DLOAD,方法是在創建載荷時,在Distribution的下拉框中選擇User-defined:
也可直接在inp中定義DLOAD,方法是在定義載荷時將分布類型從P改成對應的用戶自定義載荷(面載荷為PNU,體載荷為BXNU), 如圖所示:
然后在創建Job時,在User subroutine file中選擇或輸入用戶編寫的DLOAD的Fortran程序:
1.2.2 編寫
使用任意編輯器編寫.for文件,比如UltraEdit
1.2.3 編譯(可選)
Abaqus沒有自帶Fortran編譯器,所以用戶需要自己去安裝Fortran編譯器和Visual Studio Build Tools,并配置相應環境。具體配置過程與UMAT一致,可以查看我們關于環境配置的視頻:
https://www.yqgqt.org.cn/college/video/c13034?chapter=1
在環境配置完成之后,打開命令提示框,輸入命令Abaqus make Library=XXX.for,即開始編譯,編譯過程中的警告和錯誤都會打印在命令提示框內。
1.2.4 運行
運行DLOAD有多種方法,除了前面所述的基于模型創建Job時直接選擇DLOAD程序外,還可以在命令提示框中輸入Abaqus job=XXX user=XXX.for,如下圖所示。
另一種就是在Abaqus中創建基于inp文件的任務,然后再選擇對應的用戶子程序for文件,在任務管理器中提交運行,如圖所示。
展開 有限元理論基礎及Abaqus內部實現方式研究系列20: UEL用戶子程序開發步驟
DUS(Debug User Subroutine)是集成在ABAQUS/CAE中的一個插件,能夠一鍵啟動用戶配置的用戶子程序開發平臺(如Visual Studio 2008等),并進入對用戶定義子程序的單步調試模式。
有興趣的可到下面網頁下載使用。
Abaqus用戶子程序調試插件:
https://www.yqgqt.org.cn/content/post/424513
1.3 基于Matlab的iSolver的UEL開發步驟
基于Matlab的Abaqus的UEL具體開發步驟和Abaqus類似,只不過某些步驟需要用到自研有限元求解器開發平臺iSolver。
1.3.1 在inp文件中定義UEL
與Abaqus相應的操作一致,如圖所示:
1.3.2 編寫
在Matlab中創建并編寫U1001.m的文件,放入Abaqus工作目錄下。該文件只包括一個U1001函數,接口和Abaqus的接口參數完全一致,功能也是計算應力應變關系和當前應力狀態等,相對Fortran,利用Matlab可以更容易的編寫計算公式,同時可以利用Matlab在矩陣計算中各種強大功能和算法庫。因為Abaqus的UEL接口和計算功能各個版本相對固定,這個matlab的UEL接口參數也相對固定,不會因為iSolver的版本不同而重新修改接口。
1.3.3 編譯(無)
由于matlab是腳本語言,不需要編譯。
1.3.4 調試(可選)
在Abaqus菜單欄的Plug-ins里選擇iSolver插件的菜單。
點擊iSolver->Engine,按照下圖所示,在功能項Use Solver中選擇iSolver,在Source Type里面選擇Matlab,勾選Debug。
展開