75
76
77
78 USE elbufdef_mod
84 USE matparam_def_mod
86 use glob_therm_mod
87
88
89
90#include "implicit_f.inc"
91
92
93
94#include "mvsiz_p.inc"
95
96
97
98#include "com01_c.inc"
99#include "com04_c.inc"
100#include "param_c.inc"
101#include "scr03_c.inc"
102#include "scr12_c.inc"
103#include "scr17_c.inc"
104#include "scry_c.inc"
105#include "sphcom.inc"
106#include "vect01_c.inc"
107
108
109
110 INTEGER IXS(NIXS,NUMELS),IPARG(NPARG,NGROUP),
111 . IPARG_GR(NPARG),IPARTS(*),IGEO(NPROPGI,NUMGEO),
112 . IPM(NPROPMI,NUMMAT),IPART(LIPART1,*),PTSOL(*),
113 . NG,NSIGI ,NVC,NEL,IUSER, NSIGS, NPF(*),
114 . STRSGLOB(*),STRAGLOB(*),FAIL_INI(*),
115 . KXSP(NISP,*), IPARTSP(*), NOD2SP(*), SOL2SPH(2,*), IRST(3,*),
116 . PERTURB(NPERTURB)
117 my_real mas(*), pm(npropm,nummat), x(3,numnod),geo(npropg,numgeo),
118 . veul(lveul,*), dtelem(*),sigi(nsigs,*),skew(lskew,*),stifn(*),
119 . partsav(20,*), v(*), mss(8,*),
120 . sigsp(nsigi,*),msnf(*), mssf(8,*), wma(*),
121 . volnod(*), bvolnod(*), vns(8,*), bns(8,*),
122 . in(*),vr(*), ins(8,*),bufmat(*),
123 . mcp(*), mcps(8,*), temp(*),
124 . xrefs(8,3,*), tf(*), mssa(*),
125 . spbuf(nspbuf,*),rnoise(nperturb,*)
126 TYPE(ELBUF_STRUCT_), TARGET :: ELBUF_STR
127 INTEGER,INTENT(IN) :: ILOADP(SIZLOADP,*)
128 my_real,
INTENT(IN) :: facload(lfacload,*)
129 TYPE(DETONATORS_STRUCT_)::DETONATORS
130 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
131 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
132 type (glob_therm_) ,intent(in) :: glob_therm
133
134
135
136 INTEGER I,J, NF1, NCC, IBID, JHBE, IREP,IGTYP, NUVAR,NUVARR,IDEF,
137 . IR,IS,IT,IPT,LVLOC,IPID1,NPTR,NPTS,NPTT,NLAY,NDDIM,
138 . NSPHDIR, NCELF, NCELL,L_PLA,L_SIGB,IBOLTP
139 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ),
140 . IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),
141 . IX5(MVSIZ),IX6(MVSIZ),IX7(MVSIZ),IX8(MVSIZ)
143 . v8loc(51,mvsiz),volu(mvsiz),dtx(mvsiz),
144 . x1(mvsiz),x2(mvsiz),x3(mvsiz),x4(mvsiz),x5(mvsiz),x6(mvsiz),
145 . x7(mvsiz),x8(mvsiz),y1(mvsiz),y2(mvsiz),y3(mvsiz),y4(mvsiz),
146 . y5(mvsiz),y6(mvsiz),y7(mvsiz),y8(mvsiz),z1(mvsiz),z2(mvsiz),
147 . z3(mvsiz),z4(mvsiz),z5(mvsiz),z6(mvsiz),z7(mvsiz),z8(mvsiz),
148 . rx(mvsiz) ,ry(mvsiz) ,rz(mvsiz) ,sx(mvsiz) ,
149 . sy(mvsiz) ,sz(mvsiz) ,tx(mvsiz) ,ty(mvsiz) ,tz(mvsiz) ,
150 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
151 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
152 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
153 . f1x(mvsiz) ,f1y(mvsiz) ,f1z(mvsiz) ,
154 . f2x(mvsiz) ,f2y(mvsiz) ,f2z(mvsiz),rhocp(mvsiz),temp0(mvsiz),
155 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
156 . py1(mvsiz),py2(mvsiz),py3
157 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
158 . rhof(mvsiz),
alpha(mvsiz), aire(mvsiz),rho0(mvsiz)
161 DOUBLE PRECISION
162 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
163 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
164 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
165 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
166 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
167 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ)
169
170 CHARACTER(LEN=NCHARTITLE)::TITR1
171
172 parameter(lvloc = 51)
173
174 TYPE(L_BUFEL_) ,POINTER :: LBUF
175 TYPE(G_BUFEL_) ,POINTER :: GBUF
176 TYPE(BUF_MAT_) ,POINTER :: MBUF
177 TYPE(BUF_LAY_) ,POINTER :: BUFLY
178 TYPE(BUF_FAIL_) ,POINTER:: FBUF
179 my_real,
DIMENSION(:),
POINTER :: uvarf
180
181
182
183 gbuf => elbuf_str%GBUF
184 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
185 mbuf => elbuf_str%BUFLY(1)%MAT(1,1,1)
186 fbuf => elbuf_str%BUFLY(1)%FAIL(1,1,1)
187 bufly => elbuf_str%BUFLY(1)
188 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
189 nptr = elbuf_str%NPTR
190 npts = elbuf_str%NPTS
191 nptt = elbuf_str%NPTT
192 nlay = elbuf_str%NLAY
193 l_pla = elbuf_str%BUFLY(1)%L_PLA
194 l_sigb= elbuf_str%BUFLY(1)%L_SIGB
195
196 jhbe = iparg_gr(23)
197 irep = iparg_gr(35)
198 jcvt = iparg_gr(37)
199 igtyp = iparg_gr(38)
200 IF (jcvt==1.AND.isorth/=0) jcvt=2
201 idef = 0
202 bid = zero
203 ibid = 0
204 nddim = 0
205 nf1=nft+1
206 volu(1:nel)=zero
207
208 iboltp = iparg_gr(72)
209
210 DO i=1,nel
211 rhocp(i) = pm(69,ixs(1,nft+i))
212 temp0(i) = pm(79,ixs(1,nft+i))
213 rho0(i) = pm(1,ixs(1,nft+i))
214
215 rhof(i) = pm(192,ixs(1,nft+i))
216 alpha(i) = pm(193,ixs(1,nft+i))
217 ENDDO
218 IF (ismstr==10.OR.ismstr==12) THEN
219
220 CALL scoor3(x,xrefs(1,1,nf1),ixs(1,nf1),geo ,mat ,pid ,ngl ,
221 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
222 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
223 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
224 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
225 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
226 . e1x ,e1y
227 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,temp0,temp
228 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
229 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
230 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
231 IF (nsigi > 0 ) THEN
233 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
234 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8
235 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
236 END IF
237
239 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
240 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
241 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
242 . gbuf%JAC_I ,nel)
243 END IF
244
245 IF (jcvt == 0) THEN
246 CALL scoor3(x,xrefs(1,1,nf1),ixs(1,nf1),geo ,mat ,pid ,ngl ,
247 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
248 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
249 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
250 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
251 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
252 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
253 .
254 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
255 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
256 . zd1 ,zd2
257 ELSE
258 CALL srcoor3(x,xrefs(1,1,nf1),ixs(1,nf1),geo ,mat ,pid ,ngl ,jhbe ,
259 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
260 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
261 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
262 . z1 ,z2 ,z3 ,z4 ,z5 ,z6
263 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
264 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
265 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,temp0,temp ,glob_therm%NINTEMP,
266 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
267 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6
268 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
269
270 ENDIF
271
272
273
274 IF (jthe == 0 .and. glob_therm%NINTEMP > 0) THEN
275 DO i=1,nel
276 tempel(i) = one_over_8 *(temp(ixs(2,i)) + temp(ixs(3,i))
277 . + temp(ixs(4,i)) + temp(ixs(5,i))
278 . + temp(ixs(6,i)) + temp(ixs(7,i))
279 . + temp(ixs(8,i)) + temp(ixs(9,i)))
280 ENDDO
281 ELSE
282 tempel(1:nel) = temp0(1:nel)
283 END IF
284
285
286 IF (isorth == 1)
287 .
CALL smorth3(pid ,geo ,igeo ,skew ,irep ,gbuf%GAMA ,
288 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
289 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
290 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,nsigi,sigsp,nsigs,
291 . sigi ,ixs ,x ,jhbe ,ptsol,nel ,iparg_gr(28))
292
293 CALL sveok3(nvc,8, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
294
295 IF(jeul /= 0.AND.integ8 /= 0) THEN
296 CALL sderi3b(gbuf%VOL,veul(1,nf1),lveul,geo,igeo ,ngl ,pid ,
297 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
298 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
299 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
300 . volu, deltax,nel ,jeul )
301 ELSEIF (npt == 8) THEN
302 CALL sderi3b(gbuf%VOL,v8loc ,lvloc,geo ,igeo ,ngl ,pid ,
303 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
304 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
305 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
306 . volu, deltax,nel ,jeul )
307 ELSE
308
309 IF (jhbe == 24) THEN
310 IF(
ASSOCIATED(lbuf%VOL0DP))
CALL szderi3(
311 . gbuf%VOL ,veul(1,nf1),geo
312 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
313 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
314 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
315 . px1 ,px2 ,px3 ,px4 ,
316 . py1 ,py2 ,py3 ,py4 ,
317 . pz1 ,pz2 ,pz3 ,pz4 ,
318 . rx ,ry ,rz ,sx ,sy ,sz ,tz ,
319 . ngl ,pid ,volu ,lbuf%VOL0DP,nel ,jeul ,nxref)
320 ELSE
321 IF(
ASSOCIATED(lbuf%VOL0DP))
CALL sderi3(
322 . gbuf%VOL ,veul(1,nf1),geo ,igeo ,
323 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
324 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
325 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
326 . rx ,ry ,rz ,sx ,sy ,sz ,ngl ,pid ,
327 . px1 ,px2 ,px3 ,px4 ,py1 ,py2 ,py3 ,py4 ,
328 . pz1 ,pz2 ,pz3 ,pz4, volu ,lbuf%VOL0DP,nel ,jeul,
329 . nxref,imulti_fvm)
330 ENDIF
332 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
333 . y1 ,y2 ,y3 ,y4 ,y5 ,y6
334 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8,
335 . deltax, volu)
336 ENDIF
337 IF(jeul /= 0)THEN
338 CALL edlen3(veul(1,nf1), deltax)
340 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
341 . y1 ,y2 ,y3 ,y4 ,y5 ,y6
342 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 )
343 ENDIF
344
345 ipt=1
346 DO ir =1,nptr
347 DO is =1,npts
348 DO it =1,nptt
349 lbuf => elbuf_str%BUFLY(1)%LBUF
350 mbuf => elbuf_str%BUFLY(1)%MAT(ir,is
351 fbuf => elbuf_str%BUFLY
352 CALL matini(pm ,ixs ,nixs ,x ,
353 2 geo ,ale_connectivity ,detonators ,iparg_gr ,
354 3 sigi ,nel ,skew ,igeo ,
355 4 ipart ,iparts ,
356 5 mat ,ipm ,nsigs ,numsol ,ptsol ,
357 6 ipt ,ngl ,npf ,tf ,bufmat ,
358 7 gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
359 8 facload, deltax ,tempel )
360 END DO
361 END DO
362 END DO
363 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
364 mbuf => elbuf_str%BUFLY(1)%MAT(1,1,1)
365 fbuf => elbuf_str%BUFLY(1)%FAIL(1,1,1)
366
367
368 IF (mtn == 115) THEN
370 ENDIF
371
372 IF (iboltp /=0) THEN
373 CALL sboltini(e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
375 ENDIF
376
377
378
379 IF(jthe /=0)
CALL atheri(mat,pm ,gbuf%TEMP)
380 IF(jtur /=0)
CALL aturi3(iparg ,gbuf%RHO,pm,ixs,x,
381 . gbuf%RK ,gbuf%RE,volu)
382
383
384
385 IF(jlag+jale+jeul /= 0) THEN
386 IF(integ8 /= 0 .AND. jeul /= 0) THEN
388 1 gbuf%RHO,mas,veul(44,nf1),lveul ,mss(1,nf1),
389 2 partsav,x ,v ,iparts(nf1),msnf ,
390 3 mssf(1,nf1),wma , rhocp ,mcp ,
391 4 mcps(1,nf1),mssa, volu,
392 5 ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
393 ELSEIF (npt == 8) THEN
394 IF (mtn >= 28) idef = 1
396 1 mat ,pm ,ipm ,gbuf%SIG ,gbuf%VOL ,
397 2 sigsp ,sigi ,gbuf%EINT,gbuf%RHO ,
398 3 ixs ,nixs ,nsigi ,nsigs ,
399 4 nel ,idef ,bufmat ,npf ,
400 5 tf ,strsglob,straglob ,jhbe ,
401 6 igtyp ,x ,gbuf%GAMA,bufly ,l_pla ,
402 7 ptsol )
404 1 gbuf%RHO ,mas ,v8loc(44,1),lvloc ,mss(1,nf1) ,
405 2 partsav,x ,v ,iparts(nf1),msnf ,
406 3 mssf(1,nf1),wma , rhocp ,mcp ,
407 4 mcps(1,nf1),mssa, volu,
408 5 ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
409 ELSE
410
411 IF (isigi /= 0 .AND. (jcvt /= 0 .OR. isorth /= 0) ) THEN
412 IF(
ASSOCIATED(lbuf%VOL0DP))
CALL ustrsin3( sigi ,lbuf%SIG ,ixs ,nixs ,nsigs ,
413 . nel ,strsglob ,jhbe ,igtyp ,x ,
414 . gbuf%GAMA,ptsol ,lbuf%VOL0DP,rho0,gbuf%RHO )
415 ENDIF
416 IF (((mtn>=28 .AND. mtn/=49) .OR. mtn==14 .OR. mtn==12) .OR.
417 . (istrain == 1 .AND.
418 . (mtn==1 .OR. mtn==2 .OR. mtn==3 .OR. mtn==4 .OR.
419 . mtn==6 .OR. mtn==10 .OR. mtn==21 .OR. mtn==22 .OR.
420 . mtn==23 .OR. mtn==24))) THEN
421 idef = 1
422 ENDIF
423
424 IF (isigi /= 0 .AND. ((mtn >= 28 .AND. iuser == 1).OR.
425 . (nvsolid2 /= 0 .and .idef /=0)))
427 . sigsp ,sigi ,mbuf%VAR ,lbuf%STRA,
428 . ixs ,nixs ,nsigi ,nuvar ,nel ,
429 . nsigs ,iuser ,idef ,straglob ,jhbe ,
430 . igtyp ,x ,gbuf%GAMA,ptsol ,lbuf%SIGB,
431 . l_sigb ,mat(1) ,ipm ,bufmat ,lbuf%PLA,
432 . l_pla )
434 . gbuf%RHO ,mas ,partsav ,x ,v ,
435 . iparts(nf1),mss(1,nf1) ,volu ,
436 . msnf ,mssf(1,nf1),in ,
437 . vr ,ins(1,nf1) ,wma ,rhocp ,mcp ,
438 . mcps(1,nf1),mssa ,rhof ,
alpha ,gbuf%FILL,
439 . ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
440 ENDIF
441
442
443
444
445 IF (isigi /= 0 .AND. isorth/=0) THEN
446 lbuf%SIGL = lbuf%SIG
447 ENDIF
448
449
450
451 CALL failini(elbuf_str,nptr,npts,nptt,nlay,
452 . ipm,sigsp,nsigi,fail_ini ,
453 . sigi,nsigs,ixs,nixs,ptsol,rnoise,perturb,mat_param)
454
455
456
457
458 IF (i7stifs /= 0) THEN
459 ncc=8
460 CALL sbulk3(volu ,ix1 ,ncc,mat,pm ,
461 2 volnod,bvolnod,vns(1,nf1),bns(1,nf1),bid,
462 3 bid ,gbuf%FILL)
463 ENDIF
464 ENDIF
465
466
467
469 CALL inimom_fvm(v , gbuf%RHO, gbuf%VOL, gbuf%MOM, ixs,
470 . ipm , mat , iparg_gr, npf , tf ,
471 . pm , lbuf%SSP, gbuf%SIG, nel
472 . )
473 ENDIF
474
475
476
477 aire(:) = zero
478 dtx(:) = zero
479 CALL dtmain(geo , pm , ipm , pid , mat , fv ,
480 . gbuf%EINT, gbuf%TEMP, gbuf%DELTAX, gbuf%RK, gbuf%RE, bufmat, deltax, aire,
481 . volu, dtx, igeo ,igtyp)
482
483 DO i=1,nel
484 IF(ixs(10,i+nft) /= 0) THEN
485 IF(igtyp /= 0 .AND.igtyp /= 6 .AND. igtyp /= 14 .AND.igtyp /= 15.AND. igtyp /= 29) THEN
486 ipid1=ixs(nixs-1,i+nft)
487 CALL fretitl2(titr1,igeo(npropgi-ltitr+1,ipid1),ltitr)
489 . msgtype=msgerror,
490 . anmode=aninfo_blind_1,
491 . i1=igeo(1,ipid1),
492 . c1=titr1,
493 . i2=igtyp)
494 ENDIF
495 ENDIF
496 dtelem(nft+i)=dtx(i)
497
498
499 sti = fourth * gbuf%FILL(i) * gbuf%RHO(i) * volu(i) /
max(em20,dtx(i)*dtx(i))
500 stifn(ixs(2,i+nft))=stifn(ixs(2,i+nft))+sti
501 stifn(ixs(3,i+nft))=stifn(ixs(3,i
502 stifn(ixs(4,i+nft))=stifn(ixs(4,i+nft))+sti
503 stifn(ixs(5,i+nft))=stifn(ixs(5,i+nft))+sti
504 stifn(ixs(6,i+nft))=stifn(ixs(6,i+nft))+sti
505 stifn(ixs(7,i+nft))=stifn(ixs(7,i+nft))+sti
506 stifn(ixs(8,i+nft))=stifn(ixs(8,i+nft))+sti
507 stifn(ixs(9,i+nft))=stifn(ixs(9,i+nft))+sti
508 ENDDO
509
510
511
512 IF(nsphsol/=0)THEN
513 DO i=1,nel
514 IF(sol2sph(1,nft+i) < sol2sph(2,nft+i))THEN
515 nsphdir=igeo(37,ixs(10,nft+i))
516 ncelf =sol2sph(1,nft+i)+1
517 ncell =sol2sph(2,nft+i)-sol2sph(1,nft+i)
519 . nsphdir ,gbuf%RHO(i) ,ncell ,x ,spbuf(1,ncelf),
520 . ixs(1,i+nft),kxsp(1,ncelf),ipartsp(ncelf),
521 . irst(1,ncelf-first_sphsol+1))
522 END IF
523 ENDDO
524 END IF
525
526 RETURN
subroutine atheri(mat, pm, temp)
subroutine aturi3(iparg, rho, pm, ix, x, rk, re, volu)
subroutine dtmain(geo, pm, ipm, pid, mat, fv, eint, temp, deltax, rk, re, bufmat, ddeltax, aire, vol, dtx, igeo, igtyp)
subroutine edlen3(veul, deltax)
subroutine enorm3(veul, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
subroutine failini(elbuf_str, nptr, npts, nptt, nlay, ipm, sigsp, nsigi, fail_ini, sigi, nsigs, ix, nix, pt, rnoise, perturb, mat_param)
subroutine inimom_fvm(v, rho, vol, mom, ixs, ipm, mat, iparg1, npf, tf, pm, ssp, sig, nel)
subroutine m115_perturb(pm, mat, rho, perturb, rnoise)
subroutine matini(pm, ix, nix, x, geo, ale_connectivity, detonators, iparg, sigi, nel, skew, igeo, ipart, ipartel, mat, ipm, nsig, nums, pt, ipt, ngl, npf, tf, bufmat, gbuf, lbuf, mbuf, elbuf_str, iloadp, facload, ddeltax, tempel)
type(alefvm_param_), target alefvm_param
integer, dimension(:), allocatable iflag_bpreload
integer, parameter nchartitle
subroutine s8erefcoor3(sav, npe, nel, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
subroutine sboltini(e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, bpreld, nel, ix, nix, vpreload, iflag_bpreload)
subroutine sbulk3(volu, nc, nnc, mat, pm, volnod, bvolnod, vns, bns, vnsx, bnsx, fill)
subroutine sderi3b(vol, veul, lvloc, geo, igeo, ngl, ngeo, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, det, deltax, nel, jeul)
subroutine sigin3b(mat, pm, ipm, sig, vol, sigsp, sigi, eint, rho, ix, nix, nsigi, nsigs, nel, idef, bufmat, npf, tf, strsglob, straglob, jhbe, igtyp, x, bufgama, bufly, l_pla, pt)
subroutine sjacidp(xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, jac_i, nel)
subroutine smass3(rho, ms, partsav, x, v, ipart, mss, volu, msnf, mssf, in, vr, ins, wma, rhocp, mcp, mcps, mssa, rhof, frac, fill, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8)
subroutine smass3b(rho, ms, volgp, lvloc, mss, partsav, x, v, ipart, msnf, mssf, wma, rhocp, mcp, mcps, mssa, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8)
subroutine smorth3(pid, geo, igeo, skew, irep, gama, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, nsigi, sigsp, nsigs, sigi, ixs, x, jhbe, pt, nel, isolnod)
subroutine scoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
subroutine sderi3(vol, veul, geo, igeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, jac1, jac2, jac3, jac4, jac5, jac6, ngl, ngeo, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, det, voldp, nel, jeul, nxref, imulti_fvm)
subroutine sdlen3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, deltax, voln)
subroutine srcoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, jhbe, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
subroutine szderi3(vol, veul, geo, igeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac1, jac2, jac3, jac4, jac5, jac6, jac9, ngl, ngeo, det, voldp, nel, jeul, nxref)
subroutine soltosphv8(nsphdir, rho, ncell, x, spbuf, ixs, kxsp, ipartsp, irst)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
subroutine sveok3(nvc, nod, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
subroutine userin3(sigsp, sigi, uvar, eps, ix, nix, nsigi, nuvar, nel, nsigs, iuser, idef, straglob, jhbe, igtyp, x, bufgama, pt, sigb, l_sigb, imat, ipm, bufmat, pla, l_pla)
subroutine ustrsin3(sigi, sig, ix, nix, nsigi, nel, strsglob, jhbe, igtyp, x, bufgama, pt, voldp, rho0, rho)