本帖最后由 huangzhiye 于 2016-1-20 22:50 编辑
请问,在 VUMAT子程序中,如何进行应变更新?
(关于 Elasto-viscoplastic problem,各向同性硬化,J2 流动准则 的问题)
用户手册的 VUMAT 例子中只有 应力更新公式,而无应变更新。
VUMAT 中应力更新算法如下:
C sigdif = vmises - yieldOld facyld = zero if ( sigdif .gt. zero ) facyld = one deqps = facyld * sigdif / ( thremu + hard ) C C Update the stress C yieldNew = yieldOld + hard * deqps factor = yieldNew / ( yieldNew + thremu * deqps ) stressNew(k,1) = s11 * factor + smean stressNew(k,2) = s22 * factor + smean stressNew(k,3) = s33 * factor + smean stressNew(k,4) = s12 * factor if ( nshr .gt. 1 ) then stressNew(k,5) = s13 * factor stressNew(k,6) = s23 * factor end if
但是 UMAT 中应力的更新算法与 VUMAT 完全不同。
C CALCULATE STRESS AND UPDATE STRAINS
C
DO 150 K1=1,NDI
STRESS(K1)=FLOW(K1)*SYIELD+SHYDRO
EPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL/TWO
EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL/TWO
150 CONTINUE
DO 160 K1=NDI+1,NTENS
STRESS(K1)=FLOW(K1)*SYIELD
EPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL
EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL
160 CONTINUE
EQPLAS=EQPLAS+DEQPL
SPD=DEQPL*(SYIEL0+SYIELD)/TWO
RPL = PROPS(3)*SPD/DTIME
是否可以用 UMAT 中算法来进行 VUMAT 的应变(或应力)的更新 ?
|