摩擦模型子程序求助
各位坛友,本人最近结合前人的工作在原有摩尔库伦模型基础上考虑黏聚力的影响做一个摩擦子程序,并通过一个简单滑块模型进行验证,但是在计算过程中,一直都不收敛,希望有经验的大神们指点一下,感激不尽。自己编制的子程序如下:subroutine fric(lm,tau,ddtddg,ddtddp,dslip,sed,spd,
1 ddtddt,pnewdt,statev,dgam,taulm,press,dpress,ddpddh,slip,
2 kstep,kinc,time,dtime,noel,ciname,slname,msname,npt,node,
3 npatch,coords,rcoord,drot,temp,predef,nfdir,mcrd,npred,
4 nstatv,chrlngth,props,nprops)
c
include 'aba_param.inc'
character*80 ciname,slname,msname
dimension tau(nfdir),ddtddg(nfdir,nfdir),ddtddp(nfdir),
1 dslip(nfdir),ddtddt(nfdir,2),statev(*),
2 dgam(nfdir),taulm(nfdir),slip(nfdir),time(2),
3 coords(mcrd),rcoord(mcrd),drot(2,2),temp(2),
4 predef(2,*),props(nprops)
parameter(zero=0.0D0)
c c 定义程序中所需变量
c c
Fc=props(1)
c φ
Ffi=props(2)
c ks
Fks=props(3)
if (lm.eq.2) then
return
end if
if(lm.eq.1) then
if(abs(taulm(1)).gt.abs(press*Ffi+Fc)) then
lm=0
else
tau(1)=taulm(1)
end if
end if
lm=0
if(abs(Fks*slip(1)).gt.abs(press*Ffi+Fc)) then
tau(1)=abs(press*Ffi+Fc)
ddtddg(1,1)=abs(press*Ffi+Fc)/slip(1)
else
tau(1)=abs(Fks*slip(1))
ddtddg(1,1)=Fks
end if
if(abs(Fks*slip(2)).gt.abs(press*Ffi+Fc))then
tau(2)=abs(press*Ffi+Fc)
ddtddg(2,2)=abs(press*Ffi+Fc)/slip(2)
else
tau(2)=abs(Fks*slip(2))
ddtddg(2,2)=Fks
end if
ddtddg(1,2)=zero
ddtddg(2,1)=zero
dslip(1)=dgam(1)
dslip(2)=dgam(2)
return
end
有同样的问题. 大神问题解决了吗?同求。 求摩擦模型相关的资料
页:
[1]