31 2 GV ,TIMESTEP,RHO0 ,OFF ,DIR ,
32 3 EPSPXX ,EPSPYY ,EPSPXY ,EPSPYZ ,EPSPZX ,
33 4 SIGVXX ,SIGVYY ,SIGVXY ,SIGVYZ ,SIGVZX ,
34 5 SIGV ,SOUNDSP ,VARI ,IGTYP )
38#include "implicit_f.inc"
71 INTEGER NEL ,NPRONY,IGTYP
73 . TIME,TIMESTEP,KV,GV(NPRONY),BETA(NPRONY),
74 . RHO0(*),EPSPXX(*),EPSPYY(*),
75 . epspxy(*),epspyz(*),epspzx(*),sigv(nel,5),dir(nel,2)
80 . sigvxx(*),sigvyy(*),
81 . sigvxy(*),sigvyz(*),sigvzx(*),
87 . vari(nel,*) , off(*)
104 . cc,g1,dav,epxx(mvsiz),epyy(mvsiz),epzz(mvsiz),svxx,
127 aa(i,j)= exp(-beta(j)*timestep
128 bb(i,j)=timestep*gv(j)*exp(-half*beta(j)*timestep)
132 h03 = vari(i, (j - 1)*6 + 3)
133 a1(i) = a1(i) + aa(i,j)*h03
134 a2(i) = a2(i) + bb(i,j)
141 fac = one/
max(em20,two_third*a2(i) + kv)
142 epspzz(i) = -a1(i)+(third*a2(i)-kv)*(epspxx(i)+epspyy(i))
143 epspzz(i)= fac*epspzz(i)
148 dav = third*(epspxx(i) + epspyy(i) + epspzz(i))
151 epxx(i) = epspxx(i) - dav
152 epyy(i) = epspyy(i) - dav
153 epzz(i) = epspzz(i) - dav
159 h01 = vari(i, (j - 1)*6 + 1)
160 h02 = vari(i, (j - 1)*6 + 2)
161 h03 = vari(i, (j - 1)*6 + 3)
162 h04 = vari(i, (j - 1)*6 + 4)
163 h05 = vari(i, (j - 1)*6 + 5)
164 h06 = vari(i, (j - 1)*6 + 6)
167 h(i,1,j) = aa(i,j)*h01 + bb(i,j)*epxx(i)
168 h(i,2,j) = aa(i,j)*h02 + bb(i,j)*epyy
169 h(i,3,j) = aa(i,j)*h03 + bb(i,j)*epzz(i)
170 h(i,4,j) = aa(i,j)*h04 + half*bb(i,j)*epspxy(i)
171 h(i,5,j) = aa(i,j)*h05 + half*bb(i,j)*epspyz(i)
172 h(i,6,j) = aa(i,j)*h06 + half*bb(i,j)*epspzx(i)
175 vari(i, (j - 1)*6 + 1) = h(i,1,j)
176 vari(i, (j - 1)*6 + 2) = h(i,2,j)
177 vari(i, (j - 1)*6 + 3) = h(i,3,j)
178 vari(i, (j - 1)*6 + 4) = h(i,4,j)
179 vari(i, (j - 1)*6 + 5) = h(i,5,j)
180 vari(i, (j - 1)*6 + 6) = h(i,6,j)
193 s(i,1) = s(i,1) + h(i,1,j)
194 s(i,2) = s(i,2) + h(i,2,j)
196 s(i,4) = s(i,4) + h(i,4,j)
197 s(i,5) = s(i,5) + h(i,5,j)
198 s(i,6) = s(i,6) + h(i,6,j)
202 sigvxx(i) = s(i,1) - p(i)
203 sigvyy(i) = s(i,2) - p(i)
210 sigvxx(i) = sigvxx(i)*off(i)
211 sigvyy(i) = sigvyy(i)*off(i)
212 sigvxy(i) = sigvxy(i)*off(i)
213 sigvyz(i) = sigvyz(i)*off(i)
214 sigvzx(i) = sigvzx(i)*off(i)
216 sigv(i,1) = sigvxx(i)
217 sigv(i,2) = sigvyy(i)
218 sigv(i,3) = sigvxy(i)
219 sigv(i,4) = sigvyz(i)
220 sigv(i,5) = sigvzx(i)
222 soundsp(i) = sqrt(soundsp(i)**2 + g1/rho0(i))
230 sigvxx(i) = sigv(i,1)
231 sigvyy(i) = sigv(i,2)
232 sigvxy(i) = sigv(i,3)
233 sigvyz(i) = sigv(i,4)
234 sigvzx(i) = sigv(i,5)
subroutine prony25c(nel, nprony, beta, kv, gv, timestep, rho0, off, dir, epspxx, epspyy, epspxy, epspyz, epspzx, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, sigv, soundsp, vari, igtyp)