------------恢復內容開始------------
- 概述
Abaqus提供了相當豐富的單元類型,材料屬性等數據庫可供用戶選擇,但是工程問題是千變萬化的,為了滿足用戶的特殊工程要求,ABAQUS為用戶提供了強大而又靈活的用戶子程序接口(USER SUBROUTINE)和應用程序接口(UTILITY ROUTINE)。用戶可以利用子程序接口來編寫自己想要實現的特殊功能,以此擴展ABAQUS的功能。ABAQUS 為用戶提供了強大而又靈活的用戶子程序接口(USER SUBROUTINE)和應用程序接口(UTILITY ROUTINE)。ABAQUS 6.2.5 一共有 42 個用戶子程序接口,13 個應用程序接口,用戶可以定義包括邊界條件、荷載條件、接觸條件、材料特性以及利用用戶子程序和其它應用軟件進行數據交換等等。這些用戶子程序接口使用戶解決一些問題時有很大的靈活性,同時大大的擴充了 ABAQUS 的功能。例如:如果荷載條件是時間的函數,這在 ABAQUS/CAE 和 INPUT 文件中是難以實現的,但在用戶子程序 DLOAD 中就很容易實現。用戶自定義子程序(User Subroutine)涵蓋了建模、載荷到單元的幾乎各個部分。
ABAQUS的用戶子程序是根據ABAQUS提供的相應接口,按照FORTRAN語法而自己編寫的代碼。在一個算例中,用戶可以用到多個用戶子程序,但必須把它們放在一個以.FOR為擴展名的文件中。運行帶有用戶子程序的算例時有兩種方法,一是在CAE中運行,在EDIT-JOB菜單的GENERAL子菜單的USER SUBROUTINE FILE對話框中選擇用戶子程序所在的文件即可;二是在ABAQUS COMMAND中運行,語法如下:ABAQUS JON=[JOB] USER=[.FOR]
ABAQUS的用戶子程序是根據ABAQUS提供的相應接口,按照FORTRAN語法而自己編寫的代碼。在一個算例中,用戶可以用到多個用戶子程序,但必須把它們放在一個以.FOR為擴展名的文件中。運行帶有用戶子程序的算例時有兩種方法,一是在CAE中運行,在EDIT-JOB菜單的GENERAL子菜單的USER SUBROUTINE FILE對話框中選擇用戶子程序所在的文件即可;二是在ABAQUS COMMAND中運行,語法如下:ABAQUS JON=[JOB] USER=[.FOR]
- 編寫注意的事項
用戶子程序不能嵌套。即任何用戶子程序都不能調用任何其他用戶子程序,但可以調用用戶自己編寫的FORTRAN子程序和ABAQUS應用程序。當用戶編寫FORTRAN子程序時,建議子程序名以F開頭,以免和ABAQUS內部程序沖突。當用戶子程序中利用OPEN打開外部文件時,要注意以下兩點:一是設備號的選用是有限制的,只能取15-18和大於100的設備號。二是用戶需提供外部文件的絕對路徑而不是相對路徑。ABAQUS應用程序必須由用戶子程序調用。當用到某個用戶子程序時,要關心的主要由兩個方面:
- ABQUS提供的用戶子程序的接口參數。有些參數是ABAQUS傳到用戶子程序中,有些是需要用戶自己定義的SUBROUTINE DLOAD 中的 KSTEP,KINC,COORDS;有些是需要用戶自己定義的,例如 F。
- ABAQUS何時調用該用戶子程序。對於不同的用戶子程序,ABAQUS調用的時間是不同的。有些是在每個 STEP 的開始,有的是 STEP 結尾,有的是在每個INCREMENT的開始等等。當ABAQUS調用用戶子程序是,都會把當前的STEP和INCREMENT利用用戶子程序的兩個實參KSTEP和KINC傳給用戶子程序,用戶可編個小程序把它們輸出到外部文件中,這樣對ABAQUS何時調用該用戶子程序就會有更深的了解。
- 子程序實例
下面就選出幾個常用的用戶子程序和應用程序進行詳細解釋:
- SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME)
參數:
F 為用戶定義的是每個積分點所作用的荷載的大小;
KSTEP,KINC 為 ABAQUS 傳到用戶子程序當前的 STEP 和 INCREMENT 值;
TIME(1),TIME(2)為當前 STEP TIME 和 INCREMENT TIME 的值;
NOEL,NPT 為積分點所在單元的編號和積分點的編號;
COORDS 為當前積分點的坐標;
除 F 外,所有參數的值都是 ABAQUS 傳到用戶子程序中的。
功能:
荷載可以被定義為積分點坐標、時間、單元編號和單元節點編號的函數。
用戶可以從其他程序的結果文件中進行相關操作來定義積分點 F 的大小。
例 1:
這個例子在每個積分點施加的荷載不僅是坐標的函數,而且是隨STEP變化而變化的。
------------恢復內容結束------------