156
157
158
159 USE timer_mod
160 USE output_mod, ONLY : output_
161 USE mmain_mod
163 USE mat_elem_mod
166 USE sensor_mod
169 USE elbufdef_mod
170 USE sdistor_ini_mod, ONLY : sdistor_ini
171 use glob_therm_mod
172
173
174
175#include "implicit_f.inc"
176
177
178
179#include "mvsiz_p.inc"
180
181
182
183#include "vect01_c.inc"
184#include "com01_c.inc"
185#include "com04_c.inc"
186#include "com08_c.inc"
187#include "scr03_c.inc"
188#include "scr06_c.inc"
189#include "parit_c.inc"
190#include "param_c.inc"
191#include "timeri_c.inc"
192#include "inter22.inc"
193#include "scr18_c.inc"
194#include "comlock.inc"
195
196
197
198 TYPE(TIMER_) ,INTENT(INOUT) :: TIMERS
199 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
200 INTEGER, INTENT(IN) :: SNPC
201 INTEGER, INTENT(IN) :: SZ_BUFVOIS
202 INTEGER, INTENT(IN) :: NSVOIS
203 INTEGER, INTENT(IN) :: STF
204 INTEGER, INTENT(IN) :: SBUFMAT
205 INTEGER, INTENT(INOUT) :: IDEL7NOK
206 INTEGER, INTENT(IN) :: IDTMINS
207 INTEGER ,INTENT(IN) :: IRESP
208 INTEGER ,INTENT(IN) :: IDEL7NG
209 INTEGER ,INTENT(IN) :: MAXFUNC
210 INTEGER, INTENT(IN) :: IMPL_S
211 INTEGER, INTENT(IN) :: IDYNA
212 INTEGER, INTENT(IN) :: USERL_AVAIL
213 INTEGER, DIMENSION(*), INTENT(IN) :: IPARG,NALE
214 INTEGER,INTENT(IN) :: NG,NEL
215 INTEGER IXS(NIXS,NUMELS), IADS(8,*),IPM(NPROPMI,NUMMAT),
216 . IGEO(NPROPGI,*),GRTH(*),IGRTH(*),IPARG1(*),IFOAM(*),
217 . ICONTACT(*),ISKY(*),ITAB(*)
218 INTEGER NELTST,ITYPTST,OFFSET,NVC,ITASK,
219 . ISTRAIN, IEXPAN, NV46,IOUTPRT,H3D_STRAIN
220
221 DOUBLE PRECISION :: XDP(3,*)
222
223 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
226 . pm(npropm,nummat), geo(npropg,numgeo), x(*), a(*), v(3,*), ms(*), w(*),
227 . flux(6,*), fskym(*),
228 . flu1(*), veul(*), fv(*), tf(*), bufmat(*),
229 . partsav(*),stifn(*), fsky(*),eani(*),
230 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
231 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
232 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
233 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
234 . f15(mvsiz),f25(mvsiz
235 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
236 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
237 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
238 . temp(*), fthe(*),fthesky(*),gresav(*), mssa(*), dmels(*),
239 . phi1(*),phi2(*),vf(3,*) ,d(3,*),
240 . af(3,*), ffsky(3,*),df(3,*),wf(3,*),msf(*),afglob(3,*),
241 . por(*),voln(mvsiz), condn(*),condnsky(*)
242
244 my_real :: msnf(*),ar(*),vr(3,*),in(*),fr_wave(*),dr(3,*),qmv(12,*)
245 TYPE (TTABLE) TABLE(*)
246 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
247 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
248 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
249
250 my_real :: p(mvsiz),fskyi(lskyi,nfskyi)
251
252 INTEGER :: IGRV(*), LGRAV(*)
253 my_real :: agrav(*),skew(lskew,*)
254 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
255 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
256 TYPE (DT_), INTENT(INOUT) :: DT
257 type (glob_therm_) ,intent(inout) :: glob_therm
258
259 DOUBLE PRECISION,INTENT(INOUT) :: WFEXT
260
261
262
263 INTEGER I,NF1,NUVAR,IBID,IPTR,IPTS,IPTT,ILAY,ITET,IFVM_SKIP,NNOD
264 INTEGER NBF1,NBF2,NBF3, IALEFVM_MAT
265 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),INOD(8)
266 my_real vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
267 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
268 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
269 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
270 . b1(mvsiz) , b2(mvsiz) , b3(mvsiz) ,
271 . b4(mvsiz) , b5(mvsiz) , b6(mvsiz) ,
272 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
273 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
274 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz),
275 . jac4(mvsiz), jac5(mvsiz), jac6(mvsiz),
276 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),
277 . aire(mvsiz),fqvis(mvsiz), fcxx(mvsiz)
278 my_real,
dimension(mvsiz) :: fheat
279
280 my_real :: sti(mvsiz), wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
282 my_real :: sigy(mvsiz),et(mvsiz),r3_free(mvsiz)
283
284
285 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
286 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
287
288 DOUBLE PRECISION
289 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
290 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
291 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
292 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
293 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
294 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ),
295 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),VOLDP(MVSIZ)
296
298 . off(mvsiz) , rhoo(mvsiz),
299 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
300 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
301 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
302 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
303 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
304 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
305 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
306 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
307 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
308 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
309 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
310 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
311 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
312 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
313 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
314 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
315 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
316 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
317 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
318 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
319 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
320 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
321 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
322 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
323 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
324 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
325 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
326 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
327 . dxy(mvsiz),dyx(mvsiz),dyz(mvsiz),
328 . dzy(mvsiz),dzx(mvsiz),dxz(mvsiz),
329 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
330 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
331 . r31(mvsiz),r32(mvsiz),r33(mvsiz),hh(mvsiz),gama(mvsiz,6),
332 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8),
333 . mfxx(mvsiz),mfxy(mvsiz),mfyx(mvsiz),
334 . mfyy(mvsiz),mfyz(mvsiz),mfzy(mvsiz),
335 . mfzz(mvsiz),mfzx(mvsiz),mfxz(mvsiz),
336 . dfe(mvsiz,3),sigf(mvsiz,6),offg0(mvsiz),
337 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
338 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
339 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
340
342 . vxr(mvsiz),vyr(mvsiz),vzr(mvsiz),fr_wav(mvsiz),
343 . tempel(mvsiz),them(mvsiz,8),die(mvsiz)
344
346 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
347 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),
348 . mx3(mvsiz),my3(mvsiz),mz3(mvsiz),
349 . mx4(mvsiz),my4(mvsiz),mz4(mvsiz),
350 . mx5(mvsiz),my5(mvsiz),mz5(mvsiz),
351 . mx6(mvsiz),my6(mvsiz),mz6(mvsiz),
352 . mx7(mvsiz),my7(mvsiz),mz7(mvsiz),
353 . mx8(mvsiz),my8(mvsiz),mz8(mvsiz)
354
356 . n1x(mvsiz), n2x(mvsiz), n3x(mvsiz),
357 . n1y(mvsiz), n2y(mvsiz), n3y(mvsiz),
358 . n1z(mvsiz), n2z(mvsiz), n3z(mvsiz),
359 . n4x(mvsiz), n5x(mvsiz), n6x(mvsiz),
360 . n4y(mvsiz), n5y(mvsiz), n6y(mvsiz),
361 . n4z(mvsiz), n5z(mvsiz), n6z(mvsiz)
362
364 . fvx1(mvsiz),fvx2(mvsiz),fvx3(mvsiz),fvx4(mvsiz),
365 . fvx5(mvsiz),fvx6(mvsiz),fvx7(mvsiz),fvx8(mvsiz),
366 . fvy1(mvsiz),fvy2(mvsiz),fvy3(mvsiz),fvy4(mvsiz),
367 . fvy5(mvsiz),fvy6(mvsiz),fvy7(mvsiz),fvy8(mvsiz),
368 . fvz1(mvsiz),fvz2(mvsiz),fvz3(mvsiz),fvz4(mvsiz),
369 . fvz5(mvsiz),fvz6(mvsiz),fvz7(mvsiz),fvz8(mvsiz),
370 . fvdx1(mvsiz),fvdx2(mvsiz),fvdx3(mvsiz),fvdx4(mvsiz),
371 . fvdx5(mvsiz),fvdx6(mvsiz),fvdx7(mvsiz),fvdx8(mvsiz),
372 . fvdy1(mvsiz),fvdy2(mvsiz),fvdy3(mvsiz),fvdy4(mvsiz),
373 . fvdy5(mvsiz),fvdy6(mvsiz),fvdy7(mvsiz),fvdy8(mvsiz),
374 . fvdz1(mvsiz),fvdz2(mvsiz),fvdz3(mvsiz),fvdz4(mvsiz),
375 . fvdz5(mvsiz),fvdz6(mvsiz),fvdz7(mvsiz),fvdz8(mvsiz),
376 . fdxx(mvsiz) ,fdxy(mvsiz) ,fdxz(mvsiz) ,fdyx(mvsiz),
377 . fdyy(mvsiz) ,fdyz(mvsiz) ,fdzx(mvsiz) ,fdzy(mvsiz),
378 . fdzz(mvsiz) ,fd4(mvsiz) ,fd5(mvsiz) ,fd6(mvsiz) ,
379 . fwxx(mvsiz) ,fwyy(mvsiz) ,fwzz(mvsiz) ,fvxr(mvsiz),
380 . fvyr(mvsiz) ,fvzr(mvsiz) ,fvoln(mvsiz),
381 . fvd2(mvsiz)
382
384 . ff11(mvsiz),ff21(mvsiz),ff31(mvsiz),
385 . ff12(mvsiz),ff22(mvsiz),ff32(mvsiz),
386 . ff13(mvsiz),ff23(mvsiz),ff33(mvsiz),
387 . ff14(mvsiz),ff24(mvsiz),ff34(mvsiz),
388 . ff15(mvsiz),ff25(mvsiz),ff35(mvsiz),
389 . ff16(mvsiz),ff26(mvsiz),ff36(mvsiz),
390 . ff17(mvsiz),ff27(mvsiz),ff37(mvsiz),
391 . ff18(mvsiz),ff28(mvsiz),ff38(mvsiz),
392 . fvdx(mvsiz),fvdy(mvsiz),fvdz(mvsiz),
393 . frho0(mvsiz),
alpha(mvsiz),
394 . fpx1h1(mvsiz),fpx1h2(mvsiz), fpx1h3(mvsiz),
395 . fpx2h1(mvsiz),fpx2h2(mvsiz), fpx2h3(mvsiz),
396 . fpx3h1(mvsiz),fpx3h2(mvsiz), fpx3h3(mvsiz),
397 . fpx4h1(mvsiz),fpx4h2(mvsiz), fpx4h3(mvsiz),
398 . fn1x(mvsiz), fn2x(mvsiz), fn3x(mvsiz),
399 . fn1y(mvsiz), fn2y(mvsiz), fn3y(mvsiz),
400 . fn1z(mvsiz), fn2z(mvsiz), fn3z(mvsiz),
401 . fn4x(mvsiz), fn5x(mvsiz), fn6x(mvsiz),
402 . fn4y(mvsiz), fn5y(mvsiz), fn6y(mvsiz),
403 . fn4z(mvsiz), fn5z(mvsiz), fn6z(mvsiz),
404 . fx1(mvsiz), fx2(mvsiz), fx3(mvsiz), fx4(mvsiz),
405 . fx5(mvsiz), fx6(mvsiz), fx7(mvsiz), fx8(mvsiz),
406 . fy1(mvsiz), fy2(mvsiz), fy3(mvsiz), fy4(mvsiz),
407 . fy5(mvsiz), fy6(mvsiz), fy7(mvsiz), fy8(mvsiz),
408 . fz1(mvsiz), fz2(mvsiz), fz3(mvsiz), fz4(mvsiz),
409 . fz5(mvsiz), fz6(mvsiz), fz7(mvsiz), fz8(mvsiz)
410
412 . fpx1(mvsiz),fpx2(mvsiz),fpx3(mvsiz),fpx4(mvsiz),
413 . fpy1(mvsiz),fpy2(mvsiz),fpy3(mvsiz),fpy4(mvsiz),
414 . fpz1(mvsiz),fpz2(mvsiz),fpz3(mvsiz),fpz4(mvsiz),
415 . fdeltax(mvsiz) ,flux0(mvsiz,6),flu01(mvsiz)
416 my_real,
DIMENSION(:),
ALLOCATABLE :: var_reg
418 my_real :: conde(mvsiz),amu(mvsiz),divde(mvsiz),l_max(mvsiz),
419 . sti_c(mvsiz),ll(mvsiz),fld(mvsiz),
420 . cns2,c1,caq,fqmax
421 my_real,
DIMENSION(:),
POINTER :: eint
423 my_real :: sum_eps(9),sum_m,sum_vol
424 INTEGER :: NUM_ELEM_ALE
425C
426 TYPE(G_BUFEL_) ,POINTER :: GBUF
427 TYPE(L_BUFEL_) ,POINTER :: LBUF
428 TYPE(BUF_MAT_) ,POINTER :: MBUF
429
430 INTEGER IALEFVM_FLG, IFVM22, IMAT, INLOC, L_NLOC, J, IPOS(8),PID,
431 . NN_DEL,ISCTL,ISTAB(MVSIZ)
432
433 INTEGER IBOLTP,NBPRELD,ISM12_11
434 my_real,
DIMENSION(:),
POINTER :: bpreld
435 my_real,
DIMENSION(:),
POINTER :: dnl
436 INTEGER SZ_IX
437
438
439
440 gbuf => elbuf_tab(ng)%GBUF
441 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
442 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
443 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
444 inloc = iparg(78)
445 ALLOCATE(var_reg(nel))
446 tempel(:) = zero
447 fheat(:) = zero
448
449 iboltp = iparg1(72)
450 nbpreld = gbuf%G_BPRELD
451 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
452
453 sz_ix=numelq+numels+nsvois
454
455 ibid = 0
456 nf1=nft+1
457
458 IF (jcvt == 0) THEN
459
460 ialefvm_mat = ipm(251,ixs(1,nf1))
461 IF(ialefvm_mat<=1)THEN
462
463 CALL scoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
464 . x1, x2, x3, x4, x5, x6, x7, x8,
465 . y1, y2, y3, y4, y5, y6, y7, y8,
466 . z1, z2, z3, z4, z5, z6, z7, z8,
467 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
468 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
469 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
470 . vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
471 . vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
472 . vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
473 . vdx,vdy,vdz,vd2,vis,gbuf%OFF,off,gbuf%SMSTR,gbuf%RHO,
474 . rhoo,nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
475 . vr,vxr,vyr,vzr,fr_wave,fr_wav,
476 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
477 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
478 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
479 . xdp,iparg, ng , nel)
480 ELSE
481
483 . x1, x2, x3, x4, x5, x6, x7, x8,
484 . y1, y2, y3, y4, y5, y6, y7, y8,
485 . z1, z2, z3, z4, z5, z6, z7, z8,
486 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
487 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
488 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
489 . vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
490 . vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
491 . vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
492 . vdx,vdy,vdz,vd2,vis,gbuf%OFF,off,gbuf%RHO,
493 . rhoo,nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
494 . xd1, xd2 , xd3, xd4, xd5, xd6, xd7, xd8,
495 . yd1, yd2 , yd3, yd4, yd5, yd6, yd7, yd8,
496 . zd1, zd2 , zd3, zd4, zd5, zd6, zd7, zd8,
497 . xdp, iparg, ng , nel, gbuf%MOM,gbuf%TAG22)
498 ENDIF
499 ELSE
500
501 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
502 . x1, x2, x3, x4, x5, x6, x7, x8,
503 . y1, y2, y3, y4, y5, y6, y7, y8,
504 . z1, z2, z3, z4, z5, z6, z7, z8,
505 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
506 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
507 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
508 . vd2,vis,gbuf%OFF,off,gbuf%SMSTR,gbuf%RHO,rhoo,
509 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
510 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
511 . ioutprt, vgxa, vgya, vgza, vga2,
512 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
513 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
514 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
515 . xdp, x0 , y0 , z0 , nel, xgxa, xgya, xgza,
516 . xgxa2,xgya2 ,xgza2 ,xgxya ,xgyza ,xgzxa,iparg1,
517 . gbuf%GAMA_R)
518 ENDIF
519 nn_del = 0
520 pid = ngeo(1)
521 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
522 . nn_del=8
523 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
524
525 isctl = igeo(97,pid)
526
527 IF ((ismstr >= 10.AND.ismstr <= 12).AND.jlag > 0) THEN
528
530 1 tt, 8, x, ixs(1,nf1),
531 2 x0, y0, z0, vx0,
532 3 vy0, vz0, gbuf%SMSTR,d,
533 4 gbuf%OFF, offg0, nel, xdp,
534 5 mtn, ismstr)
535
536 IF (ismstr == 11) THEN
537 IF (jcvt /= 0) THEN
539 1 r11, r12, r13, r21,
540 2 r22, r23, r31, r32,
541 3 r33, x0(1,1), x0(1,2), x0(1,3),
542 4 x0(1,4), x0(1,5), x0(1,6), x0(1,7),
543 5 x0(1,8), y0(1,1), y0(1,2), y0(1,3),
544 6 y0(1,4), y0(1,5), y0(1,6), y0(1,7),
545 7 y0(1,8), z0(1,1), z0(1,2), z0(1,3),
546 8 z0(1,4), z0(1,5), z0(1,6), z0(1,7),
547 9 z0(1,8), nel)
549 1 r11, r12, r13, r21,
550 2 r22, r23, r31, r32,
551 3 r33, vx0(1,1),vx0(1,2),vx0(1,3),
552 4 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
553 5 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
554 6 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
555 7 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
556 8 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
557 9 vz0(1,8),nel)
558 ENDIF
559
561 . x0(1,1), x0(1,2), x0(1,3), x0(1,4),
562 . x0(1,5), x0(1,6), x0(1,7), x0(1,8),
563 . y0(1,1), y0(1,2), y0(1,3), y0(1,4),
564 . y0(1,5), y0(1,6), y0(1,7), y0(1,8),
565 . z0(1,1), z0(1,2), z0(1,3), z0(1,4),
566 . z0(1,5), z0(1,6), z0(1,7), z0(1,8),
567 . px1, px2, px3, px4,
568 . py1, py2, py3, py4,
569 . pz1, pz2, pz3, pz4,
570 . px1h1, px1h2, px1h3,
571 . px2h1, px2h2, px2h3,
572 . px3h1, px3h2, px3h3,
573 . px4h1, px4h2, px4h3,
574 . jac1,jac2,jac3,
575 . jac4,jac5,jac6,
576 . nel,jhbe)
577 ELSE
578 IF (idtmin(1)==3.AND.ismstr == 12.AND.jcvt == 0.AND.ism12_11==0) THEN
579
581 1 gbuf%OFF,x, xdp, nc1,
582 2 nc2, nc3, nc4, nc5,
583 3 nc6, nc7, nc8, r11,
584 4 r12, r13, r21, r22,
585 5 r23, r31, r32, r33,
586 6 nel, jhbe)
587 END IF
588
590 . px1, px2, px3, px4,
591 . py1, py2, py3, py4,
592 . pz1, pz2, pz3, pz4,
593 . gbuf%JAC_I,nel)
594 END IF
595
597 1 px1, px2, px3, px4,
598 2 py1, py2, py3, py4,
599 3 pz1, pz2, pz3, pz4,
600 4 vx0(1,1),vx0(1,2),vx0(1,3),vx0(1,4),
601 5 vx0(1,5),vx0(1,6),vx0(1,7),vx0(1,8),
602 6 vy0
603 7 vy0(1,5),vy0(1,6),vy0(1,7),vy0(1,8),
604 8 vz0(1,1),vz0(1,2),vz0(1,3),vz0(1,4),
605 9 vz0(1,5),vz0(1,6),vz0(1,7),vz0(1,8),
606 a mfxx, mfxy, mfxz, mfyx,
607 b mfyy, mfyz, mfzx, mfzy,
608 c mfzz, nel)
609
610 IF (jcvt /= 0 .AND.(ismstr == 10 .OR.ismstr == 12)) THEN
611 CALL sordeft3(lft,llt,mfxx, mfxy, mfxz, mfyx, mfyy, mfyz,
612 . mfzx, mfzy, mfzz,
613 . r11, r21, r31, r12, r22, r32, r13, r23, r33)
614 ELSEIF (idtmin(1)==3.AND.ismstr == 12.AND.jcvt==0.AND.ism12_11==0) THEN
616 . mfyx, mfyy, mfyz,
617 . mfzx, mfzy, mfzz,
618 . r11, r21, r31, r12, r22, r32, r13, r23, r33,offg0)
619 END IF
620 ENDIF
621
622 IF(jale+jlag /= 0)THEN
623
624 IF(jclose /= 0) THEN
625
627 1 geo, ngeo, x1, x2,
628 2 x3, x4, x5, x6,
629 3 x7, x8, y1, y2,
630 4 y3, y4, y5, y6,
631 5 y7, y8, z1, z2,
632 6 z3, z4, z5, z6,
633 7 z7, z8, hh, xd1,
634 8 xd2, xd3, xd4, xd5,
635 9 xd6, xd7, xd8, yd1,
636 a yd2, yd3, yd4, yd5,
637 b yd6, yd7, yd8, zd1,
638 c zd2, zd3, zd4, zd5,
639 d zd6, zd7, zd8, nel)
640 ENDIF
641
642 IF (ismstr==11) THEN
644 1 x0, y0, z0, x1,
645 2 x2, x3, x4, x5,
646 3 x6, x7, x8, y1,
647 4 y2, y3, y4, y5,
648 5 y6, y7, y8, z1,
649 6 z2, z3, z4, z5,
650 7 z6, z7, z8, nel)
651 ELSE
652
654 1 off, voln, ngl, xd1,
655 2 xd2, xd3, xd4, xd5,
656 3 xd6, xd7, xd8, yd1,
657 4 yd2, yd3, yd4, yd5,
658 5 yd6, yd7, yd8, zd1,
659 6 zd2, zd3, zd4, zd5,
660 7 zd6, zd7, zd8, px1,
661 8 px2, px3, px4, py1,
662 9 py2, py3, py4, pz1,
663 a pz2, pz3, pz4, px1h1,
664 b px1h2, px1h3, px2h1, px2h2,
665 c px2h3, px3h1, px3h2, px3h3,
666 d px4h1, px4h2, px4h3, jac1,
667 e jac2, jac3, jac4, jac5,
668 f jac6, gbuf%SMSTR,gbuf%OFF, nel,
669 g voldp, jhbe, ismstr, jlag)
670 END IF
671
673 1 voln, deltax, x1, x2,
674 2 x3, x4, x5, x6,
675 3 x7, x8, y1, y2,
676 4 y3, y4, y5, y6,
677 5 y7, y8, z1, z2,
678 6 z3, z4, z5, z6,
679 7 z7, z8, n1x, n2x,
680 8 n3x, n4x, n5x, n6x,
681 9 n1y, n2y, n3y, n4y,
682 a n5y, n6y, n1z, n2z,
683 b n3z, n4z, n5z, n6z,
684 c nel, mtn, jale, jeul)
685
686 ELSEIF(jeul /= 0)THEN
687
689 1 gbuf%VOL,veul, x1, x2,
690 2 x3, x4, x5, x6,
691 3 x7, x8, y1, y2,
692 4 y3, y4, y5, y6,
693 5 y7, y8, z1, z2,
694 6 z3, z4, z5, z6,
695 7 z7, z8, px1, px2,
696 8 px3, px4, py1, py2,
697 9 py3, py4, pz1, pz2,
698 a pz3, pz4, px5, px6,
699 b px7, px8, py5, py6,
700 c py7, py8, pz5, pz6,
701 d pz7, pz8, px1h1, px1h2,
702 e px1h3, px2h1, px2h2, px2h3,
703 f px3h1, px3h2, px3h3, px4h1,
704 g px4h2, px4h3, voln, deltax,
705 h n1x, n2x, n3x, n4x,
706 i n5x, n6x, n1y, n2y,
707 j n3y, n4y, n5y, n6y,
708 k n1z, n2z, n3z, n4z,
709 l n5z, n6z, nel, nft,
710 m jhbe)
711
712
714 1 gbuf%VOL, veul, voln, deltax,
715 2 gbuf%TAG22,ixs, lft, llt,
716 3 jale, jeul)
717 ENDIF
718
719 IF(int22>0)THEN
720
721
722 IF(i22_aleul == 1)THEN
724 1 voln, gbuf%TAG22,ixs, lft,
725 2 llt, jale, jeul)
726 ENDIF
727 ENDIF
728
729 IF(jale+jeul > 0 .AND. iparg1(64)==1)THEN
730
732 1 pm, v, veul, x,
733 2 ixs, ale_connect,dxx, dxy,
734 3 dxz, dyx, dyy, dyz,
735 4 dzx, dzy, dzz, d4,
736 5 d5, d6, wxx, wyy,
737 6 wzz, bufmat, nel, nft,
738 7 ipm, nummat, numels+nsvois )
739 ELSE
740
742 1 px1, px2, px3, px4,
743 2 py1, py2, py3, py4,
744 3 pz1, pz2, pz3, pz4,
745 4 px5, px6, px7, px8,
746 5 py5, py6, py7, py8,
747 6 pz5, pz6, pz7, pz8,
748 7 vx1, vx2, vx3, vx4,
749 8 vx5, vx6, vx7, vx8,
750 9 vy1, vy2, vy3, vy4,
751 a vy5, vy6, vy7, vy8,
752 b vz1, vz2, vz3, vz4,
753 c vz5, vz6, vz7, vz8,
754 d dxx, dxy, dxz, dyx,
755 e dyy, dyz, dzx, dzy,
756 f dzz, d4, d5, d6,
757 g wxx, wyy, wzz, vxr,
758 h vyr, vzr, nel,
759 i nft, ismstr, jeul, jhbe,
760 j jcvt, isrot)
761
762 IF (idtmin(1)==3.AND.ismstr == 12.AND.ism12_11==0.AND.jcvt==0) THEN
763 CALL sordef12(lft,llt,dxx, dyy, dzz,
764 . d4, d5, d6,
765 . r11, r21, r31, r12, r22, r32, r13, r23, r33,gbuf%OFF)
766 ENDIF
767 ENDIF
768
770 1 pm, flux(1,nf1),ale_connect,ixs,
771 2 ipm, bufmat, nel, nft,
772 3 jale, jeul , nummat, numels+nsvois)
773
774 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))
775
777 1 pm, gbuf%VOL, gbuf%RHO, gbuf%EINT,
778 2 divde, flux(1,nf1),flu1(nf1), voln,
779 3 dvol, ngl, mxt, off,
780 4 iparg1(64), gbuf%TAG22, voldp, lbuf%VOL0DP,
781 5 amu, gbuf%OFF, nel, mtn,
782 6 jale, ismstr, jeul, jlag)
783
784 IF (ismstr == 12.AND.idtmin(1)==3.AND.ism12_11==0.AND.jcvt==0) THEN
786 . r11, r21, r31, r12, r22, r32, r13, r23, r33,offg0)
787 ENDIF
788
789 IF (jcvt == 0) THEN
790
792 1 gbuf%SIG,s1, s2, s3,
793 2 s4, s5, s6, wxx,
794 3 wyy, wzz, nel, mtn,
795 4 ismstr)
796
798 1 gbuf%SMSTR,gbuf%OFF, off, wxx,
799 2 wyy, wzz, nel, ismstr,
800 3 jlag)
801 ELSE
802
803 CALL srmalla3(gbuf%SIG,s1,s2,s3,s4,s5,s6,
804 . gbuf%OFF,off,nel)
805
807 1 gbuf%SMSTR,gbuf%OFF, wxx, wyy,
808 2 wzz, r11, r12, r13,
809 3 r21, r22, r23, r31,
810 4 r32, r33, nel, ismstr)
811 ENDIF
812
813 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
814
815
816 IF (jcvt /= 0.AND.isorth/=0 ) THEN
818 1 gbuf%OFF, gbuf%SMSTR,x0, y0,
819 2 z0, nel)
820 ELSE
822 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
823 2 xd3, xd4, xd5, xd6,
824 3 xd7, xd8, yd1, yd2,
825 4 yd3, yd4, yd5, yd6,
826 5 yd7, yd8, zd1, zd2,
827 6 zd3, zd4, zd5, zd6,
828 7 zd7, zd8, nel)
829 ENDIF
830 END IF
831
832 IF (jthe < 0) THEN
833
834 DO i=1,nel
835 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
836 . + temp(nc3(i)) + temp(nc4(i))
837 . + temp(nc5(i)) + temp(nc6(i))
838 . + temp(nc7(i)) + temp(nc8(i)))
839 ENDDO
840 ENDIF
841
842
843
844
845 IF (inloc > 0) THEN
846 l_nloc = nloc_dmg%L_NLOC
847 dnl => nloc_dmg%DNL(1:l_nloc)
848 DO i=1,nel
849
850 inod(1:8) = 0
851 ipos(1:8) = 0
852 DO j = 1,elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
853 inod(j) = nloc_dmg%IDXI(elbuf_tab(ng)%NLOCS%NL_SOLNOD(j,i))
854 ipos(j) = nloc_dmg%POSI(inod(j))
855 ENDDO
856
857 var_reg(i) = zero
858 nl_nbnod = elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
859 DO j = 1, elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
860 var_reg(i) = var_reg(i) + dnl(ipos(j))/nl_nbnod
861 ENDDO
862 ENDDO
863 ENDIF
864
865
866 IF (jale == 3 .AND. jlag > 0) THEN
867
868
870 . pm ,mxt ,x ,
871 . mbuf ,nel ,
872 . ixs ,ale_connect ,vf ,afglob,
873 . wf ,dfe ,frho0 ,
alpha ,
874 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,
875 . nc7 ,nc8 ,fx1 ,fx2 ,fx3 ,fx4 ,
876 . fx5 ,fx6 ,fx7 ,fx8 ,fy1 ,fy2 ,
877 . fy3 ,fy4 ,fy5 ,fy6 ,fy7 ,fy8 ,
878 . fz1 ,fz2 ,fz3 ,fz4 ,fz5 ,fz6 ,
879 . fz7 ,fz8 ,phi1 ,phi2 ,flux0 ,flu01 ,
880 . fvx1 ,fvx2 ,fvx3 ,fvx4 ,fvx5 ,fvx6 ,
881 . fvx7 ,fvx8 ,fvy1 ,fvy2 ,fvy3 ,fvy4 ,
882 . fvy5 ,fvy6 ,fvy7 ,fvy8 ,fvz1 ,fvz2 ,
883 . fvz3 ,fvz4 ,fvz5 ,fvz6 ,fvz7 ,fvz8 ,
884 . fvdx1 ,fvdx2 ,fvdx3 ,fvdx4 ,fvdx5 ,fvdx6 ,
885 . fvdx7 ,fvdx8 ,fvdy1 ,fvdy2 ,fvdy3 ,fvdy4 ,
886 . fvdy5 ,fvdy6 ,fvdy7 ,fvdy8 ,fvdz1 ,fvdz2 ,
887 . fvdz3 ,fvdz4 ,fvdz5 ,fvdz6 ,fvdz7 ,fvdz8 ,
888 . fvdx ,fvdy ,fvdz ,fvd2 ,
889 . vx1 ,vx2 ,vx3 ,vx4 ,vx5 ,vx6 ,
890 . vx7 ,vx8 ,vy1 ,vy2 ,vy3 ,vy4 ,
891 . vy5 ,vy6 ,vy7 ,vy8 ,vz1 ,vz2 ,
892 . vz3 ,vz4 ,vz5 ,vz6 ,vz7 ,vz8 ,
893 . por ,icontact ,ifoam)
894
896 1 off, fvoln, ngl, fx1,
897 2 fx2, fx3, fx4, fx5,
898 3 fx6, fx7, fx8, fy1,
899 4 fy2, fy3, fy4, fy5,
900 5 fy6, fy7, fy8, fz1,
901 6 fz2, fz3, fz4, fz5,
902 7 fz6, fz7, fz8, fpx1,
903 8 fpx2, fpx3, fpx4, fpy1,
904 9 fpy2, fpy3, fpy4, fpz1,
905 a fpz2, fpz3, fpz4, fpx1h1,
906 b fpx1h2, fpx1h3, fpx2h1, fpx2h2,
907 c fpx2h3, fpx3h1, fpx3h2, fpx3h3,
908 d fpx4h1, fpx4h2, fpx4h3, nel,
909 e jhbe)
910
912 1 fvoln, fdeltax, fx1, fx2,
913 2 fx3, fx4, fx5, fx6,
914 3 fx7, fx8, fy1, fy2,
915 4 fy3, fy4, fy5, fy6,
916 5 fy7, fy8, fz1, fz2,
917 6 fz3, fz4, fz5, fz6,
918 7 fz7, fz8, fn1x, fn2x,
919 8 fn3x, fn4x, fn5x, fn6x,
920 9 fn1y, fn2y, fn3y, fn4y,
921 a fn5y, fn6y, fn1z, fn2z,
922 b fn3z, fn4z, fn5z, fn6z,
923 c nel)
924
925
927 1 fpx1, fpx2, fpx3, fpx4,
928 2 fpy1, fpy2, fpy3, fpy4,
929 3 fpz1, fpz2, fpz3, fpz4,
930 4 fvx1, fvx2, fvx3, fvx4,
931 5 fvx5, fvx6, fvx7, fvx8,
932 6 fvy1, fvy2, fvy3, fvy4,
933 7 fvy5, fvy6, fvy7, fvy8,
934 8 fvz1, fvz2, fvz3, fvz4,
935 9 fvz5, fvz6, fvz7, fvz8,
936 a fdxx, fdxy, fdxz, fdyx,
937 b fdyy, fdyz, fdzx, fdzy,
938 c fdzz, fd4, fd5, fd6,
939 d fwxx, fwyy, fwzz, fvxr,
940 e fvyr, fvzr, fqvis, nel,
941 f jhbe, jcvt, isrot)
942
943 DO i=1,nel
944 fvoln(i) =
alpha(i)*fvoln(i)
945 dfe(i,1) = dfe(i,1)*fvoln(i)
946 dfe(i,2) = dfe(i,2)*fvoln(i)
947 dfe(i,3) = dfe(i,3)*fvoln(i)
948 ENDDO
949
950 CALL frho3(mbuf%VAR,frho0,fdxx, fdyy, fdzz,
951 . flux0,flu01,fvoln,ngl,mxt,off ,nel)
952 ENDIF
953
954 ialefvm_mat = ipm(251,ixs(1,nf1))
955 IF (ialefvm_mat > 1) THEN
956
958 1 ixs,
959 2 voln, n1x, n2x, n3x,
960 3 n4x, n5x, n6x, n1y,
961 4 n2y, n3y, n4y, n5y,
962 5 n6y, n1z, n2z, n3z,
963 6 n4z, n5z, n6z, dxx,
964 7 dyy, dzz, x, ipm,
965 8 nel)
966 ENDIF
967
968 IF ((imon_mat==1).AND. itask == 0)
CALL startime(timers,35)
969
970 ilay = 1
971 iptr = 1
972 ipts = 1
973 iptt = 1
974
975 IF(iboltp /= 0) THEN
976 IF(jcvt==0)
978 1 bpreld(3*nel+1),b1, b2, b3,
979 2 b4, b5, b6, wxx,
980 3 wyy, wzz, nel, mtn,
981 4 ismstr)
982
983 CALL boltst(iptr ,bpreld,lbuf%SIG ,tt ,nel ,
984 . npt ,sensors%NSENSOR,sensors%SENSOR_TAB)
985 END IF
986
987
988
989 CALL mmain(timers, output,
990 1 elbuf_tab, ng, pm, geo,
991 2 ale_connect, ixs, iparg,
992 3 v, tf, npf, bufmat,
993 4 sti, x, dt2t, neltst,
994 5 ityptst, offset, nel, w,
995 6 off, ngeo, mxt, ngl,
996 7 voln, vd2, dvol, deltax,
997 8 vis, qvis, cxx, s1,
998 9 s2, s3, s4, s5,
999 a s6, dxx, dyy, dzz,
1000 b d4, d5, d6, wxx,
1001 c wyy, wzz, jac1, jac2,
1002 d jac3, jac4, jac5, jac6,
1003 e vdx, vdy, vdz, muvoid,
1004 f ssp_eq, aire, sigy, et,
1005 g bufvois, lbuf%PLA, r3_free, amu,
1006 h mfxx, mfxy, mfxz, mfyx,
1007 i mfyy, mfyz, mfzx, mfzy,
1008 j mfzz, ipm, gama, fr_wav,
1009 k dxy, dyx, dyz, dzy,
1010 l dzx, dxz, istrain, tempel,
1011 m die, iexpan, ilay, mssa,
1012 n dmels, iptr, ipts, iptt,
1013 o table, fvd2, fdeltax, fcxx,
1014 p fqvis, iparg1, igeo, conde,
1015 q itask, nloc_dmg, var_reg, mat_elem,
1016 r h3d_strain, jplasol, jsph, sz_bufvois,
1017 t snpc, stf, sbufmat, glob_therm,
1018 . svis, sz_ix, iresp,
1019 . n2d, th_strain, ngroup, tt,
1020 . dt1, ntable, numelq, nummat,
1021 . numgeo, numnod, numels,
1022 . idel7nok, idtmin, maxfunc,
1023 . imon_mat, userl_avail, impl_s,
1024 . idyna, dt , fheat ,sensors)
1025
1026 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1027 IF (ism12_11==0.AND.jcvt==0) THEN
1029 . r11, r12, r13, r21, r22, r23, r31, r32, r33,offg0)
1030
1031 IF (istrain == 1) THEN
1032 CALL sordef12(lft,llt,dxx, dxy, dxz,
1033 . d4, d5, d6,
1034 . r11, r12, r13, r21, r22, r23, r31, r32, r33,offg0)
1035 ENDIF
1036 END IF
1037 ENDIF
1038
1039 IF (istrain == 1) THEN
1040
1042 1 dxx, dyy, dzz, d4,
1043 2 d5, d6, lbuf%STRA,wxx,
1044 3 wyy, wzz, off, nel,
1045 4 jcvt)
1046 ENDIF
1047 IF ((imon_mat==1).AND. itask == 0)
CALL stoptime(timers,35)
1048
1049 IF (nn_del >0) THEN
1051 1 x1, x2, x3, x4,
1052 2 x5, x6, x7, x8,
1053 3 y1, y2, y3, y4,
1054 4 y5, y6, y7, y8,
1055 5 z1, z2, z3, z4,
1056 6 z5, z6, z7, z8,
1057 7 nel)
1058 CALL sgeodel3(ngl,gbuf%OFF,voln,deltax,gbuf%VOL,geo(1,ngeo(1)),l_max,dt,nel,idel7nok )
1059 END IF
1060
1062 1 gbuf%OFF,off, nel, ismstr)
1063 itet = 0
1065 1 ngl, gbuf%OFF,voln, deltax,
1066 2 gbuf%VOL,itet, nel, ismstr,dt )
1067 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1069 1 gbuf%OFF, offg0, gbuf%SMSTR,x,
1070 2 xdp, nc1, nc2, nc3,
1071 3 nc4, nc5, nc6, nc7,
1072 4 nc8, nel, jcvt)
1073 IF (ism12_11>0 .AND. isorth == 0) THEN
1075 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,nc7 ,nc8 ,
1076 . gbuf%JAC_I,gbuf%SIG,lbuf%SIGL ,nel )
1077 END IF
1078 ENDIF
1079
1080 IF (jlag+jale+jeul == 0) THEN
1081
1082 IF (ioutprt>0)THEN
1083 IF (iparg1(64) == 1) THEN
1084 eint => elbuf_tab(ng)%GBUF%EINS(1:nel)
1085 ELSE
1086 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
1087 ENDIF
1088
1089 IF (jcvt == 0) THEN
1090 ifvm22 = 0
1091 imat = ixs(1,lft+nft)
1092 ialefvm_flg = ipm(251,imat)
1093 IF(ialefvm_flg>=2)ifvm22 = 1
1094 CALL sbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1095 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1096 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1097 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1098 . voln,iparts,gresav,grth,igrth, gbuf%OFF,
1099 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1100 . x1, x2, x3, x4, x5, x6, x7, x8,
1101 . y1, y2, y3, y4, y5, y6, y7, y8,
1102 . z1, z2, z3, z4, z5, z6, z7, z8,
1103 . itask,iparg1,sensors,gbuf%G_WPLA,gbuf%WPLA)
1104 ELSE
1105 CALL srbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1106 . vgxa, vgya, vgza, vga2, voln,iparts,
1107 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1108 . gbuf%FILL,xgxa, xgya, xgza,
1109 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg1,sensors,
1110 . nel,gbuf%G_WPLA,gbuf%WPLA)
1111 ENDIF
1112 ENDIF
1113 RETURN
1114 ENDIF
1115
1116
1117 IF (jale == 3 .AND. jlag == 1 .AND.
ale%GLOBAL%INCOMP == 0)
THEN
1118 IF(iparit == 0)THEN
1120 1 msf, mbuf%VAR,fvoln, nc1,
1121 2 nc2, nc3, nc4, nc5,
1122 3 nc6, nc7, nc8, msnf,
1123 4 nvc, off, nel)
1124 ELSE
1126 1 fskym, mbuf%VAR,fvoln, iads,
1127 2 off, nel, nft)
1128 ENDIF
1129 ELSEIF (jale+jeul > 0 .AND.
ale%GLOBAL%INCOMP == 0)
THEN
1130 IF(iparit == 0)THEN
1132 1 ms, gbuf%RHO, veul(lveul*nft+44),gbuf%TAG22,
1133 2 voln, nc1, nc2, nc3,
1134 3 nc4, nc5, nc6, nc7,
1135 4 nc8, msnf, nvc, off,
1136 5 ixs, nel, jeul)
1137 ELSE
1139 1 fskym, gbuf%RHO, veul(lveul*nft+44),gbuf%TAG22,
1140 2 voln, iads, off,
1141 3 nel, nft, jeul)
1142 ENDIF
1143 ENDIF
1144
1145 ialefvm_mat = ipm(251,ixs(1,nf1))
1146 ifvm_skip=0
1147 IF(ialefvm_mat > 1)ifvm_skip=1
1148
1149
1150
1151
1152
1153 IF(
ale%GRID%NWALE == 7 .AND. jale == 1)
THEN
1154 sum_eps(1:9) = zero
1155 sum_m = zero
1156 sum_vol = zero
1157 num_elem_ale = nel
1158 DO i=1,nel
1159 elem_mass = gbuf%RHO(i)*gbuf%VOL(i)
1160 sum_eps(1) = sum_eps(1) + elem_mass*dxx(i)
1161 sum_eps(2) = sum_eps(2) + elem_mass*dyy(i)
1162 sum_eps(3) = sum_eps(3) + elem_mass*dzz(i)
1163 sum_eps(4) = sum_eps(4) + elem_mass*dxy(i)
1164 sum_eps(5) = sum_eps(5) + elem_mass*dxz(i)
1165 sum_eps(6) = sum_eps(6) + elem_mass*dyz(i)
1166 sum_eps(7) = sum_eps(7) + elem_mass*dyx(i)
1167 sum_eps(8) = sum_eps(8) + elem_mass*dzx(i)
1168 sum_eps(9) = sum_eps(9) + elem_mass*dzy(i)
1169 sum_m = sum_m + elem_mass
1170 sum_vol = sum_vol + gbuf%VOL(i)
1171 ENDDO
1172#include "lockon.inc"
1173 ale%GRID%flow_tracking_data%EP(1) =
ale%GRID%flow_tracking_data%EP(1) + sum_eps(1)
1174 ale%GRID%flow_tracking_data%EP(2) =
ale%GRID%flow_tracking_data%EP(2) + sum_eps(2)
1175 ale%GRID%flow_tracking_data%EP(3) =
ale%GRID%flow_tracking_data%EP(3) + sum_eps(3)
1176 ale%GRID%flow_tracking_data%EP(4) =
ale%GRID%flow_tracking_data%EP(4) + sum_eps(4)
1177 ale%GRID%flow_tracking_data%EP(5) =
ale%GRID%flow_tracking_data%EP(5) + sum_eps(5)
1178 ale%GRID%flow_tracking_data%EP(6) =
ale%GRID%flow_tracking_data%EP(6) + sum_eps(6)
1179 ale%GRID%flow_tracking_data%EP(7) =
ale%GRID%flow_tracking_data%EP(7) + sum_eps(7)
1180 ale%GRID%flow_tracking_data%EP(8) =
ale%GRID%flow_tracking_data%EP(8) + sum_eps(8)
1181 ale%GRID%flow_tracking_data%EP(9) =
ale%GRID%flow_tracking_data%EP(9) + sum_eps(9)
1182 ale%GRID%flow_tracking_data%SUM_M =
ale%GRID%flow_tracking_data%SUM_M + sum_m
1183 ale%GRID%flow_tracking_data%SUM_VOL =
ale%GRID%flow_tracking_data%SUM_VOL + sum_vol
1184 ale%GRID%flow_tracking_data%NUM_ELEM_ALE =
ale%GRID%flow_tracking_data%NUM_ELEM_ALE + num_elem_ale
1185
1186#include "lockoff.inc"
1187 endif
1188
1189
1190
1191 IF (iint==3) THEN
1193 1 pm, gbuf%RHO, off, vx1,
1194 2 vx2, vx3, vx4, vx5,
1195 3 vx6, vx7, vx8, vy1,
1196 4 vy2, vy3, vy4, vy5,
1197 5 vy6, vy7, vy8, vz1,
1198 6 vz2, vz3, vz4, vz5,
1199 7 vz6, vz7, vz8, f11,
1200 8 f21, f31, f12, f22,
1201 9 f32, f13, f23, f33,
1202 a f14, f24, f34, f15,
1203 b f25, f35, f16, f26,
1204 c f36, f17, f27, f37,
1205 d f18, f28, f38, px1h1,
1206 e px1h2, px1h3, px2h1, px2h2,
1207 f px2h3, px3h1, px3h2, px3h3,
1208 g px4h1, px4h2, px4h3, voln,
1209 i gbuf%HOURG,partsav,iparts, nft,
1210 j mtn, jlag, eani , ngeo ,
1211 k ivector ,dt1 , mxt, geo,
1212 l nel, isctl, sti, cxx )
1213 ELSE
1215 1 pm, gbuf%RHO, off, vx1,
1216 2 vx2, vx3, vx4, vx5,
1217 3 vx6, vx7, vx8, vy1,
1218 4 vy2, vy3, vy4, vy5,
1219 5 vy6, vy7, vy8, vz1,
1220 6 vz2, vz3, vz4, vz5,
1221 7 vz6, vz7, vz8, f11,
1222 8 f21, f31, f12, f22,
1223 9 f32, f13, f23, f33,
1224 a f14, f24, f34, f15,
1225 b f25, f35, f16, f26,
1226 c f36, f17, f27, f37,
1227 d f18, f28, f38, px1h1,
1228 e px1h2, px1h3, px2h1, px2h2,
1229 f px2h3, px3h1, px3h2, px3h3,
1230 g px4h1, px4h2, px4h3, voln,
1231 h mxt, cxx, vis, vd2,
1232 i deltax, eani, ngeo, geo,
1233 j partsav, iparts, gbuf%OFF, gbuf%VOL,
1234 k iparg1, ifvm_skip,nel, nft,
1235 l mtn, ismstr, jlag, jhbe)
1236 END IF
1237
1238 IF (jale == 3) THEN
1240 1 pm, mbuf%VAR,off, fvx1,
1241 2 fvx2, fvx3, fvx4, fvx5,
1242 3 fvx6, fvx7, fvx8, fvy1,
1243 4 fvy2, fvy3, fvy4, fvy5,
1244 5 fvy6, fvy7, fvy8, fvz1,
1245 6 fvz2, fvz3, fvz4, fvz5,
1246 7 fvz6, fvz7, fvz8, ff11,
1247 8 ff21, ff31, ff12, ff22,
1248 9 ff32, ff13, ff23, ff33,
1249 a ff14, ff24, ff34, ff15,
1250 b ff25, ff35, ff16, ff26,
1251 c ff36, ff17, ff27, ff37,
1252 d ff18, ff28, ff38, fpx1h1,
1253 e fpx1h2, fpx1h3, fpx2h1, fpx2h2,
1254 f fpx2h3, fpx3h1, fpx3h2, fpx3h3,
1255 g fpx4h1, fpx4h2, fpx4h3, fvoln,
1256 h mxt, fcxx, vis, fvd2,
1257 i fdeltax, eani, ngeo, geo,
1258 j partsav, iparts, nel, nft,
1259 k jlag, jhbe)
1260
1261 ENDIF
1262
1263 IF (jclose /= 0)
1265 1 hh, gbuf%RHO,voln, vx1,
1266 2 vx2, vx3, vx4, vx5,
1267 3 vx6, vx7, vx8, vy1,
1268 4 vy2, vy3, vy4, vy5,
1269 5 vy6, vy7, vy8, vz1,
1270 6 vz2, vz3, vz4, vz5,
1271 7 vz6, vz7, vz8, f11,
1272 8 f21, f31, f12, f22,
1273 9 f32, f13, f23, f33,
1274 a f14, f24, f34, f15,
1275 b f25, f35, f16, f26,
1276 c f36, f17, f27, f37,
1277 d f18, f28, f38, nel)
1278
1279 ialefvm_mat = ipm(251,ixs(1,nf1))
1280 IF(ialefvm_mat <= 1)THEN
1281 IF (jale == 1 .OR. (jeul == 1.AND.integ8 == 0)) THEN
1282
1284 1 pm, gbuf%RHO, voln, x1,
1285 2 x2, x3, x4, x5,
1286 3 x6, x7, x8, y1,
1287 4 y2, y3, y4, y5,
1288 5 y6, y7, y8, z1,
1289 6 z2, z3, z4, z5,
1290 7 z6, z7, z8, vx1,
1291 8 vx2, vx3, vx4, vx5,
1292 9 vx6, vx7, vx8, vy1,
1293 a vy2, vy3, vy4, vy5,
1294 b vy6, vy7, vy8, vz1,
1295 c vz2, vz3, vz4, vz5,
1296 d vz6, vz7, vz8, f11,
1297 e f21, f31, f12, f22,
1298 f f32, f13, f23, f33,
1299 g f14, f24, f34, f15,
1300 h f25, f35, f16, f26,
1301 i f36, f17, f27, f37,
1302 j f18, f28, f38, px1,
1303 k px2, px3, px4, py1,
1304 l py2, py3, py4, pz1,
1305 m pz2, pz3, pz4, dxx,
1306 n dxy, dxz, dyx, dyy,
1307 o dyz, dzx, dzy, dzz,
1308 p vdx1, vdx2, vdx3, vdx4,
1309 q vdx5, vdx6, vdx7, vdx8,
1310 r vdy1, vdy2, vdy3, vdy4,
1311 s vdy5, vdy6, vdy7, vdy8,
1312 t vdz1, vdz2, vdz3, vdz4,
1313 u vdz5, vdz6, vdz7, vdz8,
1314 v vdx, vdy, vdz, deltax,
1315 w vis, mxt, qmv, bufmat,
1316 x iparg1, ixs, gbuf%TAG22,nc1,
1317 y nc2, nc3, nc4, nc5,
1318 z nc6, nc7, nc8, nale,
1319 1 nel, nft, mtn, ipm)
1320
1321 ELSEIF (jeul == 1 .AND. integ8 == 1) THEN
1322
1324 1 pm, gbuf%RHO, veul(lveul*nft+44),f11,
1325 2 f21, f31, f12, f22,
1326 3 f32, f13, f23, f33,
1327 4 f14, f24, f34, f15,
1328 5 f25, f35, f16, f26,
1329 6 f36, f17, f27, f37,
1330 7 f18, f28, f38, px1,
1331 8 px2, px3, px4, py1,
1332 9 py2, py3, py4, pz1,
1333 a pz2, pz3, pz4, px5,
1334 b px6, px7, px8, py5,
1335 c py6, py7, py8, pz5,
1336 d pz6, pz7, pz8, dxx,
1337 e dxy, dxz, dyx, dyy,
1338 f dyz, dzx, dzy, dzz,
1339 g vdx, vdy, vdz, mxt,
1340 h qmv, bufmat, vx1, vx2,
1341 i vx3, vx4, vx5, vx6,
1342 j vx7, vx8, vy1, vy2,
1343 k vy3, vy4, vy5, vy6,
1344 l vy7, vy8, vz1, vz2,
1345 m vz3, vz4, vz5, vz6,
1346 n vz7, vz8, iparg1, nel,
1347 o mtn, ipm)
1348 ENDIF
1349
1351 1 f32,f13,f23,f33,f14,
1352 2 f24,f34,f15,f25,f35,
1353 3 f16,f26,f36,f17,f27,
1354 4 f37,f18,f28,f38,gbuf%OFF,
1355 5 lft,llt,nel)
1356
1357 IF (jale == 3 )THEN
1359 1 pm, mbuf%VAR, fvoln, fx1,
1360 2 fx2, fx3, fx4, fx5,
1361 3 fx6, fx7, fx8, fy1,
1362 4 fy2, fy3, fy4, fy5,
1363 5 fy6, fy7, fy8, fz1,
1364 6 fz2, fz3, fz4, fz5,
1365 7 fz6, fz7, fz8, fvx1,
1366 8 fvx2, fvx3, fvx4, fvx5,
1367 9 fvx6, fvx7, fvx8, fvy1,
1368 a fvy2, fvy3, fvy4, fvy5,
1369 b fvy6, fvy7, fvy8, fvz1,
1370 c fvz2, fvz3, fvz4, fvz5,
1371 d fvz6, fvz7, fvz8, ff11,
1372 e ff21, ff31, ff12, ff22,
1373 f ff32, ff13, ff23, ff33,
1374 g ff14, ff24, ff34, ff15,
1375 h ff25, ff35, ff16, ff26,
1376 i ff36, ff17, ff27, ff37,
1377 j ff18, ff28, ff38, fpx1,
1378 k fpx2, fpx3, fpx4, fpy1,
1379 l fpy2, fpy3, fpy4, fpz1,
1380 m fpz2, fpz3, fpz4, fdxx,
1381 n fdxy, fdxz, fdyx, fdyy,
1382 o fdyz, fdzx, fdzy, fdzz,
1383 p fvdx1, fvdx2, fvdx3, fvdx4,
1384 q fvdx5, fvdx6, fvdx7, fvdx8,
1385 r fvdy1, fvdy2, fvdy3, fvdy4,
1386 s fvdy5, fvdy6, fvdy7, fvdy8,
1387 t fvdz1, fvdz2, fvdz3, fvdz4,
1388 u fvdz5, fvdz6, fvdz7, fvdz8,
1389 v fvdx, fvdy, fvdz, fdeltax,
1390 w vis, mxt, qmv, bufmat,
1391 x iparg1, ixs, gbuf%TAG22,nc1,
1392 y nc2, nc3, nc4, nc5,
1393 z nc6, nc7, nc8, nale,
1394 1 nel, nft, mtn, ipm)
1395 ENDIF
1396 ENDIF
1397
1398 IF (ioutprt>0)THEN
1399
1400 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
1401 IF (jcvt == 0) THEN
1402 ifvm22 = 0
1403 imat = ixs(1,lft+nft)
1404 ialefvm_flg = ipm(251,imat)
1405 IF(ialefvm_flg>=2)ifvm22 = 1
1406 CALL sbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1407 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1408 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1409 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1410 . voln,iparts,gresav,grth,igrth,gbuf%OFF,
1411 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1412 . x1, x2, x3, x4, x5, x6, x7, x8,
1413 . y1, y2, y3, y4, y5, y6, y7, y8,
1414 . z1, z2, z3, z4, z5, z6, z7, z8,
1415 . itask,iparg1,sensors,gbuf%G_WPLA,gbuf%WPLA)
1416 ELSE
1417 CALL srbilan(partsav,eint ,gbuf%RHO,gbuf%RK,gbuf%VOL ,
1418 . vgxa ,vgya ,vgza ,vga2 ,voln ,
1419 . iparts ,gresav ,grth ,igrth ,gbuf%OFF ,
1420 . iexpan ,gbuf%EINTTH,gbuf%FILL,xgxa, xgya, xgza,
1421 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg1,sensors,
1422 . nel,gbuf%G_WPLA,gbuf%WPLA)
1423 ENDIF
1424 ENDIF
1425
1426
1427 IF (isrot == 0)THEN
1429 1 gbuf%SIG,px1, px2, px3,
1430 2 px4, py1, py2, py3,
1431 3 py4, pz1, pz2, pz3,
1432 4 pz4, px5, px6, px7,
1433 5 px8, py5, py6, py7,
1434 6 py8, pz5, pz6, pz7,
1435 7 pz8, f11, f21, f31,
1436 8 f12, f22, f32, f13,
1437 9 f23, f33, f14, f24,
1438 a f34, f15, f25, f35,
1439 b f16, f26, f36, f17,
1440 c f27, f37, f18, f28,
1441 d f38, voln, qvis, n1x,
1442 e n2x, n3x, n4x, n5x,
1443 f n6x, n1y, n2y, n3y,
1444 g n4y, n5y, n6y, n1z,
1445 h n2z, n3z, n4z, n5z,
1446 i n6z, dfe, p, ixs,
1447 j nel, nft, jale, jeul,
1448 k svis)
1449 ELSE
1450 iisrot = 1
1452 1 gbuf%SIG, lbuf%SIGD,x, nc1,
1453 2 nc2, nc3, nc4, nc5,
1454 3 nc6, nc7, nc8, px1,
1455 4 px2, px3, px4, py1,
1456 5 py2, py3, py4, pz1,
1457 6 pz2, pz3, pz4, px5,
1458 7 px6, px7, px8, py5,
1459 8 py6, py7, py8, pz5,
1460 9 pz6, pz7, pz8, f11,
1461 a f21, f31, f12, f22,
1462 b f32, f13, f23, f33,
1463 c f14, f24, f34, f15,
1464 d f25, f35, f16, f26,
1465 e f36, f17, f27, f37,
1466 f f18, f28, f38, voln,
1467 g qvis, dr, gbuf%RHO, cxx,
1468 h mx1, my1, mz1, mx2,
1469 i my2, mz2, mx3, my3,
1470 j mz3, mx4, my4, mz4,
1471 k mx5, my5, mz5, mx6,
1472 l my6, mz6, mx7, my7,
1473 m mz7, mx8, my8, mz8,
1474 n ixs, nel, ismstr, svis)
1475 ENDIF
1476
1477 IF (jale == 3) THEN
1478
1479 nbf1 = nel*4
1480 nbf2 = nel + nbf1
1481 nbf3 = nel + nbf2
1482 DO i=1,nel
1483 sigf(i,1) = mbuf%VAR(nbf1 + i)
1484 sigf(i,2) = mbuf%VAR(nbf2 + i)
1485 sigf(i,3) = mbuf%VAR(nbf3 + i)
1486 sigf(i,4) = zero
1487 sigf(i,5) = zero
1488 sigf(i,6) = zero
1489 ENDDO
1491 1 sigf, dfe, fpx1, fpx2,
1492 2 fpx3, fpx4, fpy1, fpy2,
1493 3 fpy3, fpy4, fpz1, fpz2,
1494 4 fpz3, fpz4, ff11, ff21,
1495 5 ff31, ff12, ff22, ff32,
1496 6 ff13, ff23, ff33, ff14,
1497 7 ff24, ff34, ff15, ff25,
1498 8 ff35, ff16, ff26, ff36,
1499 9 ff17, ff27, ff37, ff18,
1500 a ff28, ff38, fvoln, fqvis,
1501 b fn1x, fn2x, fn3x, fn4x,
1502 c fn5x, fn6x, fn1y, fn2y,
1503 d fn3y, fn4y, fn5y, fn6y,
1504 e fn1z, fn2z, fn3z, fn4z,
1505 f fn5z, fn6z, llt)
1506 ENDIF
1507
1508 ialefvm_mat = ipm(251,ixs(1,nf1))
1509 IF (ialefvm_mat > 1) THEN
1510
1511
1513 1 ixs, nv46 , gbuf%SIG, ale_connect,
1514 2 n1x, n2x, n3x, n4x, n5x, n6x,
1515 4 n1y, n2y, n3y, n4y, n5y, n6y,
1516 5 n1z, n2z, n3z, n4z, n5z, n6z,
1517 7 x, ipm, nale,
1518 8 w, p, nel, wfext)
1519
1520
1522
1523
1525 IF(int22/=0)THEN
1527 ENDIF
1528
1529
1531 1 ixs, gbuf%SIG, qvis,
1532 2 n1x, n2x, n3x, n4x,
1533 3 n5x, n6x, n1y, n2y,
1534 4 n3y, n4y, n5y, n6y,
1535 5 n1z, n2z, n3z, n4z,
1536 6 n5z, n6z, x, ipm,
1537 7 gbuf%RHO, gbuf%VOL,
1538 8 nel, gbuf%MOM, lbuf%SSP, svis)
1539 IF(int22/=0)THEN
1541 1 ixs, gbuf%SIG, qvis,
1542 2 n1x, n2x, n3x, n4x, n5x, n6x,
1543 3 n1y, n2y, n3y, n4y, n5y, n6y,
1544 4 n1z, n2z, n3z, n4z, n5z, n6z,
1545 5 ipm, gbuf%RHO, gbuf%VOL, gbuf%TAG22,
1546 6 nel, gbuf%MOM, lbuf%SSP, svis)
1547 ENDIF
1548 ENDIF
1549
1550
1551
1552
1553 IF (inloc > 0) THEN
1555 1 nloc_dmg ,var_reg ,nel ,off ,
1556 2 voln ,elbuf_tab(ng)%NLOCS,gbuf%VOL ,
1557 3 px1 ,px2 ,px3 ,px4 ,
1558 4 py1 ,py2 ,py3 ,py4 ,
1559 5 pz1 ,pz2 ,pz3 ,pz4 ,
1560 6 mxt(lft) ,itask ,dt2t ,nft )
1561 ENDIF
1562
1563
1564 IF (jthe < 0) THEN
1565
1566 imat = mxt(1)
1567 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
1569 1 pm, imat, voln, nc1,
1570 2 nc2, nc3, nc4, nc5,
1571 3 nc6, nc7, nc8, px1,
1572 4 px2, px3, px4, py1,
1573 5 py2, py3, py4, pz1,
1574 6 pz2, pz3, pz4, dt1,
1575 7 temp, tempel, fheat, them,
1576 8 gbuf%OFF,lbuf%OFF,partsav, iparts,
1577 9 gbuf%VOL,nel ,numnod ,glob_therm%THEACCFACT)
1578 ELSE
1580 1 pm, imat, voln, nc1,
1581 2 nc2, nc3, nc4, nc5,
1582 3 nc6, nc7, nc8, px1,
1583 4 px2, px3, px4, py1,
1584 5 py2, py3, py4, pz1,
1585 6 pz2, pz3, pz4, dt1,
1586 7 temp, tempel, die, them,
1587 8 gbuf%OFF,lbuf%OFF,partsav, iparts,
1588 9 gbuf%VOL,nel ,numnod ,glob_therm%THEACCFACT)
1589 END IF
1590 ENDIF
1591
1592 IF (jcvt /= 0) THEN
1593
1595 1 r11, r21, r31, r12,
1596 2 r22, r32, r13, r23,
1597 3 r33, f11, f12, f13,
1598 4 f14, f15, f16, f17,
1599 5 f18, f21, f22, f23,
1600 6 f24, f25, f26, f27,
1601 7 f28, f31, f32, f33,
1602 8 f34, f35, f36, f37,
1603 9 f38, nel)
1604 IF(jale == 3) THEN
1606 1 r11, r21, r31, r12,
1607 2 r22, r32, r13, r23,
1608 3 r33, ff11, ff12, ff13,
1609 4 ff14, ff15, ff16, ff17,
1610 5 ff18, ff21, ff22, ff23,
1611 6 ff24, ff25, ff26, ff27,
1612 7 ff28, ff31, ff32, ff33,
1613 8 ff34, ff35, ff36, ff37,
1614 9 ff38, nel)
1615 ENDIF
1616 ENDIF
1617
1618
1619
1620 IF (isctl > 0) THEN
1621 CALL sdistor_ini(
1622 1 nel ,sti_c ,npropm ,nummat ,
1623 2 ismstr ,mxt ,istab ,pm ,
1624 3 gbuf%SIG ,gbuf%RHO ,cxx ,off ,
1625 4 gbuf%OFF ,ll ,voln ,fld ,
1626 5 cns2 ,fqmax )
1627
1628 IF (ismstr == 1.OR.ismstr >= 11.OR.jcvt > 0)
1630 . nc1, nc2, nc3, nc4,
1631 . nc5, nc6, nc7, nc8,
1632 . x1, x2, x3, x4,
1633 . x5, x6, x7, x8,
1634 . y1, y2, y3, y4,
1635 . y5, y6, y7, y8,
1636 . z1, z2, z3, z4,
1637 . z5, z6, z7, z8,
1638 . x, xdp, numnod, nel )
1639 IF (jcvt > 0) THEN
1640 DO i=1,nel
1641 vx1(i)=v(1,nc1(i))
1642 vy1(i)=v(2,nc1(i))
1643 vz1(i)=v(3,nc1(i))
1644 vx2(i)=v(1,nc2(i))
1645 vy2(i)=v(2,nc2(i))
1646 vz2(i)=v(3,nc2(i))
1647 vx3(i)=v(1,nc3(i))
1648 vy3(i)=v(2,nc3(i))
1649 vz3(i)=v(3,nc3(i))
1650 vx4(i)=v(1,nc4(i))
1651 vy4(i)=v(2,nc4(i))
1652 vz4(i)=v(3,nc4(i))
1653 vx5(i)=v(1,nc5(i))
1654 vy5(i)=v(2,nc5(i))
1655 vz5(i)=v(3,nc5(i))
1656 vx6(i)=v(1,nc6(i))
1657 vy6(i)=v(2,nc6(i))
1658 vz6(i)=v(3,nc6(i))
1659 vx7(i)=v(1,nc7(i))
1660 vy7(i)=v(2,nc7(i))
1661 vz7(i)=v(3,nc7(i))
1662 vx8(i)=v(1,nc8(i))
1663 vy8(i)=v(2,nc8(i))
1664 vz8(i)=v(3,nc8(i))
1665 ENDDO
1666 END IF
1668 . x1, x2, x3, x4,
1669 . x5, x6, x7, x8,
1670 . y1, y2, y3, y4,
1671 . y5, y6, y7, y8,
1672 . z1, z2, z3, z4,
1673 . z5, z6, z7, z8,
1674 . vx1, vx2, vx3, vx4,
1675 . vx5, vx6, vx7, vx8,
1676 . vy1, vy2, vy3, vy4,
1677 . vy5, vy6, vy7, vy8,
1678 . vz1, vz2, vz3, vz4,
1679 . vz5, vz6, vz7, vz8,
1680 . f11, f12, f13, f14,
1681 . f15, f16, f17, f18,
1682 . f21, f22, f23, f24,
1683 . f25, f26, f27, f28,
1684 . f31, f32, f33, f34,
1685 . f35, f36, f37, f38,
1686 . sti, sti_c, fld , cns2,
1687 . ll , istab, fqmax, nel,
1688 . gbuf%EINT_DISTOR, dt1)
1689 ENDIF
1690
1692 1 gbuf%FILL,sti, f11, f21,
1693 2 f31, f12, f22, f32,
1694 3 f13, f23, f33, f14,
1695 4 f24, f34, f15, f25,
1696 5 f35, f16, f26, f36,
1697 6 f17, f27, f37, f18,
1698 7 f28, f38, nel)
1699
1700
1701 IF(iparit == 0)THEN
1703 1 gbuf%OFF,a, nc1, nc2,
1704 2 nc3, nc4, nc5, nc6,
1705 3 nc7, nc8, stifn, sti,
1706 4 f11, f21, f31, f12,
1707 5 f22, f32, f13, f23,
1708 6 f33, f14, f24, f34,
1709 7 f15, f25, f35, f16,
1710 8 f26, f36, f17, f27,
1711 9 f37, f18, f28, f38,
1712 a nvc, ar, fr_wave, fr_wav,
1713 b mx1, my1, mz1, mx2,
1714 c my2, mz2, mx3, my3,
1715 d mz3, mx4, my4, mz4,
1716 e mx5, my5, mz5, mx6,
1717 f my6, mz6, mx7, my7,
1718 g mz7, mx8, my8, mz8,
1719 h them, fthe, condn, conde,
1720 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1721 ELSE
1723 1 gbuf%OFF,sti, fsky, fsky,
1724 2 iads, f11, f21, f31,
1725 3 f12, f22, f32, f13,
1726 4 f23, f33, f14, f24,
1727 5 f34, f15, f25, f35,
1728 6 f16, f26, f36, f17,
1729 7 f27, f37, f18, f28,
1730 8 f38, nc1, nc2, nc3,
1731 9 nc4, nc5, nc6, nc7,
1732 a nc8, ar, fr_wave, fr_wav,
1733 b mx1, my1, mz1, mx2,
1734 c my2, mz2, mx3, my3,
1735 d mz3, mx4, my4, mz4,
1736 e mx5, my5, mz5, mx6,
1737 f my6, mz6, mx7, my7,
1738 g mz7, mx8, my8, mz8,
1739 h them, fthesky, condnsky,conde,
1740 i nel, nft, jthe, isrot,
1741 j ipartsph,glob_therm%NODADT_THERM)
1742 ENDIF
1743
1744 IF(jale == 3) THEN
1745 IF(iparit == 0 ) THEN
1747 1 gbuf%OFF,af, nc1, nc2,
1748 2 nc3, nc4, nc5, nc6,
1749 3 nc7, nc8, stifn, sti,
1750 4 ff11, ff21, ff31, ff12,
1751 5 ff22, ff32, ff13, ff23,
1752 6 ff33, ff14, ff24, ff34,
1753 7 ff15, ff25, ff35, ff16,
1754 8 ff26, ff36, ff17, ff27,
1755 9 ff37, ff18, ff28, ff38,
1756 a nvc, nel)
1757
1758 ELSE
1760 1 gbuf%OFF,sti, ffsky, iads,
1761 2 ff11, ff21, ff31, ff12,
1762 3 ff22, ff32, ff13, ff23,
1763 4 ff33, ff14, ff24, ff34,
1764 5 ff15, ff25, ff35, ff16,
1765 6 ff26, ff36, ff17, ff27,
1766 7 ff37, ff18, ff28, ff38,
1767 8 nc1, nc2, nc3, nc4,
1768 9 nc5, nc6, nc7, nc8,
1769 a nel, nft)
1770 ENDIF
1771 ENDIF
1772
1773 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1774 RETURN
subroutine aleflow(pm, mat, x, mbuf, nel, ixs, ale_connect, v, a, w, dfe, frho0, alpha, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, phi1, phi2, flux, flu1, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, lvx1, lvx2, lvx3, lvx4, lvx5, lvx6, lvx7, lvx8, lvy1, lvy2, lvy3, lvy4, lvy5, lvy6, lvy7, lvy8, lvz1, lvz2, lvz3, lvz4, lvz5, lvz6, lvz7, lvz8, por, icontact, ifoam)
subroutine alefvm_epsdot(ixs, vol, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, dxx, dyy, dzz, x, ipm, nel)
subroutine alefvm_freset(iad22)
subroutine alefvm_gravity(voln, ixs, rho)
subroutine alefvm_gravity_int22(voln, ixs, rho, iad22)
subroutine alefvm_stress(ixs, sig, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, x, ipm, rho, vol, nel, mom, ssp, svis)
subroutine alefvm_stress_int22(ixs, sig, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, ipm, rho, vol, iad22, nel, mom, ssp, svis)
subroutine alefvm_tfext(ixs, nv46, sig, ale_connect, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, x, ipm, nale, w, p, nel, wfext)
subroutine amass3(ms, rho, volgp, tag22, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, msnf, nvc, off, ixs, nel, jeul)
subroutine amass3f(ms, rho, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, msnf, nvc, off, nel)
subroutine amass3p(fskym, rho, volgp, tag22, volu, iads, off, ixs, nel, nft, jeul)
subroutine amass3pf(fskym, rho, volu, iads, off, nel, nft)
subroutine amomt3(pm, rho, vol, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, deltax, vis, mat, qmv, bufmat, iparg1, ixs, iad22, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nale, nel, nft, mtn, ipm)
subroutine boltst(ip, bpreld, sig, tt, nel, npt, nsensor, sensor_tab)
subroutine check_off_ale(f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, off, lft, llt, nel)
subroutine deltax22(vol, veul, voln, deltax, iad22, ixs, lft, llt, jale, jeul)
subroutine emomt3b(pm, rho, volgp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vdx, vdy, vdz, mat, qmv, bufmat, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, iparg1, nel, mtn, ipm)
subroutine epxle3(vol, 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, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, det, deltax, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel, nft, jhbe)
subroutine fcumu3(offg, f, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, stifn, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nvc, nel)
subroutine fcumu3p(offg, sti, fsky, iads, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel, nft)
subroutine fdefo3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, vxr, vyr, vzr, dd, nel, jhbe, jcvt, isrot)
subroutine fderi3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, nel, jhbe)
subroutine fdlen3(voln, deltax, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel)
subroutine fe_close(hh, rho, voln, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel)
subroutine ffint3(sig, dfe, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, vol, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel)
subroutine fhvis3(pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, mat, cxx, vis, vd2, deltax, eani, pid, geo, partsav, iparts, nel, nft, jlag, jhbe)
subroutine frho3(uvar, rho0, dxx, dyy, dzz, flux, flu1, voln, ngl, mat, off, nel)
subroutine mmain(pm, elbuf_str, ix, nix, x, geo, iparg, nel, skew, bufmat, ipart, ipartel, nummat, matparam, imat, ipm, ngl, pid, npf, tf, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, rx, ry, rz, sx, sy, sz, gama, voln, dvol, s1, s2, s3, s4, s5, s6, dxx, dyy, dzz, d4, d5, d6, wxx, wyy, wzz)
subroutine s11defo3(pm, v, veul, x, ixs, ale_connect, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, bufmat, nel, nft, ipm, nummat, numels)
subroutine s11fx3(pm, flux, ale_connect, ixs, ipm, bufmat, nel, nft, jale, jeul, nummat, s_ixs)
subroutine s8for_distor(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f12, f13, f14, f15, f16, f17, f18, f21, f22, f23, f24, f25, f26, f27, f28, f31, f32, f33, f34, f35, f36, f37, f38, sti, sti_c, fld, mu, ll, istab, fqmax, nel, e_distor, dt1)
subroutine s8get_x3(nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, x, xdp, numnod, nel)
subroutine s8sav12(offg, offg0, sav, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel, jcvt)
subroutine s8sav3(offg, sav, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, nel)
subroutine s8savsr3(offg, sav, xd, yd, zd, nel)
subroutine s8upd11t12(offg, offg0, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, jac_1, sig, sigl, nel)
subroutine s_hg5(pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, fhour, partsav, iparts, nft, mtn, jlag, eani, pid, ivector, dt1, mat, geo, nel, isctl, sti, cxx)
subroutine sbilan(partsav, eint, rho, rk, vol, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, mom, nel, ifvm22, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, itask, iparg, sensors, g_wpla, wpla)
subroutine scoor3_fvm(x, ixs, v, w, gama, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, vis, offg, off, rho, rhoo, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, xdp, iparg, ng, nel, mom, tag22)
subroutine scoor_cp2sp(x0, y0, z0, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
subroutine scumu3(offg, e, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, stifn, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nvc, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthe, condn, conde, nel, jthe, isrot, ipartsph, nodadt_therm)
subroutine scumu3p(offg, sti, fsky, fskyv, iads, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthesky, condnsky, conde, nel, nft, jthe, isrot, ipartsph, nodadt_therm)
subroutine sderit3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, jac1, jac2, jac3, jac4, jac5, jac6, nel, jhbe)
subroutine sderito3(off, det, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, nel)
subroutine sdlenmax(lm_max, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
subroutine sfillopt(fill, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel)
subroutine sfint3(sig, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, vol, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, dfe, pbak, ixs, nel, nft, jale, jeul, svis)
subroutine sfint3b(sig, sigd, x, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, vol, qvis, dr, rho, cxx, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, ixs, nel, ismstr, svis)
subroutine sfint_reg(nloc_dmg, var_reg, nel, off, vol, nlocs, vol0, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, imat, itask, dt2t, nft)
subroutine sgcoor3(time, npe, x, ixs, x0, y0, z0, vx0, vy0, vz0, sav, d, off, off0, nel, xdp, mtn, ismstr)
subroutine sgeodel3(ngl, offg, volg, deltax, volg0, geo, l_max, dt, nel, idel7nok)
subroutine shvis3(pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, mat, cxx, vis, vd2, deltax, eani, pid, geo, partsav, iparts, offg, vol0, iparg1, ifvm_skip, nel, nft, mtn, ismstr, jlag, jhbe)
subroutine smalla3(sav, offg, off, wxx, wyy, wzz, nel, ismstr, jlag)
subroutine smallb3(offg, off, nel, ismstr)
subroutine smallgeo3(ngl, offg, volg, deltax, volg0, itet, nel, ismstr, dt)
subroutine sordef12(jft, jlt, dxx, dyy, dzz, d4, d5, d6, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
subroutine sordeft12(jft, jlt, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
subroutine srbilan(partsav, eint, rho, rk, vol, vxa, vya, vza, va2, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, xx, yy, zz, xx2, yy2, zz2, xy, yz, zx, itask, iparg, sensors, nel, g_wpla, wpla)
subroutine srcoor12(off, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, jhbe)
subroutine sdefot3(nel, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz)
subroutine sordeft3(nel, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
subroutine srmalla3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
subroutine srmalla11(sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr)
subroutine srota3(sig, s1, s2, s3, s4, s5, s6, wxx, wyy, wzz, nel, mtn, ismstr)
subroutine sroto12_sig(jft, jlt, sig, nel, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
subroutine srrotadp(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
subroutine mod_close(geo, 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)
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 sdefo3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz)
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 srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
subroutine srrota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, 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 startime(event, itask)
subroutine stoptime(event, itask)
subroutine stherm(pm, imat, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dt1, tempnc, tempel, heat, fphi, offg, off, partsav, iparts, vol0, nel, numnod, theaccfact)
subroutine voln22(voln, iad22, ixs, lft, llt, jale, jeul)