31 SUBROUTINE dt37law (PM,GEO,PID,MAT, BUFMAT, IPM, DELTAX, AIRE, VOL, DTX)
39#include "implicit_f.inc"
47#include "vect01_c.inc"
52 my_real,
INTENT(IN) :: pm(npropm, *), geo(npropg, *), aire(*), vol(*)
53 my_real,
INTENT(INOUT) :: dtx(*)
54 my_real,
INTENT(IN),
DIMENSION(:),
TARGET :: bufmat(*), deltax(*)
55 INTEGER,
INTENT(IN) :: PID(*),MAT(*),IPM(NPROPMI, *)
59 INTEGER :: I, MX, IADBUF,IFLG(MVSIZ)
60 DIMENSION(:)POINTER :: uparam
63 . ssp(mvsiz) , dpdm(mvsiz) , rho0(mvsiz) ,
65 . mas(mvsiz), mu1p1(mvsiz),mu1p2(mvsiz),rho1(mvsiz),rho2(mvsiz),
66 . gam,rho10,rho20,p0,vfrac1,vfrac2,uvar1,a1,r1,visa1,visb1,visa2,visb2,
67 . b1,b2,mas1,mas2,ssp1,ssp2,vis(mvsiz),a
69 INTEGER ISOLVER,NUPARAM
77 iadbuf = ipm(7,mat(1))
78 nuparam = ipm(9,mat(1))
79 uparam =>bufmat(iadbuf:iadbuf+nuparam-1)
94 rho0(i)= rho10 * a1 + (one-a1)*rho20
95 mas(i)= rho0(i)*vol(i)
113 IF (one-a1 < em10)
THEN
119 a = (rho0(i)-rho2(i))/(rho1(i)-rho2(i))
121 IF(vfrac1<em20)vfrac1=zero
124 ssp2=gam*p0*(rho2(i)/rho20)**gam
137 ssp(i) = sqrt(one / ssp(i) / rho0(i))
140 vis(i)=(b1*rho1(i)*visa1 + b2*rho2(i)*visa2)/rho0(i)
155 CALL dtel(ssp,pm,geo,pid,mat, rho0, vis, deltax, aire, vol, dtx)
157 CALL dtsph(ssp,pm,geo,pid,mat, rho0, vis, deltax, vol, dtx)
subroutine dt37law(pm, geo, pid, mat, bufmat, ipm, deltax, aire, vol, dtx)
subroutine dtel(ssp, pm, geo, pid, mat, rho0, vis, deltax, aire, vol, dtx)
subroutine dtsph(ssp, pm, geo, pid, mat, rho0, vis, deltax, vol, dtx)