37 5 DELTAX, RHO0, DVOL, VD2,
39 7 GEO, PID, DT2T, NELTST,
40 8 ITYPTST, OFFG, MSSA, DMELS,
41 9 BUFLY, SSP, ITY, NPT,
50#include "implicit_f.inc"
62 INTEGER,
INTENT(IN) :: ITY
63 INTEGER,
INTENT(IN) :: NPT
64 INTEGER,
INTENT(IN) :: JTUR
65 INTEGER,
INTENT(IN) :: JTHE
66 INTEGER,
INTENT(IN) :: JSMS
67 INTEGER MAT(MVSIZ),NC(8,MVSIZ),NGL(MVSIZ),PID(MVSIZ)
68 INTEGER NEL,NELTST,ITYPTST
72 . off(mvsiz) ,sig(nel,6), eint(nel), rho(nel) , qold(nel),
73 . vol(nel) ,rk(*) , t(*) , re(*) , stifn(*) ,
74 . d1(*) , d2(*) , d3(*) ,
75 . vnew(mvsiz), deltax(mvsiz) , rho0(mvsiz), dvol(mvsiz),
76 . vd2(mvsiz) , vis(mvsiz),geo(npropg,*), dt2t, offg(*),
77 . mssa(*) , dmels(*) , ssp(mvsiz)
78 TYPE (BUF_LAY_),
TARGET :: BUFLY
82 INTEGER I,J,II,JPT,IPT,MX,JJ(6)
85 . AMU(MVSIZ), AMU2(MVSIZ), ESPE(MVSIZ),
86 . C1(MVSIZ), C2(MVSIZ), C3(MVSIZ), C4(MVSIZ),
87 . C5(MVSIZ), C6(MVSIZ), G(MVSIZ) , POLD(MVSIZ), DPDM(MVSIZ),
88 . a(mvsiz) , b(mvsiz) , pc(mvsiz), pnew(mvsiz), df(mvsiz),
92 .
DIMENSION(:),
POINTER :: sigp
93 TYPE(l_bufel_) ,
POINTER :: LBUF
114 pold(i)=(sig(i,1)+sig(i,2)+sig(i,3)) * third
124 df(i) =rho0(i)/rho(i)
125 amu(i) =one/df(i)-one
126 amu2(i)=
max(zero,amu(i))**2
127 espe(i)=df(i)*eint(i)/
max(em15,vnew(i))
134 . +c2(i)+two*c3(i)*
max(zero,amu(i))+three*c4(i)*amu(i)*amu(i)
136 . +(c5(i)+c6(i)*amu(i))*df(i)*df(i)*
137 . (psh(i)+c1(i)+(c2(i)+c4(i)*amu(i)*amu(i))*amu(i)+c3(i)*amu2(i)+
138 . (c5(i)+c6(i)*amu(i))*espe(i))
142 ssp(i)=sqrt(abs(dpdm(i))/rho0(i))
149 2 t, re, stifn, eint,
151 4 dvol, vd2, deltax, vis,
152 5 qold, ssp, mat, nc,
153 6 ngl, geo, pid, dt2t,
154 7 neltst, ityptst, offg, mssa,
155 8 dmels, nel, ity, jtur,
161 eint(i)=eint(i)+half*dvol(i)*(pold(i)-psh(i))*off(i)
162 espe(i)=df(i)*eint(i)/
max(em15,vnew(i))
166 a(i)=c1(i)+amu(i)*(c2(i)+c4(i)*amu(i)*amu(i))+c3(i
167 b(i)=c5(i)+c6(i)*amu(i)
172 pnew(i)=(a(i)+(espe(i)-psh(i)*dvv)*b(i))/(one
173 pnew(i)=
max(pnew(i),pc(i))*off(i)
177 eint(i)=eint(i) - half*dvol(i)*(pnew(i)+psh(i))
183 lbuf => bufly%LBUF(1,1,ipt)
184 sigp => bufly%LBUF(1,1,ipt)%SIG(1:nel*6)
187 sigp(jj(1)+i)= sigp(jj(1)+i)-pnew(i)
188 sigp(jj(2)+i)= sigp(jj(2)+i)-pnew(i)
189 sigp(jj(3)+i)= sigp(jj(3)+i)-pnew(i)
190 sigp(jj(4)+i)= sigp(jj(4)+i)
191 sigp(jj(5)+i)= sigp(jj(5)+i)
192 sigp(jj(6)+i)= sigp(jj(6)+i)
198 sig(i,1)=sig(i,1)+one_over_8*sigp(jj(1)+i)
199 sig(i,2)=sig(i,2)+one_over_8*sigp(jj(2)+i)
200 sig(i,3)=sig(i,3)+one_over_8*sigp(jj(3)+i)
201 sig(i,4)=sig(i,4)+one_over_8*sigp(jj(4)+i)
202 sig(i,5)=sig(i,5)+one_over_8*sigp(jj(5)+i)
203 sig(i,6)=sig(i,6)+one_over_8*sigp(jj(6)+i)
213 eint(i)=eint(i) /
max(em15,vol(i))
subroutine meos8(pm, off, sig, eint, rho, qold, vol, rk, t, re, stifn, nel, d1, d2, d3, vnew, deltax, rho0, dvol, vd2, vis, mat, nc, ngl, geo, pid, dt2t, neltst, ityptst, offg, mssa, dmels, bufly, ssp, ity, npt, jtur, jthe, jsms)
subroutine mqvisc8(pm, off, rho, rk, t, re, sti, eint, d1, d2, d3, vol, dvol, vd2, deltax, vis, qold, ssp, mat, nc, ngl, geo, pid, dt2t, neltst, ityptst, offg, mssa, dmels, nel, ity, jtur, jthe, jsms)