ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)

   在有限元模擬中,重復(fù)移動載荷(Repeated moving pressure)是結(jié)構(gòu)受力分析中用于等效模擬接觸載荷的一個重要手段,尤其在輪軌接觸、滾珠接觸、焊接熱源移動等問題研究中極為常見。本文主要介紹ABAQUS中橢圓形移動載荷定義、法向和切向載荷模擬、子程序DLOADUTRACLOAD編程實現(xiàn),實現(xiàn)建議與注意事項。

1、橢圓形移動載荷定義

  移動載荷指的是隨時間或空間位置變化而不斷變化施加位置的載荷,其典型例子包括:1)行駛車輛對橋梁的作用力;2)火車車輪與軌道之間的接觸力;3)滾動體在接觸面上滑移產(chǎn)生的局部接觸載荷;4)焊接過程中熱源的沿路徑移動。這些載荷不是固定不動的,而是隨時間在接觸體上“移動”,從而引發(fā)結(jié)構(gòu)響應(yīng)的動態(tài)變化。在應(yīng)力應(yīng)變分析、疲勞壽命評估等方面,考慮載荷的移動性尤為關(guān)鍵。

  在滾動體的接觸中,Hertz型橢圓形接觸斑較為常見,其形狀可根據(jù)Hertz接觸理論表示為:

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖1

其中,P為總法向力,ab分別為橫向x和縱向z上的接觸斑半寬,p0為最大接觸壓力。

2、法向和切向移動載荷模擬

  在ABAQUS中,模擬移動載荷的兩種典型方法分別對應(yīng)法向載荷切向載荷

2.1 法向移動載荷

  法向載荷定義見式(1)所示。在給定總法向力P或者軸重,以及接觸斑長半軸和短半軸大小后,即可確定出來p(x,z)空間分布。其中,P、a和b可以通過Hertz接觸理論或者有限元法計算得到,也可以通過一些網(wǎng)站去快速計算,比如:https://www.tribology-abc.com/sub10.htm以及https://www.pecms.cn/hz/hzb2p。

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖2

圖1 法向接觸壓力

2.2 切向移動載荷

  在滾動接觸過程中,除了接觸表面的法向接觸壓力外,接觸體還存在局部滑動或者蠕滑,導(dǎo)致接觸斑區(qū)域被劃分為黏著區(qū)和滑動區(qū)。其中,沿著滾動方向的后沿為滑動區(qū),前沿則為黏著區(qū)。在滑動區(qū)內(nèi),切向力大小為摩擦系數(shù)乘以法向力,而在黏著區(qū)內(nèi)切向力大小與蠕滑率有關(guān)。

  為了計算接觸斑內(nèi)的黏滑分布,首先采用Haines和Ollerton條帶理論將接觸斑劃分為若干個縱向條帶,對每個條帶使用Carter接觸理論(圖3)劃分黏著區(qū)和滑動區(qū)大小,進而確定切向力大小分布。

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖3

圖2 條帶理論



ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖4

圖3 利用Crter接觸理論劃分黏滑分布

    1)在滑動區(qū)內(nèi),切向力大小可表示為:

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖5

其中,f為摩擦系數(shù)。

    2)在黏著區(qū)內(nèi),切向力分布由q1和q2兩部分組成,合起來可表示為:

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖6

其中,d為黏著區(qū)與滑動區(qū)中心之間的距離,可表示為d=a?cc為黏著區(qū)半寬。這里,c黏著區(qū)黏著因子K具有如下關(guān)系:

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖7

其中,K為黏著區(qū)黏著因子,而K與蠕滑率ξ具有如下關(guān)系:

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖8

  K與蠕滑率ξ之間的關(guān)系曲線如圖4:

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖9

圖4  K與ξ關(guān)系曲線

  因此,切向接觸載荷大小與最大接觸壓力p0、接觸斑形狀ab、蠕滑率ξ、摩擦系數(shù)f密切相關(guān)。如果給定一個蠕滑率ξ,那么就可以依次確定出K、黏著區(qū)大小c、切向力大小q分布(如圖5)。

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖10

圖5 切向載荷分布

3、子程序DLOADUTRACLOAD編程實現(xiàn)

  確定好法向和切向移動載荷分布后,利用FORTRAN編寫DLOAD和UTRACLOAD用戶子程序,實現(xiàn)法向和切向移動載荷施加,載荷施加在滾動接觸體表面(以圖6所示的鋼軌踏面施加移動載荷為例)。

ABAQUS中橢圓形移動載荷DLOAD和UTRACLOAD子程序詳解:從定義到實現(xiàn)的圖11

圖6 鋼軌表面施加法向和切向移動載荷

3.1 法向移動載荷實現(xiàn)DLOAD

  DLOAD子程序是ABAQUS中定義體載荷、面載荷、線載荷等的一種接口,通過Fortran代碼自定義每個積分點上的載荷值。DLOAD適用于定義在單元上的載荷(如壓力、密度效應(yīng)等);可以利用時間(TIME(1))、空間坐標(COORD)、元素編號等信息,來定義移動的載荷區(qū)域或強度,主要用于法向載荷的模擬。

   部分代碼示意如下:

******************************* Top **********************************       	
************************* Dload 法向移動載荷 *************************		  
	SUBROUTINE DLOAD(F, KSTEP, KINC, TIME, NOEL, NPT, LAYER, KSPT,
     &           COORDS, JLTYP, SNAME)
	INCLUDE 'ABA_PARAM.INC'
	DIMENSION TIME(2), COORDS(3)
	CHARACTER*80 SNAME
	real*8 x, y, z, Velocity, Move, centerx, para, P0, A, B, P0Y, AA
*     接觸斑參數(shù)
   P0 = 1258.0D0 ! 最大接觸壓力
	A = 7.3D0   ! 長半軸
	B = 5.5D0   ! 短半軸
*     移動載荷參數(shù)
	num_cycles = 100  !循環(huán)100次
	StepTime = 0.0072  !每個循環(huán)時間  t=800mm/27777.78mm/s=0.0288
	FixedMove = 200.0D0
	Velocity = FixedMove / StepTime   ! v=100*1000/3.6=27777.78mm/s
	TotalCycles = 100      ! 總循環(huán)次數(shù)
*      坐標
	x0 = -100.0D0
	y0 = 2.78D0
	x = COORDS(1)
	y = COORDS(2)
	z = COORDS(3)
    
*      確定載荷中心位置
	IF (TIME(1) .LE. StepTime * TotalCycles) THEN
		tmod = MOD(TIME(1), StepTime)   ! 當前時間在單次循環(huán)中的時間
		Move = Velocity * tmod          ! 移動距離
		centerx = x0 + Move
	ELSE
		centerx = x0    ! 超過 100 次循環(huán)后,載荷靜止
	END IF	


*      判斷橢圓接觸斑內(nèi)
	para = (x - centerx)**2 / A**2 + y**2 / B**2   

3.2 切向移動載荷實現(xiàn)UTRACLOAD

  UTRACLOAD子程序用于定義接觸面上的切向載荷(traction load),尤其適合模擬輪軌滾動、摩擦拖曳、履帶驅(qū)動等問題。與接觸對配合使用;可通過位置(COORD)、法向和切向方向、時間等參數(shù)動態(tài)指定接觸面上移動的切向載荷;適合模擬摩擦力、驅(qū)動力等切向移動載荷。

   部分代碼示意如下:

************************* UtracLoad 切向移動載荷 ***************	
	SUBROUTINE UTRACLOAD(ALPHA,T_USER,KSTEP,KINC,TIME,NOEL,NPT,
     &		   COORDS,DIRCOS,JLTYP,SNAME)
	INCLUDE 'ABA_PARAM.INC'
	DIMENSION T_USER(3), TIME(2), COORDS(3), DIRCOS(3,3)
	CHARACTER*80 SNAME
	real*8 x,y,z,centerx,para,KI,CC,StepTime,TotalCycles,Velocity
	real*8 P0,A,B,FRI,AA,P0X,tmod,ALP1


*      參數(shù)初始化
	P0 = 1258.0D0
	A  = 7.3D0
	B  = 5.5D0
	FRI = 0.5D0
	KI = 0.8D0  !蠕滑分布系數(shù),并非牽引系數(shù),K=1,純滾;K=0,全滑
*      移動載荷參數(shù)
	num_cycles = 100  !循環(huán)100次
	StepTime = 0.0072  !每個循環(huán)時間
	FixedMove = 200.0D0
	Velocity = FixedMove / StepTime 
	TotalCycles = 100      ! 總循環(huán)次數(shù)
    
	x=COORDS(1)
	y=COORDS(2)
	z=COORDS(3)
*      移動載荷的坐標
	x0 = -100.0D0
	y0 = 2.78D0
	T_USER(1)=1.0
	T_USER(2)=0.0
	T_USER(3)=0.0

4、實現(xiàn)建議與注意事項

  路徑控制:若載荷沿非直線路徑移動,可通過函數(shù)表或外部數(shù)據(jù)點定義軌跡;

  速度控制:建議從較低速度開始測試,確保模擬穩(wěn)定;

  邊界條件耦合:對于周期性或滾動加載問題,可結(jié)合對稱/循環(huán)邊界實現(xiàn)持續(xù)滾動效果;

  輸出檢查:使用可視化工具(如 contour 圖或 field 輸出)確認載荷移動過程是否正確。

如果你正在處理類似問題,歡迎留言交流,后文也分享了一個成功測試過的子程序代碼!

以下內(nèi)容為付費內(nèi)容,請購買后觀看

   1人購買

DLOAD和UTRACLOAD子程序

App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

5
3
7