36 2 RHO, QOLD, VOL, STIFN,
37 3 DT2T, NELTST, ITYPTST, OFFG,
38 4 GEO, PID, MUMAX, MAT,
39 5 NGL, SSP, DVOL, AIRE,
40 6 VNEW, VD2, DELTAX, VIS,
43 9 QNEW, SSP_EQ, SOLD1, SOLD2,
44 A SOLD3, SOLD4, SOLD5, SOLD6,
45 B MSSA, DMELS, CONDE, AMU,
46 C VOL_AVG, DTEL, G_DT, NEL,
47 D IPM, RHOREF, RHOSP, ITY,
48 E JTUR, JTHE, JSPH, ISMSTR,
49 F JSMS, NPG , glob_therm,
55 USE prop_param_mod ,
only : n_var_igeo
59#include "implicit_f.inc"
72 INTEGER,
INTENT(IN) :: ISMSTR
73 INTEGER,
INTENT(IN) :: JSMS
74 INTEGER,
INTENT(IN) :: ITY
75 INTEGER,
INTENT(IN) :: JTUR
76 INTEGER,
INTENT(IN) :: JTHE
77 INTEGER,
INTENT(IN) :: JSPH,NPG
78 INTEGER,
INTENT(IN) :: NUMGEO
80 INTEGER NELTST,ITYPTST,PID(*),G_DT,NEL
81 INTEGER MAT(*),NGL(*), IPM(NPROPMI,*)
85 . PM(NPROPM,*), OFF(*), SIG(NEL,6), EINT(*), RHO(*), QOLD(*),
86 . VOL(*),STIFN(*), OFFG(*),GEO(NPROPG,*),MUMAX(*)
88 . vnew(*), vd2(*), deltax(*), ssp(*), aire(*), vis(*),
89 . psh(*), pnew(*),qnew(*) ,ssp_eq(*), dvol(*),
90 . sold1(*), sold2(*), sold3(*), sold4(*), sold5(*), sold6(*),
91 . d1(*), d2(*), d3(*), d4(*), d5(*), d6(*),
92 . mssa(*), dmels(*),conde(*),amu(*),vol_avg(*),
dtel(*), rhoref(*), rhosp(*)
93 type (glob_therm_) ,
intent(inout) :: glob_therm
94 integer,
dimension(n_var_igeo,numgeo),
intent(in) :: igeo
101 . g(mvsiz), g1(mvsiz), g2(mvsiz),
104 . e1, e2, e3, e4, e5, e6, einc, p2,
105 . bid1, bid2, bid3, dta,facq0,
114 g(i) =pm(22,mx)*off(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))
134 sig(i,1)=sig(i,1)+p+g2(i)*(d1(i)+dav)
135 sig(i,2)=sig(i,2)+p+g2(i)*(d2(i)+dav)
136 sig(i,3)=sig(i,3)+p+g2(i)*(d3(i)+dav)
137 sig(i,4)=sig(i,4)+g1(i)*d4(i)
138 sig(i,5)=sig(i,5)+g1(i)*d5(i)
139 sig(i,6)=sig(i,6)+g1(i)*d6(i)
144 1 pm, off, rho, bid1,
145 2 bid2, ssp, bid3, stifn,
146 3 dt2t, neltst, ityptst, aire,
147 4 offg, geo, pid, vnew,
148 5 vd2, deltax, vis, d1,
150 7 mat, ngl, qnew, ssp_eq,
151 8 vol, mssa, dmels, igeo,
152 9 facq0, conde,
dtel, g_dt,
153 a ipm, rhoref, rhosp, nel,
154 b ity, ismstr, jtur, jthe,
155 c jsms, npg , glob_therm)
158 1 pm, off, rho, bid1,
159 2 bid2, bid3, stifn, dt2t,
160 3 neltst, ityptst, offg, geo,
161 4 pid, mumax, ssp, vnew,
162 5 vd2, deltax, vis, d1,
164 7 mat, ngl, qnew, ssp_eq,
165 8 g_dt,
dtel, nel, ity,
173 sig(i,1)=(sig(i,1)-pnew(i))*off(i)
174 sig(i,2)=(sig(i,2)-pnew(i))*off(i)
175 sig(i,3)=(sig(i,3)-pnew(i))*off(i)
176 sig(i,4)=sig(i,4)*off(i)
177 sig(i,5)=sig(i,5)*off(i)
178 sig(i,6)=sig(i,6)*off(i)
179 p2 = -(sold1(i)+sig(i,1)+sold2(i)+sig(i,2)+sold3(i)+sig(i,3))* third
180 e1=d1(i)*(sold1(i)+sig(i,1)+p2)
181 e2=d2(i)*(sold2(i)+sig(i,2)+p2)
182 e3=d3(i)*(sold3(i)+sig(i,3)+p2)
183 e4=d4(i)*(sold4(i)+sig(i,4))
184 e5=d5(i)*(sold5(i)+sig(i,5))
185 e6=d6(i)*(sold6(i)+sig(i,6))
186 einc= vol_avg(i)*(e1+e2+e3+e4+e5+e6)*dta - half*dvol(i)*(qold(i)+qnew(i)+p2)
187 eint(i)=(eint(i)+einc*off(i)) /
max(em15,vol(i))
subroutine m1law(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, numgeo, igeo)
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 mmain(pm, elbuf_str, ix, nix, x, geo, iparg, nel, skew, bufmat, ipart, ipartel, nummat, matparam, imat, ipm, ngl, pid, npf, tf, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, rx, ry, rz, sx, sy, sz, gama, voln, dvol, s1, s2, s3, s4, s5, s6, dxx, dyy, dzz, d4, d5, d6, wxx, wyy, wzz)
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)