41 2 EINT, RHO, QOLD, VOL,
42 3 STIFN, DT2T, NELTST, ITYPTST,
43 4 OFFSET, NEL, OFFG, GEO,
45 6 AIRE, VOLN, VD2, DELTAX,
47 8 PNEW, PSH, Q, SSP_EQ,
49 A MUMAX, GAMA, MSSA, DMELS,
50 B D_MAX, SOLD1, SOLD2, SOLD3,
51 C SOLD4, SOLD5, SOLD6, RX,
53 E SZ, CONDE, VOL_AVG, DTEL,
54 F G_DT, IPM, RHOREF, RHOSP,
55 G EPSD, ITY, JTUR, JTHE,
56 H JHBE, JCVT, JSPH, ISMSTR,
57 I JSMS, NPG , SVIS, glob_therm,
64 USE prop_param_mod ,
only : n_var_igeo
68#include "implicit_f.inc"
81 INTEGER,
INTENT(IN) :: ISMSTR
82 INTEGER,
INTENT(IN) :: JSMS
83 INTEGER,
INTENT(IN) :: ITY
84 INTEGER,
INTENT(IN) :: JTUR
85 INTEGER,
INTENT(IN) :: JTHE
86 INTEGER,
INTENT(IN) :: JHBE
87 INTEGER,
INTENT(IN) :: JCVT
88 INTEGER,
INTENT(IN) :: JSPH,NPG
89 INTEGER,
INTENT(IN) :: NUMGEO
90 INTEGER MAT(NEL),NGL(NEL),PID(NEL),G_DT, IPM(NPROPMI,*)
91 INTEGER NELTST,ITYPTST,OFFSET,NEL
94 . PM(NPROPM,*), OFF(NEL), SIG(NEL,6), EINT(NEL), RHO(NEL), QOLD(NEL),
95 . VOL(NEL), STIFN(NEL),OFFG(NEL),GEO(NPROPG,*), GAMA(MVSIZ,6),
96 . VOLN(NEL), VD2(NEL), DELTAX(NEL), SSP(NEL), AIRE(NEL), VIS(NEL),
97 . PSH(NEL), PNEW(MVSIZ),Q(NEL) ,SSP_EQ(NEL), DVOL(NEL),MUMAX(NEL),
98 . D1(NEL), D2(NEL), D3(NEL), D4(NEL), D5(NEL), D6(NEL),
99 . MSSA(NEL), DMELS(NEL),D_MAX(NEL),EPSD(NEL),
100 . rx(nel),ry(nel),rz(nel),sx(nel),sy(nel),sz(nel),
101 . sold1(nel),sold2(nel),sold3(nel),sold4(nel),
102 . sold5(nel), sold6(nel), conde(nel), vol_avg(nel),
dtel(nel),
103 . rhoref(*) ,rhosp(*)
104 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
105 TYPE(l_bufel_) :: LBUF
106 type (glob_therm_) ,
intent(inout) :: glob_therm
107 integer,
dimension(n_var_igeo,numgeo),
intent(in) :: igeo
111 INTEGER I, IMAT,ISVIS
112 my_real e1, e2, e3, e4, e5, e6,bid1,bid2,bid3,facq0
113 my_real,
DIMENSION(NEL) :: r11,r12,r13,r21,r22,r23,r31,r32,r33,volg
122 epsd(i) =
max( abs(d1(i)), abs(d2(i)), abs(d3(i)),
123 . half*abs(d4(i)),half*abs(d5(i)),half*abs(d6(i)))
127 1 pm(1,imat),off, sig, eint,
128 2 lbuf%SIGA, lbuf%EPSA, gama, lbuf%DAM,
129 3 lbuf%ANG, lbuf%SF, lbuf%VK, lbuf%STRA,
130 4 lbuf%CRAK, lbuf%DSUM, lbuf%ROB, lbuf%SIGC,
131 5 lbuf%RK, lbuf%PLA, ngl, d1,
134 8 sx, sy, sz, lbuf%SEQ,
135 9 rho, lbuf%EPE, nel, r11,
136 a r12, r13, r21, r22,
137 b r23, r31, r32, r33,
142 IF (pm(56,mat(1)) == one)
143 .
CALL m24anim(lbuf%DAM,lbuf%ANG,lbuf%DGLO,nel,
144 . r11,r12,r13,r21,r22,
147 IF (jhbe == 24)
CALL m24dmax(lbuf%DAM,d_max,nel)
150 ssp(i)=sqrt(pm(24,imat)/pm(1,imat))
156 1 pm, off, rho, bid1,
157 2 bid2, ssp, bid3, stifn,
158 3 dt2t, neltst, ityptst, aire,
159 4 offg, geo, pid, voln,
160 5 vd2, deltax, vis, d1,
162 7 mat, ngl, q, ssp_eq,
163 8 vol, mssa, dmels, igeo,
164 9 facq0, conde,
dtel, g_dt,
165 a ipm, rhoref, rhosp, nel,
166 b ity, ismstr, jtur, jthe,
167 c jsms, npg , glob_therm)
169 volg(1:nel)=npg*voln(1:nel)
172 2 pid, ssp, aire, volg,
174 4 d5, d6, mat, isvis,
180 e1=d1(i)*(sold1(i)+sig(i
181 e2=d2(i)*(sold2(i)+sig(i,2)+svis(i,2))
182 e3=d3(i)*(sold3(i)+sig(i,3)+svis(i,3))
183 e4=d4(i)*(sold4(i)+sig(i,4)+svis(i,4))
184 e5=d5(i)*(sold5(i)+sig(i,5)+svis(i,5))
185 e6=d6(i)*(sold6(i)+sig(i,6)+svis(i,6))
187 . -(q(i)+qold(i))*dvol(i)*half
188 . +(e1+e2+e3+e4+e5+e6)*vol_avg(i)*dt1*half
190 eint(i)=eint(i)/vol(i)
195 1 pm, off, rho, bid1,
196 2 bid2, bid3, stifn, dt2t,
197 3 neltst, ityptst, offg, geo,
198 4 pid, mumax, ssp, voln,
199 5 vd2, deltax, vis, d1,
201 7 mat, ngl, q, ssp_eq,
202 8 g_dt,
dtel, nel, ity,
207 2 pid, ssp, aire, voln,
209 4 d5, d6, mat, isvis,
215 e1=d1(i)*(sold1(i)+sig(i,1)+svis(i,1))
216 e2=d2(i)*(sold2(i)+sig(i,2)+svis(i,2))
217 e3=d3(i)*(sold3(i)+sig(i,3)+svis(i,3))
218 e4=d4(i)*(sold4(i)+sig(i,4)+svis(i,4))
219 e5=d5(i)*(sold5(i)+sig(i,5)+svis(i,5))
220 e6=d6(i)*(sold6(i)+sig(i,6)+svis(i,6))
221 eint(i)=eint(i)+(e1+e2+e3+e4+e5+e6)*vol_avg(i)*dt1*half
222 eint(i)=eint(i)/vol(i)
subroutine conc24(pm, off, sig, eint, siga, epxa, gama, dam, ang, eps_f, vk0, strain, crak, damsum, rob, sigc, vk, pla, ngl, d1, d2, d3, d4, d5, d6, rx, ry, rz, sx, sy, sz, seq, rho, epsvp, nel, r11, r12, r13, r21, r22, r23, r31, r32, r33, jcvt, jsph)
subroutine m24law(lbuf, pm, off, sig, eint, rho, qold, vol, stifn, dt2t, neltst, ityptst, offset, nel, offg, geo, pid, mat, ngl, ssp, aire, voln, vd2, deltax, vis, d1, d2, d3, pnew, psh, q, ssp_eq, dvol, d4, d5, d6, mumax, gama, mssa, dmels, d_max, sold1, sold2, sold3, sold4, sold5, sold6, rx, ry, rz, sx, sy, sz, conde, vol_avg, dtel, g_dt, ipm, rhoref, rhosp, epsd, ity, jtur, jthe, jhbe, jcvt, jsph, ismstr, jsms, npg, svis, 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 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)