Dear all,

Thanks for hypoplasticity sand UMAT provided by Prof. Masin.

During studying hypo sand UMAT, I am encountered with a question about consistent tangent stiffness calculation.

subroutine ”perturbate_h“ seems to be used for computing ddsdde. In subroutine ”perturbate_h“ , another subroutine “get_tan_h” is called for computing LL, NN and MM. Here, LL and NN denote the forth order tensor and the second order tensor respectively, without considering intergranular strain. MM denotes the forth order tensor considering intergranular strain. About tensors are demonstrated in Voigt notation in the hypo sand UMAT. The detailed code is shown as following:

c—————————————————————————–

subroutine perturbate_h(y_n,y_np1,n,nasv,dtsub,err_tol,maxnint,

& DTmin,deps_np1,parms,nparms,nfev,elprsw,theta,ntens,DD, dtime,

& error)

c—————————————————————————–

c

c compute numerically consistent tangent stiffness

c

c written 12/2005 (Tamagnini)

c—————————————————————————–

C above information is ignored for simplicity

if(error.ne.10) then

call get_tan_h(deps_np1,sig,q,nasv,parms,nparms,

. DD,HHtmp,LL,NN,istrain,error)

end if

if(istrain .eq. 0) then

do kk=1,6

do jj=1,6

DD(kk,jj)=LL(kk,jj)

end do

end do

else

do kk=1,6

do jj=1,6

DD(kk,jj)=parms(10)*LL(kk,jj)

end do

end do

end if

return

end

1. when istrain .eq. 0, denoting no intergranular strain, DD=LL

why NN is ignored? I imagine that in the basic hypoplastic model, because the second term on the right hand side is “NN ||D||”, NN will not contribute to the tangent stiffness numerically.

2. when istrain .nq. 0, denoting intergranular strain is considered, DD=m_R*LL (as parm(10)=m_R)

That makes me confused. What does m_R*LL mean? Why not to use MM directly as the tangent stiffness?

Could anyone please give me some instruction or provide relevant papers?

Best regards

Ran Tu