40 2 EINT, RHO, QOLD, VOL,
41 3 STIFN, DT2T, NELTST, ITYPTST,
42 4 OFFSET, NEL, OFFG, GEO,
44 6 AIRE, VOLN, VD2, DELTAX,
46 8 PNEW, PSH, Q, SSP_EQ,
48 A MUMAX, GAMA, MSSA, DMELS,
49 B D_MAX, SOLD1, SOLD2, SOLD3,
50 C SOLD4, SOLD5, SOLD6, RX,
52 E SZ, CONDE, VOL_AVG, DTEL,
53 F G_DT, IPM, RHOREF, RHOSP,
54 G EPSD, ITY, JTUR, JTHE,
55 H JHBE, JCVT, JSPH, ISMSTR,
56 I JSMS, NPG , SVIS, glob_therm)
65#include
"implicit_f.inc"
78 INTEGER,
INTENT(IN) :: ISMSTR
79 INTEGER,
INTENT(IN) :: JSMS
80 INTEGER,
INTENT(IN) :: ITY
81 INTEGER,
INTENT(IN) :: JTUR
82 INTEGER,
INTENT(IN) :: JTHE
83 INTEGER,
INTENT(IN) :: JHBE
84 INTEGER,
INTENT(IN) :: JCVT
85 INTEGER,
INTENT(IN) :: JSPH,NPG
86 INTEGER MAT(NEL),NGL(NEL),PID(NEL),G_DT, IPM(NPROPMI,*)
87 INTEGER NELTST,ITYPTST,OFFSET,NEL
90 . PM(NPROPM,*), (NEL), SIG(NEL,6), EINT(NEL), RHO(NEL), QOLD(NEL),
91 . VOL(NEL), STIFN(NEL),OFFG(NEL),GEO(NPROPG,*), GAMA(MVSIZ,6),
92 . VOLN(NEL), VD2(NEL), DELTAX(NEL), SSP(NEL), AIRE(NEL), VIS(NEL),
93 . PSH(NEL), PNEW(MVSIZ),Q(NEL) ,SSP_EQ(NEL), DVOL(NEL),MUMAX(),
94 . D1(NEL), D2(NEL), D3(NEL), D4(NEL), D5(NEL), D6(NEL),
95 . MSSA(NEL), DMELS(NEL),D_MAX(),EPSD(NEL),
96 . rx(nel),ry(nel),rz(nel),sx(nel),sy(nel),sz(nel),
97 . sold1(nel),sold2(nel),sold3(nel),sold4(nel),
98 . sold5(nel), sold6(nel), conde
100 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
101 TYPE(l_bufel_) :: LBUF
102 type (glob_therm_) ,
intent(inout) :: glob_therm
106 INTEGER I, IMAT,IBID,ISVIS
107 my_real e1, e2, e3, e4, e5, e6,bid1,bid2,bid3,facq0
108 my_real,
DIMENSION(NEL) :: r11,r12,r13,r21,r22,r23,r31,r32,r33,volg
117 epsd(i) =
max( abs(d1(i)), abs(d2(i)), abs(d3(i)),
118 . half*abs(d4(i)),half*abs(d5(i)),half*abs(d6(i)))
122 1 pm(1,imat),off, sig, eint,
123 2 lbuf%SIGA, lbuf%EPSA, gama, lbuf%DAM,
124 3 lbuf%ANG, lbuf%SF, lbuf%VK, lbuf%STRA,
125 4 lbuf%CRAK, lbuf%DSUM, lbuf%ROB, lbuf%SIGC,
126 5 lbuf%RK, lbuf%PLA, ngl, d1,
129 8 sx, sy, sz, lbuf%SEQ,
130 9 rho, lbuf%EPE, nel, r11,
131 a r12, r13, r21, r22,
132 b r23, r31, r32, r33,
137 IF (pm(56,mat(1)) == one)
138 .
CALL m24anim(lbuf%DAM,lbuf%ANG,lbuf%DGLO,nel,
139 . r11,r12,r13,r21,r22,
142 IF (jhbe == 24)
CALL m24dmax(lbuf%DAM,d_max,nel)
145 ssp(i)=sqrt(pm(24,imat)/pm(1,imat))
151 1 pm, off, rho, bid1,
152 2 bid2, ssp, bid3, stifn,
153 3 dt2t, neltst, ityptst, aire,
154 4 offg, geo, pid, voln,
155 5 vd2, deltax, vis, d1,
157 7 mat, ngl, q, ssp_eq,
158 8 vol, mssa, dmels, ibid,
159 9 facq0, conde,
dtel, g_dt,
160 a ipm, rhoref, rhosp, nel,
161 b ity, ismstr, jtur, jthe,
162 c jsms, npg , glob_therm)
164 volg(1:nel)=npg*voln(1:nel)
167 2 pid, ssp, aire, volg,
169 4 d5, d6, mat, isvis,
175 e1=d1(i)*(sold1(i)+sig(i,1)+svis(i,1))
176 e2=d2(i)*(sold2(i)+sig(i,2)+svis(i,2))
177 e3=d3(i)*(sold3(i)+sig(i,3)+svis(i,3))
178 e4=d4(i)*(sold4(i)+sig(i,4)+svis(i,4))
179 e5=d5(i)*(sold5(i)+sig(i,5)+svis(i,5))
180 e6=d6(i)*(sold6(i)+sig(i,6)+svis(i,6))
182 . -(q(i)+qold(i))*dvol(i)*half
183 . +(e1+e2+e3+e4+e5+e6)*vol_avg(i)*dt1*half
185 eint(i)=eint(i)/vol(i)
190 1 pm, off, rho, bid1,
191 2 bid2, bid3, stifn, dt2t,
192 3 neltst, ityptst, offg, geo,
193 4 pid, mumax, ssp, voln,
194 5 vd2, deltax, vis, d1,
196 7 mat, ngl, q, ssp_eq,
197 8 g_dt,
dtel, nel, ity,
202 2 pid, ssp, aire, voln,
204 4 d5, d6, mat, isvis,
210 e1=d1(i)*(sold1(i)+sig(i,1)+svis(i,1))
211 e2=d2(i)*(sold2(i)+sig(i,2)+svis(i,2))
212 e3=d3(i)*(sold3(i)+sig(i,3)+svis(i,3))
213 e4=d4(i)*(sold4(i)+sig(i,4)+svis(i,4))
214 e5=d5(i)*(sold5(i)+sig(i,5)+svis(i,5))
215 e6=d6(i)*(sold6(i)+sig(i,6)+svis(i,6))
216 eint(i)=eint(i)+(e1+e2+e3+e4+e5+e6)*vol_avg(i)*dt1*half
217 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)
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)