- 积分
- 7
- 注册时间
- 2005-6-13
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2006-4-14 11:11:08
|
显示全部楼层
来自 吉林大学前卫南区
Re:[讨论]编写Mises模型和DP模型的UMAT。(白金泽老师!请进)
c******************************************************************
c| user-defined subroutine example |
c| 理想的弹塑性材料 DP材料模型 体元
c******************************************************************
c
subroutine umat41 (cm,eps,sig,hisv,dt,capa,etype,time,
. temp,i,ixs,x,k,j)
c******************************************************************
c| livermore software technology corporation (lstc) |
c******************************************************************
c
c solid DP material
c variables
c
c cm(1)=young's modulus 弹性模量
c cm(2)=poisson's ratio 泊松比
c cm(3)=shear modulus 剪切模量
c cm(4)=c 粘聚力
c cm(5)=qp 内摩擦角
c cm(6)=yield stress 屈服应力
c cm(7)=bulk Modulus 体积模量
c
c hisv(1)=total plastic strain 塑性应变之和
c hisv(2)=total hydrostatic pressure 静水压力之和
c
c ak=yield stress 屈服应力
c q1-6=deviatoric stresses 偏应力
c ak2=yield function 屈服方程
c depi=incremental platic strain塑性应变增量
c deps=scale back (radial return)返回系数
c
c dimension crv(101,2,*)
dimension cm(*),eps(*),sig(*),hisv(*)
character*(*) etype
if (etype.eq.'brick') then
davg=(-eps(1)-eps(2)-eps(3))/3.
c Computing Hydrostatic Stress(Incremental)静水应力增量
p=-davg*cm(1)/((1.-2.*cm(2)))
c Computing Total Hydrostatic Stress 当前的静水应力
hisv(2)=hisv(2)-p
c Computing Trial Stress 计算试验应力
sig(1)=sig(1)+p+g2*(eps(1)+davg)
sig(2)=sig(2)+p+g2*(eps(2)+davg)
sig(3)=sig(3)+p+g2*(eps(3)+davg)
sig(4)=sig(4)+g*eps(4)
sig(5)=sig(5)+g*eps(5)
sig(6)=sig(6)+g*eps(6)
c Computing Deviatoric Stress 计算偏应力
q1=hisv(2)+sig(1)
q2=hisv(2)+sig(2)
q3=hisv(2)+sig(3)
q4=sig(4)
q5=sig(5)
q6=sig(6)
aj2=q4*q4+q5*q5+q6*q6+(q1*q1+q2*q2+q3*q3)/2 !mises stress* 1/3
c Computing Yield Function 计算屈服方程
k1=(2*sin(cm(5)))/(sqrt(3)*(3-sin(cm(5))))
k2=(6*cm(4)*cos(cm(5)))/(sqrt(3)*(3-sin(cm(5))))
ak2=3*k1*hisv(2)+sqrt(abs(aj2))-k2
scle=0
c Checking Yield 检查是否屈服
if(ak2.gt.0) then !是否 >0
scle=1
endif
fac1=1/(3.0*g)
fac2=3.0*g ! 有限塑性应变修正系数(1/分母)
aj1=3*k1*hisv(2)+sqrt(abs(aj2))+1-scle ! 有限塑性应变修正分子
c Computing plastic strain Increment 塑性应变增量
depi=scle*fac1*(aj1-k2) ! 对应第三步
c Computing Total Plastic Strain 计算当前塑性应变增量 以及 返回系数
hisv(1)=hisv(1)+depi
deps=scle*fac2*depi/aj1
c Stress Update 修正应力
sig(1)=sig(1)-deps*q1
sig(2)=sig(2)-deps*q2
sig(3)=sig(3)-deps*q3
sig(4)=sig(4)-deps*q4
sig(5)=sig(5)-deps*q5
sig(6)=sig(6)-deps*q6
endif
return
end |
|