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