89 1 ELBUF_TAB, NG, PM, GEO,
92 4 VEUL, FV, ALE_CONNECT,IPARG,
93 5 TF, NPF, BUFMAT, PARTSAV,
94 6 NLOC_DMG, DT2T, NELTST, ITYPTST,
95 7 STIFN, FSKY, IADS, OFFSET,
96 8 EANI, IPARTS, F11, F21,
99 B F24, F34, NEL, FSKYM,
100 C MSNF, IPM, IGEO, BUFVOIS,
101 D ISTRAIN, ITASK, TEMP, FTHE,
102 E FTHESKY, IEXPAN, GRESAV, GRTH,
103 F IGRTH, MSSA, DMELS, TABLE,
104 G XDP, SFEM_NODVAR, VOLN, CONDN,
105 H CONDNSKY, D, SENSORS, IOUTPRT,
106 I MAT_ELEM, H3D_STRAIN, DT, IDEL7NOK,NSVOIS,SZ_BUFVOIS,
107 * SNPC, STF, SBUFMAT, SVIS,IDTMINS,IRESP,
108 * IDEL7NG, MAXFUNC, USERL_AVAIL, GLOB_THERM,
109 V impl_s, idyna, S_SFEM_NODVAR)
114 USE output_mod,
only : output_
124 USE sdistor_ini_mod,
ONLY : sdistor_ini
127 use element_mod ,
only : nixs
131#include "implicit_f.inc"
135#include "mvsiz_p.inc"
139#include "com01_c.inc"
140#include "com04_c.inc"
141#include "com08_c.inc"
142#include "vect01_c.inc"
143#include "scr06_c.inc"
144#include "parit_c.inc"
145#include "param_c.inc"
146#include "timeri_c.inc"
147#include "scr18_c.inc"
151 TYPE(timer_) ,
INTENT(INOUT) :: TIMERS
152 TYPE(OUTPUT_),
INTENT(INOUT) :: OUTPUT
153 INTEGER,
INTENT(IN) :: S_SFEM_NODVAR
154 INTEGER,
INTENT(IN) :: SNPC
155 INTEGER,
INTENT(IN) :: STF
156 INTEGER,
INTENT(IN) :: NSVOIS
157 INTEGER,
INTENT(IN) :: SZ_BUFVOIS
158 INTEGER,
INTENT(IN) :: SBUFMAT
159 INTEGER,
INTENT(INOUT) :: IDEL7NOK
160 INTEGER,
INTENT(IN) :: IDTMINS
161 INTEGER ,
INTENT(IN) :: IRESP
162 INTEGER ,
INTENT(IN) :: MAXFUNC
163 INTEGER ,
INTENT(IN) :: IDEL7NG
164 INTEGER,
INTENT(IN) :: IMPL_S
165 INTEGER,
INTENT(IN) :: IDYNA
166 INTEGER,
INTENT(IN) :: USERL_AVAIL
167 INTEGER IXS(NIXS,*), IPARG(NPARG,NGROUP), NPF(*),IADS(8,*),
168 . IPARTS(*),IPM(NPROPMI,*),IGEO(NPROPGI,*),ITASK,
169 . GRTH(*),IGRTH(*),IOUTPRT
171 INTEGER NELTST,ITYPTST,OFFSET,NEL,NG, ISTRAIN,
180 . pm(npropm,*), geo(npropg,*), x(3,*), a(*), v(*), ms(*), w(*), flux(6,*),
181 . flu1(*), veul(*), fv(*), tf(*), bufmat(*),
182 . partsav(*),stifn(*), fsky(*),eani(*), fskym(*),
184 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
185 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
186 . f14(mvsiz),f24(mvsiz),f34(mvsiz),d(*),
187 . temp(*), fthe(*), fthesky(*),gresav(*), mssa(*), dmels(*), voln(mvsiz)
189 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
191 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
192 TYPE (NLOCAL_STR_) ,
TARGET :: NLOC_DMG
193 TYPE(t_ale_connectivity),
INTENT(IN) :: ALE_CONNECT
194 TYPE (MAT_ELEM_) ,
INTENT(INOUT) :: MAT_ELEM
195 TYPE (SENSORS_) ,
INTENT(INOUT) :: SENSORS
196 TYPE(DT_),
INTENT(INOUT) :: DT
197 type (glob_therm_) ,
intent(inout) :: glob_therm
201 INTEGER I,IBID,NF1,IFLAG,IPTR,IPTS,IPTT,ILAY,IMAT
202 INTEGER IBIDON(1),ITET,IP
204 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ)
206 . VD2(MVSIZ) , DVOL(MVSIZ),DELTAX(MVSIZ),
207 . VIS() , QVIS(MVSIZ), CXX(MVSIZ) ,
208 . S1(MVSIZ) , S2(MVSIZ) , S3(MVSIZ) ,
209 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
210 . b1(mvsiz) , b2(mvsiz) , b3(mvsiz) ,
211 . b4(mvsiz) , b5(mvsiz) , b6(mvsiz) ,
212 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
213 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
214 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
215 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
216 . tx(mvsiz) , ty(mvsiz) , tz(mvsiz) ,
217 . vdx(mvsiz), vdy(mvsiz), vdz(mvsiz),ssp_eq(mvsiz),
218 . conde(mvsiz),divde(mvsiz)
221 . X0(MVSIZ,4),Y0(MVSIZ,4),Z0(MVSIZ,4),
222 . xd1(mvsiz), xd2(mvsiz), xd3(mvsiz), xd4(mvsiz),
223 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
224 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),voldp(mvsiz)
226 ! variables used as arguments by materials
228 . sti(mvsiz), gama(mvsiz,6),
229 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz),aire(mvsiz)
236 . sigy(mvsiz),et(mvsiz),r3_free(mvsiz)
238 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ)
240 . OFF(MVSIZ) , RHOO(MVSIZ),OFFG0(MVSIZ) ,
241 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
242 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
243 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
244 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
245 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
246 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
247 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
248 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
249 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
250 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
251 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
252 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
253 . dxy(mvsiz),dyx(mvsiz),
254 . dyz(mvsiz),dzy(mvsiz),
255 . dzx(mvsiz),dxz(mvsiz),
256 . e1x(mvsiz) , e1y(mvsiz) , e1z(mvsiz) ,
257 . e2x(mvsiz) , e2y(mvsiz) , e2z(mvsiz) ,
258 . e3x(mvsiz) , e3y(mvsiz) , e3z(mvsiz) ,rho_0,
259 . tempel(mvsiz), them(mvsiz,4) , die(mvsiz)
262 . vx0(mvsiz,4),vy0(mvsiz,4),vz0(mvsiz,4),
263 . mfxx(mvsiz),mfxy(mvsiz),mfyx(mvsiz),
264 . mfyy(mvsiz),mfyz(mvsiz),mfzy(mvsiz),
265 . mfzz(mvsiz),mfzx(mvsiz),mfxz(mvsiz),bid(mvsiz),amu(mvsiz),
266 . fld(mvsiz),sti_c(mvsiz),ll(mvsiz),mu,fqmax
268 .
DIMENSION(:),
POINTER :: eint
269 my_real,
dimension(mvsiz) :: fheat
271 TYPE(g_bufel_) ,
POINTER :: GBUF
272 TYPE(L_BUFEL_) ,
POINTER :: LBUF
274 INTEGER INOD(4),IPOS(4), L_NLOC, INLOC,ISM12_11
275 my_real,
DIMENSION(:),
ALLOCATABLE :: VAR_REG
276 my_real,
DIMENSION(:),
POINTER :: DNL
281 INTEGER IBOLTP,NBPRELD,ISCTL,ISTAB(MVSIZ),PID,SZ_IX
283 .
DIMENSION(:),
POINTER :: bpreld
287 gbuf => elbuf_tab(ng)%GBUF
288 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
290 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
297 sz_ix=numelq+numels+nsvois
298 iboltp = iparg(72,ng)
300 ALLOCATE(var_reg(nel))
301 nbpreld = gbuf%G_BPRELD
302 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
310 1 x, ixs(1,nf1),v, w,
314 5 vx1, vx2, vx3, vx4,
315 6 vy1, vy2, vy3, vy4,
316 7 vz1, vz2, vz3, vz4,
317 8 vdx1, vdx2, vdx3, vdx4,
318 9 vdy1, vdy2, vdy3, vdy4,
319 a vdz1, vdz2, vdz3, vdz4,
320 b vdx, vdy, vdz, vd2,
321 c vis, gbuf%OFF, off, gbuf%SMSTR,
322 d gbuf%RHO, rhoo, nc1, nc2,
323 e nc3, nc4, ngl, mxt,
324 f ngeo, f11, f21, f31,
325 g f12, f22, f32, f13,
326 h f23, f33, f14, f24,
327 i f34, xd1, xd2, xd3,
328 j xd4, yd1, yd2, yd3,
329 k yd4, zd1, zd2, zd3,
330 l zd4, xdp, nel, jale,
331 m ismstr, jeul, jlag)
335 IF ((ismstr >= 10.AND.ismstr <= 12).AND.jlag > 0)
THEN
337 1 tt, 4, x, ixs(1,nf1),
339 3 vy0, vz0, gbuf%SMSTR,d,
342 IF (ismstr == 11)
THEN
344 1 off, voln, ngl, deltax,
345 2 mxt, x0(1,1), x0(1,2), x0(1,3),
346 3 x0(1,4), y0(1,1), y0(1,2), y0(1,3),
347 4 y0(1,4), z0(1,1), z0(1,2), z0(1,3),
348 5 z0(1,4), px1, px2, px3,
349 6 px4, py1, py2, py3,
350 7 py4, pz1, pz2, pz3,
356 IF (ismstr == 12.AND.idtmin(1)==3.AND.ism12_11==0)
THEN
359 1 gbuf%OFF,nc1, nc2, nc3,
361 3 e1x, e2x, e3x, e1y,
362 4 e2y, e3y, e1z, e2z,
366 1 off, voln, x0(1,1), x0(1,2),
367 2 x0(1,3), x0(1,4), y0(1,1), y0(1,2),
368 3 y0(1,3), y0(1,4), z0(1,1), z0(1,2),
369 4 z0(1,3), z0(1,4), px1, px2,
370 5 px3, px4, py1, py2,
371 6 py3, py4, pz1, pz2,
374 9 tx, ty, tz, gbuf%JAC_I,
378 1 px1, px2, px3, px4,
379 2 py1, py2, py3, py4,
380 3 pz1, pz2, pz3, pz4,
381 4 vx0(1,1),vx0(1,2),vx0(1,3),vx0(1,4),
382 5 vy0(1,1),vy0(1,2),vy0(1,3),vy0(1,4),
383 6 vz0(1,1),vz0(1,2),vz0(1,3),vz0(1,4),
384 7 mfxx, mfxy, mfxz, mfyx,
385 8 mfyy, mfyz, mfzx, mfzy,
387 IF (isorth == 0)
THEN
401 4 e1y, e2y, e3y, e1z,
407 4 e1y, e2y, e3y, e1z,
408 5 e2z, e3z, gbuf%GAMA,gama,
411 IF (ismstr == 12.AND.ism12_11==0.AND.idtmin(1)==3)
THEN
415 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z,gbuf%OFF)
419 IF(jale+jlag /= 0)
THEN
420 IF (ismstr /= 11)
THEN
423 1 off, voln, ngl, deltax,
424 2 mxt, xd1, xd2, xd3,
425 3 xd4, yd1, yd2, yd3,
426 4 yd4, zd1, zd2, zd3,
427 5 zd4, px1, px2, px3,
428 6 px4, py1, py2, py3,
429 7 py4, pz1, pz2, pz3,
432 a ty, tz, gbuf%SMSTR,gbuf%OFF,
433 b nel, pm, voldp, ismstr,
436 IF (isorth == 0)
THEN
450 4 e1y, e2y, e3y, e1z,
456 4 e1y, e2y, e3y, e1z,
457 5 e2z, e3z, gbuf%GAMA,gama,
464 1 gbuf%VOL,veul, x1, x2,
468 5 px3, px4, py1, py2,
469 6 py3, py4, pz1, pz2,
470 7 pz3, pz4, voln, deltax,
475 1 px1, px2, px3, px4,
476 2 py1, py2, py3, py4,
477 3 pz1, pz2, pz3, pz4,
478 4 vx1, vx2, vx3, vx4,
479 5 vy1, vy2, vy3, vy4,
480 6 vz1, vz2, vz3, vz4,
481 7 dxx, dxy, dxz, dyx,
482 8 dyy, dyz, dzx, dzy,
484 a wxx, wyy, wzz, nel,
486 IF (idtmin(1)==3.AND.ismstr == 12.AND.ism12_11==0)
THEN
487 CALL sordef12(lft,llt,dxx, dyy, dzz,
489 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z,offg0)
493 1 pm, flux(1,nf1),ale_connect,ixs,
494 2 ipm, bufmat, nel, nft,
495 3 jale, jeul , nummat, numels+nsvois)
499 IF(jlag > 0.AND.isrot == 3)
THEN
502 1 sfem_nodvar, nc1, nc2, nc3,
503 2 nc4, mxt, gbuf%OFF, gbuf%RHO,
504 3 rho_0, mfxx, mfxy, mfxz,
505 4 mfyx, mfyy, mfyz, mfzx,
506 5 mfzy, mfzz, gbuf%VOL, voln,
507 6 lbuf%VOL0DP, voldp, gbuf%AMU, dxx,
508 7 dyy, dzz, mat_elem%MAT_PARAM,nel,
509 8 ismstr, s_sfem_nodvar)
511 IF(jale > 0 .AND. isrot == 3 .AND. mtn /= 37 .AND. mtn /= 51 .AND.
512 . mtn /= 18 .AND. mtn /= 11)
THEN
515 sum=sfem_nodvar(nc1(i))+sfem_nodvar(nc2(i))+sfem_nodvar(nc3(i))+sfem_nodvar(nc4(i))
516 voln(i)=fourth*sum*gbuf%RHO(i)/pm(1,mxt(i))
523 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))
525 1 pm, gbuf%VOL, gbuf%RHO, gbuf%EINT,
526 2 divde, flux(1,nf1), flu1(nf1), voln,
527 3 dvol, ngl, mxt, off,
528 4 iparg(64,ng),gbuf%TAG22, voldp, lbuf%VOL0DP,
529 5 amu, gbuf%OFF, nel, mtn,
530 6 jale, ismstr, jeul, jlag)
532 IF (ismstr == 12.AND.idtmin(1)==3.AND.ism12_11==0)
THEN
534 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z,offg0)
543 1 gbuf%SIG,s1, s2, s3,
545 3 wyy, wzz, nel, mtn,
551 1 gbuf%SMSTR,gbuf%OFF, off, wxx,
552 2 wyy, wzz, nel, ismstr,
558 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0))
THEN
559 CALL s4sav3(gbuf%OFF,gbuf%SMSTR,
560 . xd1, xd2, xd3, xd4, yd1, yd2, yd3, yd4,
561 . zd1, zd2, zd3, zd4,nel)
568 tempel(i) = fourth*( temp(nc1(i)) + temp(nc2(i)) +
569 . temp(nc3(i)) + temp(nc4(i)) )
576 l_nloc = nloc_dmg%L_NLOC
577 dnl => nloc_dmg%DNL(1:l_nloc)
579 inod(1) = nloc_dmg%IDXI(nc1(i))
580 inod(2) = nloc_dmg%IDXI(nc2(i))
581 inod(3) = nloc_dmg%IDXI(nc3(i))
582 inod(4) = nloc_dmg%IDXI(nc4(i))
583 ipos(1) = nloc_dmg%POSI(inod(1))
584 ipos(2) = nloc_dmg%POSI(inod(2))
585 ipos(3) = nloc_dmg%POSI(inod(3))
586 ipos(4) = nloc_dmg%POSI(inod(4))
587 var_reg(i) = fourth*(dnl(ipos(1)) + dnl(ipos(2)) + dnl(ipos(3)) + dnl(ipos(4)))
594 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
604 1 bpreld(3*nel+1),b1, b2, b3,
606 3 wyy, wzz, nel, mtn,
610 1 ip, bpreld, lbuf%SIG,tt, nel,
611 2 npt, sensors%NSENSOR,sensors%SENSOR_TAB,
612 3 iparg(67,ng),iparg(68,ng))
615 CALL mmain(timers,output,
616 1 elbuf_tab, ng, pm, geo,
617 2 ale_connect, ixs, iparg,
618 3 v, tf, npf, bufmat,
619 4 sti, x, dt2t, neltst,
620 5 ityptst, offset, nel, w,
621 6 off, ngeo, mxt, ngl,
622 7 voln, vd2, dvol, deltax,
623 8 vis, qvis, cxx, s1,
629 e vdx, vdy, vdz, muvoid,
630 f ssp_eq, aire, sigy, et,
631 g bufvois, lbuf%PLA, r3_free, amu,
632 h mfxx, mfxy, mfxz, mfyx,
633 i mfyy, mfyz, mfzx, mfzy,
634 j mfzz, ipm, gama, bid,
635 k bid, bid, bid, bid,
636 l bid, bid, istrain, tempel,
637 m die, iexpan, ilay, mssa,
638 n dmels, iptr, ipts, iptt,
639 o table, bid, bid, bid,
640 p bid, iparg(1,ng), igeo, conde,
641 q itask, nloc_dmg, var_reg, mat_elem,
642 r h3d_strain, jplasol, jsph, sz_bufvois,
643 t snpc, stf, sbufmat, glob_therm,
644 u svis, sz_ix, iresp,
645 v n2d, th_strain, ngroup, tt,
646 . dt1, ntable, numelq, nummat,
647 . numgeo, numnod, numels,
648 . idel7nok, idtmin, maxfunc,
649 . imon_mat, userl_avail, impl_s,
650 . idyna, dt, fheat ,sensors)
652 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
654 IF (ismstr == 12.AND.idtmin(1)==3)
THEN
655 IF (ism12_11==0)
THEN
657 . e1x,e2x,e3x,e1y,e2y,e3y,e1z,e2z,e3z,offg0)
662 IF (istrain == 1)
THEN
663 CALL sordef12(lft,llt,dxx, dxy, dxz,
665 . e1x,e2x,e3x,e1y,e2y,e3y,e1z,e2z,e3z,offg0)
669 IF (istrain == 1)
THEN
672 2 d5, d6, lbuf%STRA,wxx,
673 3 wyy, wzz, off, nel,
679 iflag=mod(ncycle,ncpri)
682 eint => elbuf_tab(ng)%GBUF%EINS(1:nel)
684 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
686 CALL s4bilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
687 . vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4,
688 . vz1, vz2, vz3, vz4, voln,iparts,gresav,
689 . grth,igrth,iexpan,gbuf%EINTTH,gbuf%FILL,
690 . x1, x2, x3, x4, y1, y2, y3, y4,
691 . z1, z2, z3, z4,itask,iparg(1,ng),off,sensors,
692 . nel,gbuf%G_WPLA,gbuf%WPLA)
695 IF(jlag+jale+jeul == 0)
RETURN
698 CALL sgeodel3(ngl,gbuf%OFF,voln,deltax,gbuf%VOL,geo(1,ngeo(1)),bid,dt,nel,idel7nok )
703 CALL smallgeo3(ngl, gbuf%OFF ,voln ,deltax, gbuf%VOL ,itet, nel,ismstr,dt)
704 IF (ismstr == 12.AND.idtmin(1)==3)
THEN
706 1 gbuf%OFF, offg0, gbuf%SMSTR,xd1,
707 2 xd2, xd3, xd4, yd1,
708 3 yd2, yd3, yd4, zd1,
709 4 zd2, zd3, zd4, nel)
710 IF (ism12_11>0 .AND. isorth == 0)
THEN
712 1 gbuf%OFF, offg0, xd1, xd2,
713 2 xd3, xd4, yd1, yd2,
714 3 yd3, yd4, zd1, zd2,
715 4 zd3, zd4, gbuf%JAC_I,gbuf%SIG,
716 5 lbuf%SIGL, nel, jcvt)
723 IF (jale+jeul > 0 .AND.
ale%GLOBAL%INCOMP == 0)
THEN
726 1 ms, gbuf%RHO,voln, nc1,
727 2 nc2, nc3, nc4, msnf,
731 1 fskym, gbuf%RHO,voln, iads,
738 IF(jale == 1 .OR. jeul == 1)
THEN
741 1 pm, gbuf%RHO,voln, x1,
745 5 vx2, vx3, vx4, vy1,
746 6 vy2, vy3, vy4, vz1,
747 7 vz2, vz3, vz4, f11,
748 8 f21, f31, f12, f22,
749 9 f32, f13, f23, f33,
750 a f14, f24, f34, px1,
751 b px2, px3, px4, py1,
752 c py2, py3, py4, pz1,
753 d pz2, pz3, pz4, dxx,
754 e dxy, dxz, dyx, dyy,
756 g vdx1, vdx2, vdx3, vdx4,
757 h vdy1, vdy2, vdy3, vdy4,
758 i vdz1, vdz2, vdz3, vdz4,
759 j vdx, vdy, vdz, deltax,
767 1 f32,f13,f23,f33,f14,
768 2 f24,f34,bid,bid,bid,
769 3 bid,bid,bid,bid,bid,
770 4 bid,bid,bid,bid,gbuf%OFF,
777 . px1, px2, px3, px4,
778 . py1, py2, py3, py4,
779 . pz1, pz2, pz3, pz4,
780 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
781 . voln,qvis,nel,svis)
787 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1)
THEN
789 1 pm, imat, voln, nc1,
790 2 nc2, nc3, nc4, px1,
791 3 px2, px3, px4, py1,
792 4 py2, py3, py4, pz1,
793 5 pz2, pz3, pz4, dt1,
794 6 temp, tempel, fheat, them,
795 7 gbuf%OFF,lbuf%OFF,nel,glob_therm%THEACCFACT)
798 1 pm, imat, voln, nc1,
799 2 nc2, nc3, nc4, px1,
800 3 px2, px3, px4, py1,
801 4 py2, py3, py4, pz1,
802 5 pz2, pz3, pz4, dt1,
803 6 temp, tempel, die, them,
804 7 gbuf%OFF,lbuf%OFF,nel,glob_therm%THEACCFACT)
813 1 nloc_dmg,var_reg, nel, lbuf%OFF,
815 3 nc4, px1, px2, px3,
816 4 px4, py1, py2, py3,
817 5 py4, pz1, pz2, pz3,
818 6 pz4, mxt(lft),itask, dt2t,
826 1 nel ,sti_c ,npropm ,nummat ,
827 2 ismstr ,mxt ,istab ,pm ,
828 3 gbuf%SIG ,gbuf%RHO ,cxx ,off ,
829 4 gbuf%OFF ,ll ,voln ,fld ,
831 IF (ismstr==1.OR.ismstr>=11)
THEN
832#include "vectorize.inc"
852 . vx1, vx2, vx3, vx4,
853 . vy1, vy2, vy3, vy4,
854 . vz1, vz2, vz3, vz4,
855 . f11, f12, f13, f14,
856 . f21, f22, f23, f24,
857 . f31, f32, f33, f34,
858 . sti, fld, sti_c, ll,
859 . mu, fqmax, istab, nel ,
860 . gbuf%EINT_DISTOR,dt1 )
864 1 gbuf%FILL,sti, f11, f21,
865 2 f31, f12, f22, f32,
866 3 f13, f23, f33, f14,
869 IF (iparit == 0)
THEN
871 1 gbuf%OFF,a, nc1, nc2,
872 2 nc3, nc4, stifn, sti,
873 3 f11, f21, f31, f12,
874 4 f22, f32, f13, f23,
875 5 f33, f14, f24, f34,
876 6 them, fthe, condn, conde,
877 7 nel, jthe, glob_therm%NODADT_THERM)
880 1 gbuf%OFF,sti, fsky, fsky,
881 2 iads, f11, f21, f31,
882 3 f12, f22, f32, f13,
883 4 f23, f33, f14, f24,
884 5 f34, them, fthesky, condnsky,
885 6 conde, nel, nft, jthe,
886 7 glob_therm%NODADT_THERM)
888 IF (
ALLOCATED(var_reg))
DEALLOCATE(var_reg)