35 2 RHO, QOLD, VOL, STIFN,
36 3 DT2T, NELTST, ITYPTST, OFFG,
37 4 GEO, PID, MUMAX, MAT,
38 5 NGL, SSP, DVOL, AIRE,
39 6 VNEW, VD2, DELTAX, VIS,
42 9 QNEW, SSP_EQ, SOLD1, SOLD2,
43 A SOLD3, SOLD4, SOLD5, SOLD6,
44 B MSSA, DMELS, CONDE, AMU,
45 C VOL_AVG, DTEL, G_DT, NEL,
46 D IPM, RHOREF, RHOSP, ITY,
47 E JTUR, JTHE, JSPH, ISMSTR,
48 F JSMS, NPG , glob_therm)
56#include "implicit_f.inc"
69 INTEGER,
INTENT(IN) :: ISMSTR
70 INTEGER,
INTENT(IN) :: JSMS
71 INTEGER,
INTENT(IN) :: ITY
72 INTEGER,
INTENT(IN) :: JTUR
73 INTEGER,
INTENT(IN) :: JTHE
74 INTEGER,
INTENT(IN) :: JSPH,NPG
76 INTEGER ,ITYPTST,PID(*),,NEL
77 INTEGER (*),NGL(*), IPM(NPROPMI,*)
82 . PM(NPROPM,*), OFF(*), SIG(NEL,6), EINT(*), RHO(*), QOLD(*),
83 . VOL(*),STIFN(*), OFFG(*),GEO(NPROPG,*),(*)
85 . vnew(*), vd2(*), deltax(*), ssp(*), aire(*), vis(*),
86 . psh(*), pnew(*),qnew(*) ,ssp_eq(*), dvol(*),
87 . sold1(*), sold2(*), sold3(*), sold4(*), sold5(*), sold6(*),
88 . d1(*), d2(*), d3(*), d4(*), d5(*), d6(*),
89 . mssa(*), dmels(*),conde(*),amu(*),vol_avg(*),
dtel(*), rhoref(*), rhosp(*)
90 type (glob_therm_) ,
intent(inout) :: glob_therm
97 . g(mvsiz), g1(mvsiz), g2(mvsiz),
100 . e1, e2, e3, e4, e5, e6, einc, p2,
101 . bid1, bid2, bid3, dta, ym, dpdmp,facq0,
112 g(i) =pm(22,mx)*off(i)
114 lmb(i) =(three*c1(i)-two*g(i))
127 ssp(i)=sqrt((onep333*g(i)+c1(i))/rho0(i))
132 p =-third*(sig(i,1)+sig(i,2)+sig(i,3))
133 dav=-third*(d1(i)+d2(i)+d3(i))
138 1 pm, off, rho, bid1,
139 2 bid2, ssp, bid3, stifn,
140 3 dt2t, neltst, ityptst, aire,
141 4 offg, geo, pid, vnew,
142 5 vd2, deltax, vis, d1,
144 7 mat, ngl, qnew, ssp_eq,
145 8 vol, mssa, dmels, ibid,
146 9 facq0, conde,
dtel, g_dt,
147 a ipm, rhoref, rhosp, nel,
148 b ity, ismstr, jtur, jthe,
149 c jsms, npg , glob_therm)
152 1 pm, off, rho, bid1,
153 2 bid2, bid3, stifn, dt2t,
154 3 neltst, ityptst, offg, geo,
155 4 pid, mumax, ssp, vnew,
156 5 vd2, deltax, vis, d1,
158 7 mat, ngl, qnew, ssp_eq,
159 8 g_dt,
dtel, nel, ity,
166 epsm = third*(d1(i)+d2(i)+d3(i))
167 sig(i,1)=sig(i,1)+ (two*g(i)*d1(i)+lmb(i)*epsm) *dt1
168 sig(i,2)=sig(i,2)+ (two*g(i)*d2(i)+lmb(i)*epsm) *dt1
169 sig(i,3)=sig(i,3)+ (two*g(i)*d3(i)+lmb(i)*epsm) *dt1
170 sig(i,4)=sig(i,4)+ g(i)*d4(i) *dt1
171 sig(i,5)=sig(i,5)+ g(i)*d5(i) *dt1
172 sig(i,6)=sig(i,6)+ g(i)*d6(i) *dt1
173 pnew(i) =- (sig(i,1)+sig(i,2)+sig(i,3))
174 p2 = -(sold1(i)+sig(i,1)+sold2(i)+sig(i,2)+sold3(i)+sig(i,3))* third
175 e1=d1(i)*(sold1(i)+sig(i,1)+p2)
176 e2=d2(i)*(sold2(i)+sig(i,2)+p2)
177 e3=d3(i)*(sold3(i)+sig(i,3)+p2)
178 e4=d4(i)*(sold4(i)+sig(i,4))
179 e5=d5(i)*(sold5(i)+sig(i,5))
180 e6=d6(i)*(sold6(i)+sig(i,6))
181 einc= vol_avg(i)*(e1+e2+e3+e4+e5+e6)*dta - half*dvol(i)*(qold(i)+qnew(i)+p2)
182 eint(i)=(eint(i)+einc*off(i)) /
max(em15,vol(i))
subroutine m1lawi(pm, off, sig, eint, rho, qold, vol, stifn, dt2t, neltst, ityptst, offg, geo, pid, mumax, mat, ngl, ssp, dvol, aire, vnew, vd2, deltax, vis, d1, d2, d3, d4, d5, d6, pnew, psh, qnew, ssp_eq, sold1, sold2, sold3, sold4, sold5, sold6, mssa, dmels, conde, amu, vol_avg, dtel, g_dt, nel, ipm, rhoref, rhosp, ity, jtur, jthe, jsph, ismstr, jsms, npg, glob_therm)
subroutine mdtsph(pm, off, rho, rk, t, re, sti, dt2t, neltst, ityptst, offg, geo, pid, mumax, ssp, vol, vd2, deltax, vis, d1, d2, d3, pnew, psh, mat, ngl, qvis, ssp_eq, g_dt, dtsph, nel, ity, jtur, jthe)
subroutine mqviscb(pm, off, rho, rk, temp, ssp, re, sti, dt2t, neltst, ityptst, aire, offg, geo, pid, vol, vd2, deltax, vis, d1, d2, d3, pnew, psh, mat, ngl, qvis, ssp_eq, vol0, mssa, dmels, igeo, facq0, conde, dtel, g_dt, ipm, rhoref, rhosp, nel, ity, ismstr, jtur, jthe, jsms, npg, glob_therm)