29 1 PM, RHO, TEMP, XIST,
30 2 MAT, RHO0, DSP, ALP,
31 3 PCR, P1, EGG, XIST0,
32 4 XLAM, EM0, EM1, EM2,
33 5 ESPE, GEAX, G0AX, TM,
39#include "implicit_f.inc"
51 INTEGER,
INTENT(IN) :: NEL
53 . PM(NPROPM,*), RHO(*), TEMP(*), XIST(*), RHO0(*), DSP(*), ALP(*), PCR(*), P1(*),
54 . EGG(*), XIST0(*), XLAM(*), EM0(*), EM1(*), EM2(*),
55 . ESPE(*), GEAX(*), G0AX(*), TM(*),
56 . DELT(*), RP3(*), X(*), GP(*)
63 . P(MVSIZ), XNU(MVSIZ),
65 . c2, c3, d1, d2, d3, thet, apy, vb, z, zj, tz, tzj, fe, a2, bb,
66 . cc, fp, v1, xm, unmm2
76 unmm2 = -o88p9844 + two
85 IF(x(i)<xj.AND.xist0(i)/=five)
THEN
103 fe = (tzj**3*(two*z-two+thet)/tz**2-tz*(two*zj-two+thet))*half*vb/zj**3
106 cc = two*(d1+c1*fe-espe(i)-apy*z/vb)
110 temp(i) =(-bb+sqrt(bb**2- two*a2*cc))/a2
112 fp = (z*tzj/(zj*tz))**3
113 p(i) = rp3(i)*temp(i)*z*(one+z+z**2-z**3)/(three*vb*(one-z)**3)
115 . +fp*(c1+c2*temp(i)+c3*temp(i)**2)
117 pcr(i) = p(i)*two/rho(i)
119 ELSEIF(espe(i)<=em1(i).OR.xist0(i)==five)
THEN
131 temp(i) = (-bb+sqrt(bb**2-two*a2*cc))/a2
132 pcr(i) = geax(i)*temp(i)**2
135 ELSEIF(espe(i)<em2(i))
THEN
140 xnu(i) = (espe(i)-em1(i))/(em2(i)-em1(i))
143 bb = rp3(i)+xnu(i)*v1
144 cc = -(em0(i)+xnu(i)**2*delt(i)*v1)
147 pcr(i) = -two*xnu(i)*v1*(xlam(i)*tm(i)+(temp(i)-xnu(i)*delt(i))*g0ax(i))
149 temp(i) = (-bb+sqrt(bb**2-two*a2*cc))/a2
150 pcr(i) = geax(i)*temp(i)**2-two*xnu(i)*v1*(xlam(i)*tm(i)+(temp(i)-xnu(i)*delt(i))*g0ax(i))
153 ELSEIF(espe(i)<=egg(i))
THEN
158 a2 = gp(i)-alp(i)/tm(i)
160 cc = -(em0(i)-tm(i)*(dsp(i)-half*alp(i)))
163 pcr(i) = -tm(i)*(xlam(i)+g0ax(i))*(two*dsp(i)-alp(i)*(one+temp(i)**2/tm(i)**2))
165 temp(i) = (-bb+sqrt(bb**2-2.*a2*cc))/a2
166 pcr(i) = geax(i)*temp(i)**2-tm(i)*(xlam(i)+g0ax(i))*(two*dsp(i)-alp(i)*(one+temp(i)**
175 bb = rp3(i)-xm*alp(i)
176 cc = -(em0(i)-tm(i)*(dsp(i)-half*alp(i)*unmm2))
179 pcr(i) = -tm(i)*( two*dsp(i)-alp(i)*(unmm2+two*xm*temp(i)/tm(i)) )*(xlam(i)+g0ax(i))
181 temp(i) = (-bb+sqrt(bb**2-two*a2*cc))/a2
182 pcr(i) = geax(i)*temp(i)**2-tm(i)*(two*dsp(i)-alp(i)*(unmm2+2.*xm*temp(i)/tm(i)))*(xlam(i)+g0ax(i))
subroutine gray21(pm, rho, temp, xist, mat, rho0, dsp, alp, pcr, p1, egg, xist0, xlam, em0, em1, em2, espe, geax, g0ax, tm, delt, rp3, x, gp, nel)