29 1 (iflag,nel ,pm ,off ,eint ,mu ,mu2 ,
30 2 espe ,dvol ,df ,vnew ,mat ,psh ,
37!----------------------------------------------------------------------------
54#include "implicit_f.inc"
63#include "vect01_c.inc"
68 INTEGER MAT(NEL), IFLAG, NEL
70 . off(nel) ,eint(nel) ,mu(nel) ,
71 . mu2(nel) ,espe(nel) ,dvol(nel) ,df(nel) ,
72 . vnew(nel) ,pnew(nel) ,dpdm(nel),
74 my_real,
INTENT(INOUT) :: psh(nel)
80 . rho0 , aa , bb , r1,
81 . r2, w1, bhe, p0, bulk,
82 . r1df,r2df,er1df,er2df,dpdmu
89 ELSEIF(iflag == 1)
THEN
91 ELSEIF(iflag == 2)
THEN
103 ibfrac = nint(pm(41,mx))
104 psh(1:nel) = pm(88,mx)
109 IF (vnew(i) > zero)
THEN
114 pnew(i) = - psh(i) + aa*(one-w1/r1df)*er1df + bb*(one-w1/r2df)*er2df + w1*espe(i)/df(i)
115 pnew(i) =
max(zero - psh(i), pnew(i))
121 . -aa*w1*er1df/r1 + aa*(one-w1/(r1df))*r1df*r1df*er1df
122 . -bb*w1*er2df/r2 + bb*(one-w1/(r2df))*r2df*r2df*er2df
124 dpdm(i) = dpdmu + (pnew(i)+psh(i))*df(i)*df(i)*dpde(i)
subroutine jwl(iflag, nel, pm, off, eint, mu, mu2, espe, dvol, df, vnew, mat, psh, pnew, dpdm, dpde)