31 1 PM, EINT, RHO, TEMP,
32 2 XIST, QOLD, VOLN, MAT,
33 3 DVOL, POLD, DF, RHO0,
35 5 E02, SSP, DPDM, NEL)
39#include "implicit_f.inc"
51 INTEGER,
INTENT(IN) :: NEL
53 . PM(,*), EINT(*), RHO(*), TEMP(*), XIST(*), QOLD(*), VOLN(*),
54 . DVOL(*), POLD(*), DF(*),
55 . RHO0(*), P1(*), P01(
62 . em0(mvsiz), em1(mvsiz), em2
63 . espe(mvsiz), alp(mvsiz), pcr(mvsiz), c(mvsiz),
64 . geax(mvsiz), g0ax(mvsiz), tm(mvsiz), delt(mvsiz),
65 . dsp(mvsiz), xlam(mvsiz), s(mvsiz), pcc
66 . e0h(mvsiz), tm0(mvsiz), egg(mvsiz), xp(mvsiz), a(mvsiz), am(mvsiz), gam0(mvsiz),
67 . game(mvsiz), gam0m(mvsiz),e0(mvsiz), e00(mvsiz), tg(mvsiz), pmin(mvsiz),xist0(mvsiz),
68 . p1a(mvsiz), dmu(mvsiz), xm, unpm2
84 dpdm(i) = onep333*pm(22,mx)
104 dmu(i) = -dvol(i)/(voln(i)-dvol(i))/df(i)
109 e0(i) = c(i)**2*x(i)**2*half/(one-s(i)*x(i))*(one+s(i)*x(i)/three+(s(i)-gam0(i))*s(i)*x(i
110 . + e00(i)*(one+gam0(i)*x(i)) + e0h(i)
115 IF(x(i)>=zero) xp(i)=one
119 tm(i) = tm0(i)*((one-xp(i))*(one+two*(gam0m(i)-four_over_3)*x(i)+
120 . ((two*gam0m(i)-five_over_3)*(gam0m(i)-four_over_3)-am(i))*x(i)**2)
121 . / (one-x(i))**2 + xp(i)*( one+(two*gam0m(i)-two_third)*x(i)+((gam0m(i)-third)*(two*gam0m(i)+third)-am(i))*x(i)**2))
126 xlam(i) = two_third - two*gam0m(i)+two*am(i)*x(i)
130 delt(i) = dsp(i)*xlam(i)**2*tm(i)**2
134 em1(i) = e0(i)+rp3(i)*(tm(i)+delt(i))+half*gp(i)*(tm(i)+delt(i))**2
135 em2(i) = em1(i)+tm(i)*(dsp(i)-half*alp(i)*(1.+(tm(i)+delt(i))**2/tm(i)**2))
136 egg(i) = e0(i)+rp3(i)*tg(i)+half*gp(i)*tg(i)**2+tm(i)*(dsp(i)-half*alp(i)*unpm2)
137 g0ax(i) = gam0(i)-a(i)*x(i)
138 geax(i) =(game(i)-g0ax(i))*gp(i)
143 e01(i) = eint(i)-(pold(i)+qold(i))*dvol(i)*half
144 e01(i) =
max(zero,e01(i))
145 espe(i) = e01(i)/(voln(i)*rho(i))
146 em0(i) = espe(i)-e0(i)
147 p1a(i) = c(i)**2*x(i)
148 . *(one-(one+half*gam0(i))*x(i)+half*a(i)*x(i)**2)*rho0(i)
149 . /((one-x(i))*(one-s(i)*x(i))**2)
150 p1(i) = pcc(i)+p1a(i)+g0ax(i)*(espe(i)-e0h(i))*rho0(i)/(one-x(i))
156 1 pm, rho, temp, xist,
157 2 mat, rho0, dsp, alp,
158 3 pcr, p1, egg, xist0,
159 4 xlam, em0, em1, em2,
160 5 espe, geax, g0ax, tm,
167 p01(i) = p1(i)+half*pcr(i)*rho(i)
171 IF(p01(i)<=pmin(i))
THEN
178 e02(i) = eint(i)-(p01(i)+qold(i))*dvol(i)*half
179 e02(i) =
max(zero,e02(i))
180 espe(i) = e02(i)/(voln(i)*rho(i))
181 em0(i) = espe(i)-e0(i)
182 p1(i) = pcc(i)+p1a(i)+g0ax(i)*(espe(i)-e0h(i))*rho0(i)/(one-x(i))
188 1 pm, rho, temp, xist,
189 2 mat, rho0, dsp, alp,
190 3 pcr, p1, egg, xist0,
191 4 xlam, em0, em1, em2,
192 5 espe, geax, g0ax, tm,
199 p02(i) = p1(i)+half*pcr(i)*rho(i)
203 IF(p02(i)<=pmin(i))
THEN
213 dpdm(i) = dpdm(i)+
max(rho0(i)*c(i)*c(i),abs((p02(i)-pold(i))/dmu(i)))
215 dpdm(i) = dpdm(i)+rho0(i)*c(i)*c(i)
220 ssp(i) = sqrt(abs(dpdm(i))/rho0(i))
subroutine gray20(pm, eint, rho, temp, xist, qold, voln, mat, dvol, pold, df, rho0, p1, p01, p02, e01, e02, ssp, dpdm, nel)
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)