ユーザーサブルーチン「creep.f」を使用すると、入力デッキでキーワードシーケンス *CREEP,LAW=USER を選択することでユーザーは独自のクリープ則を組み込むことができるようになります。入力/出力は材料の種類に依存します。材料の弾性プロパティーが等方性の場合にはフォン・ミーゼス応力が入力され、等価偏差クリープひずみ増分とそれをフォン・ミーゼス応力で微分したものが対応物として出力されます。材料の弾性プロパティーが異方性の場合には等価偏差クリープひずみ増分が入力され、フォン・ミーゼス応力、等価偏差クリープひずみ増分をフォン・ミーゼス応力で微分したものが出力されます。ただしクリープ状態は常に等方性です。弾性状態が等方性となるか異方性となるかは変数の値によります。ヘッダーと入出力変数の意味は以下の通りです。
subroutine creep(decra,deswa,statev,serd,ec,esw,p,qtild,temp,dtemp,predef,dpred,time,dtime,cmname,leximp,lend,coords,nstatv,noel,npt,layer,kspt,kstep,kinc)
!
! ユーザークリープルーチン
!
! 入力(一般):
!
! statev(1..nstatv) 内部変数
! serd 不使用
! ec(1) インクリメント開始時の等価クリープひずみ
! ec(2) 不使用
! esw(1..2) 不使用
! p 不使用
! temp インクリメント終了時の温度
! dtemp 不使用
! predef 不使用
! dpred 不使用
! time(1) インクリメント終了時のステップ時間の値
! time(2) インクリメント終了時の総時間の値
! dtime 時間増分
! cmname 材料名
! leximp 不使用
! lend 2の場合: 等方性クリープ
! 3の場合: 異方性クリープ
! coords(1..3) 現在の積分点の座標
! nstatv 内部変数番号
! noel 要素番号
! npt 積分点番号
! layer 不使用
! kspt 不使用
! kstep 不使用
! kinc 不使用
!
! 入力(等方性弾性材料のみ):
! qtild フォン・ミーゼス応力
!
! 入力(異方性弾性材料のみ):
! decra(1) 等価偏差クリープひずみ増分
!
!
! 出力(一般):
!
! decra(1) 等価偏差クリープひずみ増分
! decra(2..4) 不使用
! decra(5) 等価偏差クリープひずみ増分をフォン・ミーゼス応力で微分したもの
! deswa(1..5) 不使用
!
! 出力(等方性弾性材料のみ):
! decra(1) 等価偏差クリープひずみ増分
!
! 出力(異方性弾性材料のみ):
! qtild フォン・ミーゼス応力
!