Abaqus中施加移动车辆荷载(待整理)
在工程實際應用中,我們經常會遇到移動載荷的例子,如車轍實驗,汽車過橋等。今天就介紹一下用abaqus子程序Dload實現移動載荷。
Dolad:隱式求解算法
Vdload:顯示求解算法
(1)Dolad簡介
Dload 函數體和各參數物理意義如下:SUBROUTINEDLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS,JLTYP,SNAME)
| F | 需要自己定義的載荷 |
| KSTEP | 載荷步數(如第一個載荷步、第二個載荷步) |
| KINC | 增量步數 |
| TIME | Time(1)載荷步時間、Time(2)總時間 |
| NOEL | 單元編號 |
| NPT | 單元積分點編號 |
| LAYER、KSPT | 和LAYER SOILD相關 |
| COORDS | 積分點坐標 |
| JLTYP | 載荷類型 |
| SNAME | 名稱 |
(2)案例
如圖所示,物體表面作用一個壓力載荷P(t),同事這個載荷在面內以一定速度V移動
Dload.for子程序源碼
SUBROUTINEDLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,
1 COORDS,JLTYP,SNAME)
INCLUDE 'ABA_PARAM.INC'
DIMENSION TIME(2), COORDS (3)
CHARACTER*80 SNAME
PARAMETER(P0=5e4,Dm0=250,Dmiu=0.002,speed=80/3.6,DL=6.0,width=0.2)
Pi=3.1415926535897932384626433832795
omega=2.0*Pi*speed/DL !角速度 speed為移動速度
Disp=TIME(1)*speed !移動距離
xMin=Disp+0.002 !0.002 設置誤差范圍,積分點坐標和節點坐標不一樣
xMax=Disp+width-0.002 ! width 加載寬度
IF(COORDS(1).ge.xMin.and.COORDS(1).lt.xMax)THEN !判斷坐標位置
F=P0+Dm0*Dmiu*omega*omega*sin(omega*TIME(1)) !定義載荷大小
ELSE
F=0
END IF
RETURN
END
(3)Abaqus操作
1、用general static?分析步設置成fixed?增量步這樣可以等間隔的時間輸出結果
2、定義載荷load的時候選pressure?在distribution中選user-defined
3、建立job 在general選項中 添加Dload.for 文件目錄
4、結果
(5)總結
Abaqus的Dload子程序讓用戶可以自定義各種復雜的非均布載荷,比如和坐標或者時間相關的載荷,其實只要知道了Dload各參數的意思,用起來也比較得心應手。
?
?
DLOAD子程序說明
————————————————————————————————————?
Use this subroutine to define nonuniform, distributed
mechanical loads (pressures and body forces).
使用此子程序定義非均勻的分布式機械負載(壓力和體力)。
(
當負載是時間和/或位置的復雜函數時,通常使用用戶子程序DLOAD。
通常可以用* AMPLITUDE選項建模簡單的時間函數。
子程序也可以用來定義一個隨元素號和/或積分點數而變化的負載。
)
————————————————————————————————————?
一般用法,在INP文件中定義載荷施加的位置(關鍵字),求解時讓其與子DLOAD子程序關聯。
(
當* DLOAD或* DSLOAD選項包含不均勻的加載類型標簽時,子程序被調用。
)
*DLOAD 1, P4NU(Apply nonuniform DLOAD to face 4 of element 1,)
(
“ABAQUS /Standard”手冊中給出了可用于任何特定單元的非均勻分布載荷類型列表。
)
DLOAD子程序接口
?
SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,1 COORDS,JLTYP,SNAME) CINCLUDE 'ABA_PARAM.INC' CDIMENSION TIME(2), COORDS (3)CHARACTER*80 SNAMEuser coding to define FRETURNEND?
?
子程序中的各個參數的意義可以參考ABAQUS幫助文檔
F——分布負載的大小
KSTEP——分析步
TIME(1)——步進時間的當前值或負載比例因子的當前值
TIME(2)——當前總時間值
NOEL——單元編號
NPT——根據負載類型,在元素或元素表面加載積分點數。
LAYER——層數
KSPT——當前圖層中的Section point
COORDS——積分點坐標(數組)
JLTYP——DLOAD調用的載荷類型的標識
?SNAME——表面加載定義的表面名稱(JLTYP = 0)。 對于身體力或基于單元的表面載荷,表面名稱以空白形式傳遞
供參考的子程序
————————————————————————————————————?
SUBROUTINE DLOAD(F, KSTEP, KINC, TIME ,NOEL, NPT,1 LAYER, KSPT, COORDS, JLTYP, SNAME) C C EXPONENTIAL PRESSURE LOAD CINCLUDE ‘ABA_PARAM.INC’ CDIMENSION COORDS(3),TIME(2)CHARACTER*80 SNAMEDATA TEN,ONE,CONST /10.,1.,-23.03/F=TEN*(ONE-(EXP(CONST*TIME(1))))IF(NPT.EQ.1) WRITE(6,*) ‘ LOAD APPLIED’,F,’AT TIME=’,TIME(1)RETURNEND?————————————————————————————————————?
?(
用戶只能定義變量F 這是分布式負載的大小,單位取決于分布式負載的類型:
FL–1 對于沿一維(梁)單元的線載荷,
FL–2 表面負荷(例如壓力)和
FL–3 體力(例如重力,向心力,加速度)。
)
?
轉載于:https://www.cnblogs.com/jiangkejie/p/10231775.html
總結
以上是生活随笔為你收集整理的Abaqus中施加移动车辆荷载(待整理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS Code插件之Cordova To
- 下一篇: aws相关文档