29 2 ESPE ,DVOL ,DF ,VNEW ,MAT ,PSH ,
57#include "implicit_f.inc"
66#include "vect01_c.inc"
71 INTEGER (NEL), IFLAG, NEL
72 my_real PM(NPROPM,NUMMAT),
73 . off(nel) ,eint(nel) ,mu(nel) ,
74 . espe(nel) ,dvol(nel) ,df(nel) ,
75 . vnew(nel) ,psh(nel) ,pnew(nel) ,dpdm(nel),
81 my_real GM1(NEL), DVV, PP,BB_(NEL),RHO0(NEL)
93 denom = one-bb_(i)*rho0(i)*(one+mu(i))
94 pp = espe(i)*gm1(i)*(mu(i)+one)/denom
95 dpde(i) = gm1(i)*(one+mu(i))/denom
96 dpdm(i) = gm1(i)*espe(i)/denom + pp/denom*bb_(i)*rho0(i) + pp*df(i)*df(i)*dpde(i)
97 pnew(i) =
max(pp,zero)*off(i)
98 pnew(i) = pnew(i)-psh(i)
101 ELSEIF(iflag == 1)
THEN
110 denom = one-bb_(i)*rho0(i)*(one+mu(i))
111 bb = gm1(i)*(one+mu(i))/denom
113 dvv = half*dvol(i)*df(i) /
max(em15,vnew(i))
114 pnew(i) = (bb*espe(i))/(one+bb*dvv)
115 pnew(i) = pnew(i)*off(i)
116 eint(i) = eint(i) - half*dvol(i)*pnew(i)
117 pnew(i) = pnew(i)-psh(i)
120 ELSEIF(iflag == 2)
THEN
129 IF (vnew(i) > zero)
THEN
130 denom = one-bb_(i)*rho0(i)*(one+mu(i))
131 pp = espe(i)*gm1(i)*(mu(i)+one)/denom
132 dpde(i) = gm1(i)*(one+mu(i))/denom
133 dpdm(i) = gm1(i)*espe(i)/denom + pp/denom*bb_(i)*rho0(i) + pp*df(i)*df(i)*dpde(i)
subroutine noble_abel(iflag, nel, pm, off, eint, mu, espe, dvol, df, vnew, mat, psh, pnew, dpdm, dpde)