98
99
100
101 USE timer_mod
102 USE output_mod, only : output_
103 USE mmain_mod
105 USE mat_elem_mod
109 USE elbufdef_mod
110 USE sdistor_ini_mod, ONLY : sdistor_ini
111 USE shour_ctl_mod, ONLY : shour_ctl
112 use glob_therm_mod
113 use sensor_mod
114 use element_mod , only : nixs
115
116
117
118#include "implicit_f.inc"
119
120
121
122#include "mvsiz_p.inc"
123
124
125
126#include "com01_c.inc"
127#include "com08_c.inc"
128#include "vect01_c.inc"
129#include "parit_c.inc"
130#include "param_c.inc"
131#include "scr18_c.inc"
132#include "com04_c.inc"
133
134
135
136 TYPE(TIMER_), INTENT(INOUT) :: TIMERS
137 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
138 INTEGER, INTENT(IN) :: SNPC
139 INTEGER, INTENT(IN) :: STF
140 INTEGER, INTENT(IN) :: SBUFMAT
141 INTEGER, INTENT(IN) :: NSVOIS
142 INTEGER, INTENT(IN) :: IDTMINS
143 INTEGER ,INTENT(IN) :: IRESP
144 INTEGER ,INTENT(IN) :: IDEL7NG
145 INTEGER ,INTENT(INOUT) :: IDEL7NOK
146 INTEGER ,INTENT(IN) :: MAXFUNC
147 INTEGER, INTENT(IN) :: IMPL_S
148 INTEGER, INTENT(IN) :: IDYNA
149 INTEGER, INTENT(IN) :: USERL_AVAIL
150 INTEGER, INTENT(IN) :: IMON_MAT
151 INTEGER IXS(NIXS,*),IPARG(NPARG,NGROUP),NPF(*),IADS(
152
153
154INTEGER NELTST,ITYPTST,OFFSET,ICP,ICSIG,NVC,NEL,ISTRAIN,IEXPAN,NG,H3D_STRAIN
155 DOUBLE PRECISION
156 . XDP(3,*)
158 . dt2t
160 . pm(npropm,*), x(*), a(*), v(3,*), ms(*), w(*),
161 . flux(6,*),geo(npropg,*),
162 . flu1(*), veul(*), fv(*), tf(*), bufmat(*),
163 . partsav(*),stifn(*), fsky(*),eani(*),
164 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
165 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
166 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
167 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
168 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
169 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
170 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
171 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
172 . temp(*),fthe(*), fthesky(*),gresav(*), mssa(*), dmels(*), voln(mvsiz),
173 . condn(*),condnsky(*)
174 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
175 TYPE() TABLE(*)
176 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
177 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
178 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
179 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
180 TYPE(DT_), INTENT(INOUT) :: DT
181 type (glob_therm_) ,intent(inout) :: glob_therm
182 type (sensors_),INTENT(INOUT) :: SENSORS
183
184
185
186 INTEGER I,J,ILAY,IR,,IT,NF1,IFLAG,L_PLA,L_EPSD,
187 . PID,MTN0,IPTHK,IPPOS,IPMAT,NLYMAX,MID,IPANG,IBID,NLAY,IMAT,
188 . JJ(6),SZ_IX,CURRENT_LAYER
189 INTEGER MXT0(MVSIZ),MX
190
191 INTEGER MXT(MVSIZ),NGL(),NGEO(MVSIZ),IBIDV(1)
192
193 DOUBLE PRECISION
194 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
195 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
196 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
197 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
198 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
199 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ),VOLDP(MVSIZ)
200
202 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
203 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
204 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
205 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
206 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
207 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
208 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz),
209 . jac4(mvsiz), jac5(mvsiz), jac6(mvsiz),
210 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
211 . conde(mvsiz)
212
213
215 . sti(mvsiz) ,gama(mvsiz,6),
216 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
217
219 . muvoid(mvsiz)
220
221
222 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
223 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
224 INTEGER ,G_PLA,G_EPSD,NN_DEL,IPRES,ISCTL,ISTAB(MVSIZ)
226 . offs(mvsiz)
228 . off(mvsiz) , rhoo(mvsiz),rhom(mvsiz),offg(mvsiz) ,
229 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
230 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
231 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
232 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
233 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
234 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
235 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
236 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
237 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
238 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
239 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
240 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
241 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
242 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
243 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
244 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
245 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
246 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
247 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
248 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
249 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
250 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
251 . hgx1(mvsiz),hgy2(mvsiz),hgz1(mvsiz),hgz2(mvsiz),
252 .
253 .
254 .
255 .
256 .
257 .
258 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
259 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
260 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
261 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
263 . dxy(mvsiz),dyx(mvsiz),
264 . dyz(mvsiz),dzy(mvsiz),
265 . dzx(mvsiz),dxz(mvsiz),
266 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
267 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
268 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
269 . n1x(mvsiz), n2x(mvsiz), n3x(mvsiz),
270 . n1y(mvsiz), n2y(mvsiz), n3y(mvsiz),
271 . n1z(mvsiz), n2z(mvsiz), n3z(mvsiz),
272 . n4x(mvsiz), n5x(mvsiz), n6x(mvsiz),
273 . n4y(mvsiz), n5y(mvsiz), n6y(mvsiz),
274 . n4z(mvsiz), n5z(mvsiz), n6z(mvsiz),
275 . sigym(mvsiz),nu(mvsiz),volg(mvsiz),sigy(mvsiz),
276 . rx0(mvsiz),ry0(mvsiz),sx0(mvsiz),sy0(mvsiz),
277 . dcxx(mvsiz),dcxy(mvsiz),dcxz(mvsiz),dcyx(mvsiz),dcyy(mvsiz),
278 . dcyz(mvsiz),dczx(mvsiz),dczy(mvsiz),dczz(mvsiz),dc4(mvsiz),
279 . dc5(mvsiz),dc6(mvsiz),vzl(mvsiz),
280 . dhxx(mvsiz),dhxy(mvsiz),dhxz(mvsiz),dhyx(mvsiz),dhyy(mvsiz),
281 . dhyz(mvsiz),dhzx(mvsiz),dhzy(mvsiz),dhzz(mvsiz),dh4(mvsiz),
282 . dh5(mvsiz),dh6(mvsiz),eintm(mvsiz),ddhv(mvsiz),einto(mvsiz),
283 . sigzm(mvsiz),volm(mvsiz),mm(mvsiz,2),usb(mvsiz),et(mvsiz),
284 . r1_free(mvsiz),r3_free(mvsiz),
285 . tempel(mvsiz),them(mvsiz,8),die(mvsiz),
286 . stin(mvsiz),dsv(mvsiz),bid(mvsiz),conden(mvsiz),dti
288 . nu1(mvsiz),fac(mvsiz),divde(mvsiz),
289 . alpha_e(mvsiz),llsh(mvsiz),c1,e0(mvsiz),
area(mvsiz)
290 INTEGER SZ_R1_FREE
291 DOUBLE PRECISION
292 . FACDP
293 my_real,
dimension(mvsiz) :: fheat
294
295 TYPE(G_BUFEL_) ,POINTER :: GBUF
296 TYPE(L_BUFEL_) ,POINTER :: LBUF
297
298 parameter(nlymax = 200,ipmat = 100,ipang = 200)
300 . dir(mvsiz,2),sign(nel,6),shf(mvsiz),zt,wt,
301 . rx(mvsiz), ry(mvsiz), rz(mvsiz),
302 . sx(mvsiz), sy(mvsiz), sz(mvsiz),
303 . tx(mvsiz), ty(mvsiz), tz(mvsiz),amu(mvsiz)
304 INTEGER INLOC,L_NLOC,IPOS(8),INOD(8)
305 my_real,
DIMENSION(:,:),
ALLOCATABLE :: var_reg
306 my_real,
DIMENSION(:),
POINTER :: dnl
307 my_real :: sti_c(mvsiz),ll(mvsiz),fld(mvsiz),
308 . cns2,fqmax,dn
309
311 . w_gauss(9,9),a_gauss(9,9),w_newton(9,9),a_newton(9,9)
312 DATA w_gauss /
313 1 2. ,0. ,0. ,
314 1 0. ,0. ,0. ,
315 1 0. ,0. ,0. ,
316 2 1. ,1. ,0. ,
317 2 0. ,0. ,0. ,
318 2 0. ,0. ,0. ,
319 3 0.555555555555556,0.888888888888889,0.555555555555556,
320 3 0. ,0. ,0. ,
321 3 0. ,0. ,0. ,
322 4 0.347854845137454,0.652145154862546,0.652145154862546,
323 4 0.347854845137454,0. ,0. ,
324 4 0. ,0. ,0. ,
325 5 0.236926885056189,0.478628670499366,0.568888888888889,
326 5 0.478628670499366,0.236926885056189,0. ,
327 5 0. ,0. ,0.
328 6 0.171324492379170,0.360761573048139,0.467913934572691,
329 6 0.467913934572691,0.360761573048139,0.171324492379170,
330 6 0. ,0. ,0. ,
331 7 0.129484966168870,0.279705391489277,0.381830050505119,
332 7 0.417959183673469,0.381830050505119,0.279705391489277,
333 7 0.129484966168870,0. ,0. ,
334 8 0.101228536290376,0.222381034453374,0.313706645877887,
335 8 0.362683783378362,0.362683783378362,0.313706645877887,
336 8 0.222381034453374,0.101228536290376,0. ,
337 9 0.081274388361574,0.180648160694857,0.260610696402935,
338 9 0.312347077040003,0.330239355001260,0.312347077040003,
339 9 0.260610696402935,0.180648160694857,0.081274388361574/
340
341 DATA a_gauss /
342 1 0. ,0. ,0. ,
343 1 0. ,0. ,0. ,
344 1 0. ,0. ,0. ,
345 2 -.577350269189626,0.577350269189626,0. ,
346 2 0. ,0. ,0. ,
347 2 0. ,0. ,0. ,
348 3 -.774596669241483,0. ,0.774596669241483,
349 3 0. ,0. ,0. ,
350 3 0. ,0. ,0. ,
351 4 -.861136311594053,-.339981043584856,0.339981043584856,
352 4 0.861136311594053,0. ,0. ,
353 4 0. ,0. ,0. ,
354 5 -.906179845938664,-.538469310105683,0. ,
355 5 0.538469310105683,0.906179845938664,0. ,
356 5 0. ,0. ,0. ,
357 6 -.932469514203152,-.661209386466265,-.238619186083197,
358 6 0.238619186083197,0.661209386466265,0.932469514203152,
359 6 0. ,0. ,0. ,
360 7 -.949107912342759,-.741531185599394,-.405845151377397,
361 7 0. ,0.405845151377397,0.741531185599394,
362 7 0.949107912342759,0. ,0. ,
363 8 -.960289856497536,-.796666477413627,-.525532409916329,
364 8 -.183434642495650,0.183434642495650,0.525532409916329,
365 8 0.796666477413627,0.960289856497536,0. ,
366 9 -.968160239507626,-.836031107326636,-.613371432700590,
367 9 -.324253423403809,0. ,0.324253423403809,
368 9 0.613371432700590,0.836031107326636,0.968160239507626/
369 DATA w_newton /
370 1 2. ,0. ,0. ,
371 1 0. ,0. ,0. ,
372 1 0. ,0. ,0. ,
373 2 1. ,1. ,0. ,
374 2 0. ,0. ,0. ,
375 2 0. ,0. ,0. ,
376 3 0.5 ,1. ,0.5 ,
377 3 0. ,0. ,0. ,
378 3 0. ,0. ,0. ,
379 4 0.166666666666667,0.833333333333333,0.833333333333333,
380 4 0.166666666666667,0. ,0. ,
381 4 0. ,0. ,0. ,
382 5 0.25 ,0.5 ,0.5 ,
383 5 0.5 ,0.25 ,0. ,
384 5 0. ,0. ,0. ,
385 6 0.066666666666667,0.37847496 ,0.55485838 ,
386 6 0.55485838 ,0.37847496 ,0.066666666666667,
387 6 0. ,0. ,0. ,
388 7 0.04761904 ,0.27682604 ,0.43174538 ,
389 7 0.48761904 ,0.43174538 ,0.27682604 ,
390 7 0.04761904 ,0. ,0. ,
391 8 0.03571428 ,0.21070422 ,0.34112270 ,
392 8 0.41245880 ,0.41245880 ,0.34112270 ,
393 8 0.21070422 ,0.03571428 ,0. ,
394 9 0.027777777777778,0.1654953616 ,0.2745387126 ,
395 9 0.3464285110 ,0.3715192744 ,0.3464285110 ,
396 9 0.2745387126 ,0.1654953616 ,0.027777777777778/
397 DATA a_newton /
398 1 0. ,0. ,0. ,
399 1 0. ,0. ,0. ,
400 1 0. ,0. ,0. ,
401 2 -1. ,1. ,0. ,
402 2 0. ,0. ,0. ,
403 2 0. ,0. ,0. ,
404 3 -1. ,0. ,1. ,
405 3 0. ,0. ,0. ,
406 3 0. ,0. ,0. ,
407 4 -1. ,-.44721360 ,0.44721360 ,
408 4 1. ,0. ,0. ,
409 4 0. ,0. ,0. ,
410 5 -1. ,-.5 ,0. ,
411 5 0.5 , 1. ,0. ,
412 5 0. ,0. ,0. ,
413 6 -1. ,-.76505532 ,-.28523152 ,
414 6 0.28523152 ,0.76505532 , 1. ,
415 6 0. ,0. ,0. ,
416 7 -1. ,-.83022390 ,-.46884879 ,
417 7 0. ,0.46884879 ,0.83022390 ,
418 7 1. ,0. ,0. ,
419 8 -1. ,-.87174015 ,-.59170018 ,
420 8 -.20929922 ,0.20929922 ,0.59170018 ,
421 8 0.87174015 , 1. ,0. ,
422 9 -1. ,-.8997579954 ,-.6771862795 ,
423 9 -.3631174638 ,0. ,0.3631174638 ,
424 9 0.6771862795 ,0.8997579954 , 1. /
425
426
427
428 sz_ix=numelq+numels+nsvois
429 sz_r1_free=mvsiz
430 gbuf => elbuf_tab(ng)%GBUF
431 nlay = elbuf_tab(ng)%NLAY
432 ir = 1
433 is = 1
434 it = 1
435 ipthk = 0
436 ippos = 0
437 mtn0= 0
438
439 tempel(:) = zero
440 fheat(:) = zero
441 inloc = iparg(78,ng)
442 ALLOCATE(var_reg(nel,nlay))
443
444 DO j=1,6
445 jj(j) = nel*(j-1)
446 ENDDO
447
448
449 nf1=nft+1
450
451 IF (igtyp /= 22) THEN
452 isorthg = 0
453 END IF
454
455 ibid = 0
456 ibidv= 0
457
458 IF (isorth > 0) THEN
460 1 8, x, ixs(1,nf1),rx,
461 2 ry, rz, sx, sy,
462 3 sz, tx, ty, tz,
463 4 nel)
464 ENDIF
465
466
467 CALL srcoor3(x,ixs(1,nf1),v ,w ,gbuf%GAMA,gama ,
468 . x1, x2, x3, x4, x5, x6, x7, x8,
469 . y1, y2, y3, y4, y5, y6, y7, y8,
470 . z1, z2, z3, z4, z5, z6, z7, z8,
471 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
472 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
473 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
474 . vd2,vis,gbuf%OFF,offg,gbuf%SMSTR,gbuf%RHO,rhoo,
475 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
476 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
477 . ioutprt, vgxa, vgya, vgza, vga2,
478 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
479 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
480 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
481 . xdp, bid, bid, bid, nel, xgxa, xgya, xgza,
482 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
483 . gbuf%GAMA_R)
484
485 nn_del = 0
486 pid = ngeo(1)
487 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192
488 . nn_del=8
489 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
490 mx = mxt(1)
491 ipres = mat_elem%MAT_PARAM(mx)%IPRES
492 isctl = igeo(97,pid)
493 DO i=1,nel
494 sigy(i) = ep30
495 sigym(i) = ep30
496 sigzm(i) = zero
497 mm(i,1) = zero
498 mm(i,2) = sigy(i)
499 volm(i) = zero
500 nu(i) =
min(half,pm(21,mx))
501 usb(i) = 0.1/pm(32,mx)
502 stin(i)= zero
503 dhxz(i)= zero
504 dhyz(i)= zero
505 conden(i)= zero
506 c1 =pm(32,mxt(i))
507 e0(i) =three*(one-two*nu(i))*c1
508 ENDDO
509 IF (icp == 1) THEN
510 DO i=1,nel
511 nu1(i)=half
512 ENDDO
513 ELSEIF (icp == 2) THEN
514 CALL s8csigp3(gbuf%SIG,e0 ,gbuf%PLA,fac,gbuf%G_PLA,nel)
515 DO i=1,nel
516 nu1(i)=nu(i)+(half-nu(i))*fac(i)
517 ENDDO
518 ELSE
519 DO i=1,nel
520 nu1(i) =nu(i)
521 ENDDO
522 ENDIF
524 1 offg, voln, ngl, xd1,
525 2 xd2, xd3, xd4, xd5,
526 3 xd6, xd7, xd8, yd1,
527 4 yd2, yd3, yd4, yd5,
528 5 yd6, yd7, yd8, zd1,
529 6 zd2, zd3, zd4, zd5,
530 7 zd6, zd7, zd8, px1,
531 8 px2, px3, px4, py1,
532 9 py2, py3, py4, pz1,
533 a pz2, pz3, pz4, px1h1,
534 b px1h2, px1h3, px1h4, px2h1,
535 c px2h2, px2h3, px2h4,
536 d px3h2, px3h3, px3h4, px4h1,
537 e px4h2, px4h3, px4h4, jac1,
538 f jac2, jac3, jac4, jac5,
539 g jac6, rx0, ry0, sx0,
540 h sy0, vzl, volg, gbuf%SMSTR,
541 i gbuf%OFF, nel, ismstr)
543 1 volg, deltax, x1, x2,
544 2 x3, x4, x5, x6,
545 3 x7, x8, y1, y2,
546 4 y3, y4, y5, y6,
547 5 y7, y8, z1, z2,
548 6 z3, z4, z5, z6,
549 7 z7, z8, n1x, n2x,
550 8 n3x, n4x, n5x, n6x,
551 9 n1y, n2y, n3y, n4y,
552 a n5y, n6y, n1z, n2z,
553 b n3z, n4z, n5z, n6z,
554 c nel, mtn, jale, jeul)
555 IF (ntsheg > 0 .AND.isctl==0) THEN
557 . x1, x2, x3, x4, x5, x6, x7, x8,
558 . y1, y2, y3, y4, y5, y6, y7, y8,
559 . z1, z2, z3, z4, z5, z6, z7, z8, nel)
560 alpha_e(1:nel) = one
561 DO i=1,nel
562 IF (gbuf%IDT_TSH(i)<=0) cycle
563 facdp = 1.343*llsh(i)/deltax(i)
564 alpha_e(i) = facdp*facdp
565 deltax(i)=
max(llsh(i),deltax(i))
566 ENDDO
567 END IF
569 1 px1, px2, px3, px4,
570 2 py1, py2, py3, py4,
571 3 pz1, pz2, pz3, pz4,
572 4 vx1, vx2, vx3, vx4,
573 5 vx5, vx6, vx7, vx8,
574 6 vy1, vy2, vy3, vy4,
575 7 vy5, vy6, vy7, vy8,
576 8 vz1, vz2, vz3, vz4,
577 9 vz5, vz6, vz7, vz8,
578 a dcxx, dcxy, dcxz, dcyx,
579 b dcyy, dcyz, dczx, dczy,
580 c dczz, dc4, dc5, dc6,
581 d wxx, wyy, wzz, dhxx,
582 e dhxy, dhyx, dhyy, dhzx,
583 f dhzy, dhzz, dh4, dh5,
584 g dh6, px1h1, px1h2, px2h1,
585 h px2h2, px3h1, px3h2, px4h1,
586 i px4h2, hgx1, hgy2, hgz1,
587 j hgz2, rx0, ry0, sx0,
588 k sy0, nu1, ddhv, nel)
589 g_pla = gbuf%G_PLA
590 g_epsd = gbuf%G_EPSD
592 . f11, f21, f31, f12, f22, f32, f13, f23,
593 . f33, f14, f24, f34, f15, f25, f35, f16,
594 . f26, f36, f17, f27, f37, f18, f28, f38,
595 . gbuf%SIG,eintm,rhom,gbuf%QVIS,gbuf%PLA,
596 . gbuf%EPSD,g_pla,g_epsd,nel)
597
598
599
600
601 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
603 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
604 2 xd3, xd4, xd5, xd6,
605 3 xd7, xd8, yd1, yd2,
606 4 yd3, yd4, yd5, yd6,
607 5 yd7, yd8, zd1, zd2,
608 6 zd3, zd4, zd5, zd6,
609 7 zd7, zd8, nel)
610 END IF
611
612 IF (isorth > 0) THEN
613 IF (igtyp == 21) THEN
614 CALL sgetdir3(nel, rx,ry,rz,tx,ty,tz,
615 . r11,r21,r31,r12,r22,r32,gbuf%GAMA,dir,irep)
616 ENDIF
617 IF (igtyp == 22) THEN
618 ipthk = ipang+nlymax
619 ippos = ipthk+nlymax
620 mtn0=mtn
621 DO i=1,nel
622 mxt0(i)=mxt(i)
623 shf(i)=geo(38,ngeo(i))
624 ENDDO
625 ENDIF
626 ENDIF
627
628
629
630 DO ilay=1,nlay
631 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
632 IF (igtyp == 22) THEN
633 mid=igeo(ipmat+ilay,pid)
634 mtn=nint(pm(19,mid))
635 ENDIF
636 DO i=1,nel
637 sigzm(i) = sigzm(i) + lbuf%VOL(i)*lbuf%SIG(jj(3)+i)
638 volm(i) = volm(i) + lbuf%VOL(i)
639 ENDDO
640 ENDDO
641
642 IF (dt1 == zero) THEN
643 dti =zero
644 ELSE
645 dti = one/dt1
646 ENDIF
647
648
649
650 IF(jthe < 0) THEN
651 DO i=1,nel
652 tempel(i) = one_over_8 *( temp(nc1(i
653 . + temp(nc3(i)) + temp(nc4(i))
654 . + temp(nc5(i)) + temp(nc6(i))
655 . + temp(nc7(i)) + temp(nc8
656 gbuf%TEMP(i) = tempel(i)
657 ENDDO
658 ENDIF
659 ioffs=0
660 DO i=1,nel
661 offs(i) = ep20
662 ENDDO
663 IF(jthe<0) them(1:nel,1:8) =zero
664
665
666
667
668 IF (inloc > 0) THEN
669 l_nloc = nloc_dmg%L_NLOC
670 dnl => nloc_dmg%DNL(1:l_nloc)
671 DO ilay=1,nlay
672 DO i=1,nel
673 inod(1) = nloc_dmg%IDXI(nc1(i))
674 inod(2) = nloc_dmg%IDXI(nc2(i))
675 inod(3) = nloc_dmg%IDXI(nc3(i))
676 inod(4) = nloc_dmg%IDXI(nc4(i))
677 inod(5) = nloc_dmg%IDXI(nc5(i))
678 inod(6) = nloc_dmg%IDXI(nc6(i))
679 inod(7) = nloc_dmg%IDXI(nc7(i))
680 inod(8) = nloc_dmg%IDXI(nc8(i))
681 DO j = 1, 8
682 ipos(j) = nloc_dmg%POSI(inod(j))+ilay-1
683 ENDDO
684 var_reg(i,ilay) = dnl(ipos(1)) + dnl(ipos(2)) + dnl(ipos(3)) +
685 . dnl(ipos(4)) + dnl(ipos(5)) + dnl(ipos(6)) +
686 . dnl(ipos(7)) + dnl(ipos(8))
687 var_reg(i,ilay) = var_reg(i,ilay)*one_over_8
688 ENDDO
689 ENDDO
690 ENDIF
691
692
693
694
695
696 DO ilay=1,nlay
697 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
698
699 IF (igtyp == 22) THEN
700 zt = geo(ippos+ilay,pid)
701 wt = geo(ipthk+ilay,pid)
702 mid=igeo(ipmat+ilay,pid)
703 mtn=nint(pm(19,mid))
704 DO i=1,nel
705 mxt(i)=mid
706 ENDDO
707 ELSE
708 zt = a_gauss(ilay,nlay)
709 wt = w_gauss(ilay,nlay)
710 ENDIF
712 1 dxx, dxy, dxz, dyx,
713 2 dyy, dyz, dzx, dzy,
714 3 dzz, d4, d5, d6,
715 4 dcxx, dcxy, dcxz, dcyx,
716 5 dcyy, dcyz, dczx, dczy,
717 6 dczz, dc4, dc5, dc6,
718 7 dhxx, dhxy, dhxz, dhyx,
719 8 dhyy, dhyz, dhzx, dhzy,
720 9 dhzz, dh4, dh5, dh6,
721 a zt, wt, vzl, voln,
722 b volg, lbuf%VOL, ddhv, lbuf%SIG,
723 c sigzm, volm, usb, lbuf%EINT,
724 d off, offg, dti, gbuf%OFF,
725 e dsv, lbuf%VOL0DP,voldp, ipres,
726 f nel )
727 DO i=1,nel
728 einto(i) = lbuf%EINT(i)
729 rhoo(i) = lbuf%RHO(i)
730 ENDDO
731 IF (isorth > 0) THEN
732 IF (igtyp == 22)
733 .
CALL sgetdir3(nel,rx,ry,rz,tx,ty,tz,
734 . r11,r21,r31,r12,r22,r32,
735 . lbuf%GAMA,dir,irep)
736 CALL scordef3(nel,dxx,dyy,dzz,d4,d5,d6,dir)
737 IF (igtyp == 22) THEN
738 DO i=1,nel
739 d5(i)=shf(i)*d5(i)
740 d6(i)=shf(i)*d6(i)
741 ENDDO
742 ENDIF
743 ENDIF
744
745 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+dsv(1:nel)
747 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
748 2 divde, flux(1,nf1),flu1(nf1), voln,
749 3 dvol, ngl, mxt, off,
750 4 0, gbuf%TAG22, voldp, lbuf%VOL0DP,
751 5 amu, gbuf%OFF, nel, mtn,
752 6 jale, ismstr, jeul, jlag)
753
754
755
756
757 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
758 . gbuf%OFF,off,nel)
759
760
761
762
763 current_layer=ilay
764 CALL mmain(timers, output,
765 1 elbuf_tab, ng, pm, geo,
766 2 ale_connect, ixs, iparg,
767 3 v, tf, npf, bufmat,
768 4 sti, x, dt2t, neltst,
769 5 ityptst, offset, nel, w,
770 6 off, ngeo, mxt, ngl,
771 7 voln, vd2, dvol, deltax,
772 8 vis, qvis, cxx, s1,
773 9 s2, s3, s4, s5,
774 a s6, dxx, dyy, dzz,
775 b d4, d5, d6, wxx,
776 c wyy, wzz, jac1, jac2,
777 d jac3, jac4, jac5, jac6,
778 e vdx, vdy, vdz, muvoid,
779 f ssp_eq, aire, sigy, et,
780 g r1_free, lbuf%PLA, r3_free, amu,
781 h dxx, dxy, dxz, dyx,
782 i dyy, dyz, dzx, dzy,
783 j dzz, ipm, gama, bid,
784 k bid, bid, bid, bid,
785 l bid, bid, istrain, tempel,
786 m die, iexpan, current_layer,mssa,
787 n dmels, ir, is, it,
788 o table, bid, bid, bid,
789 p bid, iparg(1,ng), igeo, conde,
790 q itask, nloc_dmg, var_reg(1,ilay), mat_elem,
791 r h3d_strain, jplasol, jsph, sz_r1_free,
792 * snpc, stf, sbufmat, glob_therm,
793 * svis, sz_ix, iresp,
794 * n2d, th_strain, ngroup, tt,
795 . dt1, ntable, numelq, nummat,
796 . numgeo, numnod, numels,
797 . idel7nok, idtmin, maxfunc,
798 . imon_mat, userl_avail, impl_s,
799 . idyna, dt, fheat ,sensors, opt_mtn=mtn,opt_jcvt=jcvt,
800 . opt_isorth=isorth,opt_isorthg=isorthg)
801
802 DO i=1,nel
803 sigym(i) =
min(sigym(i),sigy(i))
804 stin(i) = stin(i)+sti(i)
805 ENDDO
806
807 IF (glob_therm%NODADT_THERM == 1) THEN
808 DO i=1,nel
809 conden(i)= conden(i)+ conde(i)
810 ENDDO
811 ENDIF
812 IF (istrain == 1) THEN
814 1 dxx, dyy, dzz, d4,
815 2 d5, d6, lbuf%STRA,wxx,
816 3 wyy, wzz, off, nel,
817 4 jcvt)
818 ENDIF
819
820
821
822 l_pla = elbuf_tab(ng)%BUFLY(ilay)%L_PLA
823 l_epsd = elbuf_tab(ng)%BUFLY(ilay)%L_EPSD
824 IF (isorth > 0) THEN
826
827
829 . px1, px2, px3, px4,
830 . py1, py2, py3, py4,
831 . pz1, pz2, pz3, pz4,
832 . px5, px6, px7, px8,
833 . py5, py6, py7, py8,
834 . pz5, pz6, pz7, pz8,
835 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
836 . f15,f25,f35,f16,f26,f36,f17,f27,f37,f18,f28,f38,
837 . voln,qvis,
838 . px1h1, px1h2, px2h1, px2h2,
839 . px3h1, px3h2, px4h1, px4h2,
840 . rx0, ry0, sx0, sy0,
841 . lbuf%EINT,lbuf%RHO,lbuf%QVIS,lbuf%PLA,lbuf%EPSD,gbuf%EPSD,
842 . gbuf%SIG,eintm,einto,rhom,gbuf%QVIS,gbuf%PLA,
843 . nu1,zt ,wt ,volg,mm,off,
844 . lbuf%VOL,gbuf%VOL,l_pla,l_epsd,nel,svis,
845 . gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
846 ELSE
848 . px1, px2, px3, px4,
849 . py1, py2, py3, py4,
850 . pz1, pz2, pz3, pz4,
851 . px5, px6, px7, px8,
852 . py5, py6, py7, py8,
853 . pz5, pz6, pz7, pz8,
854 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
855 . f15,f25,f35,f16,f26,f36,f17,f27,f37,f18,f28,f38,
856 . voln,qvis,
857 . px1h1, px1h2, px2h1, px2h2,
858 . px3h1, px3h2, px4h1, px4h2,
859 . rx0, ry0, sx0, sy0,
860 . lbuf%EINT,lbuf%RHO,lbuf%QVIS,lbuf%PLA,lbuf%EPSD,gbuf%EPSD,
861 . gbuf%SIG,eintm,einto,rhom,gbuf%QVIS,gbuf%PLA,
862 . nu1,a_gauss(ilay,nlay),w_gauss(ilay,nlay),volg,mm,off,
863 . lbuf%VOL,gbuf%VOL,l_pla,l_epsd,nel,svis,
864 . gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
865 ENDIF
866
867
868
869 IF (jthe < 0) THEN
870 imat = mxt(1)
871 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
873 1 pm, imat, voln, nc1,
874 2 nc2, nc3, nc4, nc5,
875 3 nc6, nc7, nc8, px1,
876 4 px2, px3, px4, py1,
877 5 py2, py3, py4, pz1,
878 6 pz2, pz3, pz4, dt1,
879 7 temp, tempel, fheat, them,
880 8 gbuf%OFF,lbuf%OFF,nel,glob_therm%THEACCFACT)
881 ELSE
883 1 pm, imat, voln, nc1,
884 2 nc2, nc3, nc4, nc5,
885 3 nc6, nc7, nc8, px1,
886 4 px2, px3, px4, py1,
887 5 py2, py3, py4, pz1,
888 6 pz2, pz3, pz4, dt1,
889 7 temp, tempel, die, them,
890 8 gbuf%OFF,lbuf%OFF,nel,glob_therm%THEACCFACT)
891 END IF
892 ENDIF
893 DO i=1,nel
894 offg(i)=
min(offg(i),off(i))
895 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one) THEN
896 offs(i) =
min(lbuf%OFF(i),offs(i))
897 ioffs = 1
898 ENDIF
899 ENDDO
900
901 ENDDO
902
903
904
905
906
907 IF (inloc > 0) THEN
908
910 . x1, x2, x3, x4, x5, x6, x7, x8,
911 . y1, y2, y3, y4, y5, y6, y7, y8,
912 . z1, z2, z3, z4, z5, z6, z7, z8, nel)
913
915 1 nloc_dmg ,var_reg ,nel ,off ,
916 2 volg ,nc1 ,nc2 ,nc3 ,
917 3 nc4 ,nc5 ,nc6
918 4 nc8 ,px1 ,px2 ,px3 ,
919 5 px4 ,py1 ,py2 ,py3 ,
920 6 py4 ,pz1 ,pz2 ,pz3 ,
921 7 pz4 ,mxt(lft) ,itask ,dt2t ,
922 8 gbuf%VOL ,nft ,nlay ,w_gauss ,
923 9 a_gauss ,
area ,elbuf_tab(ng)%NLOCTS(1,1))
924 ENDIF
925
926
927 IF (ioffs == 1)THEN
928 DO i=1,nel
929 IF (offs(i)<=two) gbuf%OFF(i)=offs(i)
930 END DO
931 DO ilay=1,nlay
932 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
933 IF (igtyp == 22) THEN
934 mid=igeo(ipmat+ilay,pid)
935 mtn=nint(pm(19,mid))
936 ENDIF
937 DO i=1,nel
938 IF (gbuf%OFF(i) > one) lbuf%OFF(i) = gbuf%OFF(i
939 ENDDO
940 ENDDO
941 ENDIF
942 DO i=1,nel
943 gbuf%RHO(i) = rhom(i)
944 END DO
945
946 IF (igtyp == 22) THEN
947 mtn = mtn0
948 DO i=1,nel
949 mxt(i)=mxt0(i)
950 ENDDO
951 ENDIF
952 IF ( nn_del> 0) THEN
954 . x1, x2, x3, x4, x5, x6
955 . y1, y2, y3, y4, y5, y6, y7, y8
956
958 . llsh,geo(1,pid),nn_del,dt,nel )
959 ENDIF
960
961
962
964 1 gbuf%OFF,offg, nel, ismstr)
965
966
967
968 IF (isctl > 0) THEN
969 dn = geo(13,pid)
970 CALL shour_ctl(
971 . pm, gbuf%RHO, offg,
972 . vx2, vx3, vx4, vx5,
973 . vx6, vx7, vx8, vy1,
974 . vy2, vy3, vy4, vy5,
975 . vy6, vy7, vy8, vz1,
976 . vz2, vz3, vz4, vz5,
977 . vz6, vz7, vz8, f11,
978 . f21, f31, f12, f22,
979 . f32, f13, f23, f33,
980 . f14, f24, f34, f15,
981 . f25, f35, f16, f26,
982 . f36, f17, f27, f37,
983 . f18, f28, f38, px1h1,
984 . px1h2, px1h3, px2h1, px2h2
985 . px2h3, px3h1, px3h2, px3h3,
986 . px4h1, px4h2, px4h3, volg,
987 . gbuf%HOURG, mtn, dt1 , mxt,
988 . cxx, gbuf%EINT, npropm, nummat,
989 . gbuf%VOL, dn , stin, nel )
990
991 gbuf%EINT(1:nel) = gbuf%EINT(1:nel) + eintm(1:nel)
992 ELSE
994 1 pm, gbuf%RHO, offg, vx1,
995 2 vx2, vx3, vx4, vx5,
996 3 vx6, vx7, vx8, vy1,
997 4 vy2, vy3, vy4, vy5,
998 5 vy6, vy7, vy8, vz1,
999 6 vz2, vz3, vz4, vz5,
1000 7 vz6, vz7, vz8, f11,
1001 8 f21, f31, f12, f22
1002 9 f32, f13, f23, f33,
1003 a f14, f24,
1004 b f25, f35, f16, f26,
1005 c f36, f17, f27
1006 d f18, f28
1007 e px1h2, px1h3, px1h4, px2h1,
1008 f px2h2, px2h3, px2h4, px3h1,
1009 g px3h2, px3h3, px3h4, px4h1,
1010 h px4h2, px4h3, px4h4, hgx1,
1011 i hgy2, hgz1, hgz2
1012 j mxt, cxx, ngeo
1013 k gbuf%HOURG,rx0, ry0
1014 l sy0, jac5, gbuf%EINT
1015 m gbuf%VOL, sigym, gbuf%SIG, mm
1016 n nu, gbuf%PLA, icp, nel,
1017 o mtn, nlay)
1018 END IF
1019
1020
1021
1022 iflag = mod(ncycle,ncpri)
1023 IF(ioutprt>0)THEN
1024 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK ,gbuf%VOL,
1025 . vgxa ,vgya
1026 . iparts ,gresav
1027 . iexpan ,gbuf%EINTTH,gbuf%FILL, xgxa, xgya, xgza,
1028 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1029 . nel,gbuf%G_WPLA,gbuf%WPLA)
1030 ENDIF
1031
1032
1033
1034
1036 1 r11, r21, r31, r12,
1037 2 r22, r32, r13, r23,
1038 3 r33, f11, f12, f13,
1039 4 f14, f15, f16, f17,
1040 5 f18, f21, f22, f23,
1041 6 f24, f25, f26, f27,
1042 7 f28, f31, f32, f33,
1043 8 f34, f35, f36, f37,
1044 9 f38, nel)
1045
1046
1047
1048 IF (isctl > 0) THEN
1049 alpha_e(1:nel) = one
1050 CALL sdistor_ini(
1051 1 nel ,sti_c ,npropm ,nummat ,
1052 2 ismstr ,mxt ,istab ,pm ,
1053 3 gbuf%SIG ,gbuf%RHO ,cxx ,offg ,
1054 4 gbuf%OFF ,ll ,voln ,fld ,
1055 5 cns2 ,fqmax )
1056
1058 . nc1, nc2, nc3, nc4,
1059 . nc5, nc6, nc7, nc8,
1060 . x1, x2, x3, x4,
1061 . x5, x6, x7, x8,
1062 . y1, y2, y3, y4,
1063 . y5, y6, y7, y8,
1064 . z1, z2, z3, z4,
1065 . z5, z6, z7, z8,
1066 . x, xdp, numnod, nel )
1067 DO i=1,nel
1068 vx1(i)=v(1,nc1(i))
1069 vy1(i)=v(2,nc1(i))
1070 vz1(i)=v(3,nc1(i))
1071 vx2(i)=v(1,nc2(i))
1072 vy2(i)=v(2,nc2(i))
1073 vz2(i)=v(3,nc2(i))
1074 vx3(i)=v(1,nc3(i))
1075 vy3(i)=v(2,nc3(i))
1076 vz3(i)=v(3,nc3(i))
1077 vx4(i)=v(1,nc4(i))
1078 vy4(i)=v(2,nc4(i))
1079 vz4(i)=v(3,nc4(i))
1080 vx5(i)=v(1,nc5(i))
1081 vy5(i)=v(2,nc5(i))
1082 vz5(i)=v(3,nc5(i))
1083 vx6(i)=v(1,nc6(i))
1084 vy6(i)=v(2,nc6(i
1085 vz6(i)=v(3,nc6(i))
1086 vx7(i)=v(1,nc7(i))
1087 vy7(i)=v(2,nc7(i))
1088 vz7(i)=v(3,nc7(i))
1089 vx8(i)=v(1,nc8(i))
1090 vy8(i)=v(2,nc8(i))
1091 vz8(i)=v(3,nc8(i))
1092 ENDDO
1094 . x1, x2, x3,
1095 . x5, x6, x7, x8,
1096 . y1, y2, y3, y4,
1097 . y5, y6, y7, y8,
1098 . z1, z2, z3, z4,
1099 . z5, z6, z7, z8,
1100 . vx1, vx2, vx3, vx4,
1101 . vx5, vx6, vx7, vx8,
1102 . vy1, vy2, vy3, vy4,
1103 . vy5, vy6, vy7, vy8,
1104 . vz1, vz2, vz3, vz4,
1105 . vz5, vz6, vz7, vz8,
1106 . f11, f12, f13, f14,
1107 . f15, f16, f17, f18,
1108 . f21, f22, f23, f24,
1109 . f25, f26, f27, f28,
1110 . f31, f32, f33, f34,
1111 . f35, f36, f37, f38,
1112 . stin, sti_c, fld ,
1113 . ll , istab, fqmax, nel,
1114 . gbuf%EINT_DISTOR, dt1)
1115 ENDIF
1116
1118 1 gbuf%FILL,sti, f11, f21,
1119 2 f31, f12, f22, f32,
1120 3 f13, f23, f33, f14,
1121 4 f24, f34, f15, f25,
1122 5 f35, f16, f26, f36,
1123 6 f17, f27, f37, f18,
1124 7 f28, f38, nel)
1125
1126
1127
1128 IF(iparit == 0)THEN
1130 1 gbuf%OFF,a, nc1, nc2,
1131 2 nc3, nc4, nc5, nc6,
1132 3 nc7, nc8, stifn, stin,
1133 4 f11, f21, f31, f12,
1134 5 f22, f32, f13, f23,
1135 6 f33, f14, f24, f34,
1136 7 f15, f25, f35, f16,
1137 8 f26, f36, f17, f27,
1138 9 f37, f18, f28, f38,
1139 a nvc, bid, bid, bid,
1140 b bid, bid, bid, bid,
1141 c bid, bid, bid, bid,
1142 d bid, bid, bid, bid,
1143 e bid, bid, bid, bid,
1144 f bid, bid, bid, bid
1145 g bid, bid, bid, bid,
1146 h them, fthe, condn, conden,
1147 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1148 ELSE
1150 1 gbuf%OFF,stin, fsky, fsky,
1151 2 iads, f11, f21, f31,
1152 3 f12, f22, f32, f13,
1153 4 f23, f33, f14, f24,
1154 5 f34, f15, f25, f35,
1155 6 f16, f26, f36, f17,
1156 7 f27, f37, f18, f28,
1157 8 f38, nc1, nc2, nc3,
1158 9 nc4, nc5, nc6, nc7,
1159 a nc8, bid, bid, bid,
1160 b bid, bid, bid, bid,
1161 c bid, bid, bid, bid,
1162 d bid, bid, bid, bid,
1163 e bid, bid, bid, bid,
1164 f bid, bid, bid, bid
1165 g bid, bid, bid, bid,
1166 h them, fthesky, condnsky,conden,
1167 i nel, nft, jthe, isrot,
1168 j ipartsph,glob_therm%NODADT_THERM)
1169 ENDIF
1170 IF (ntsheg > 0)
1172 1 gbuf%OFF,alpha_e, nc1, nc2,
1173 2 nc3, nc4, nc5, nc6,
1174 3 nc7, nc8, nel)
1175
1176 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1177 RETURN
subroutine csmall3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
subroutine area(d1, x, x2, y, y2, eint, stif0)
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 s8csigp3(sig, e0, defp, fac, g_pla, nel)
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 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 scdefc3(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, dhxx, dhxy, dhyx, dhyy, dhzx, dhzy, dhzz, dh4, dh5, dh6, px1h1, px1h2, px2h1, px2h2, px3h1, px3h2, px4h1, px4h2, hgx1, hgy2, hgz1, hgz2, rx0, ry0, sx0, sy0, nu, ddhv, nel)
subroutine scdefo3(dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, dcxx, dcxy, dcxz, dcyx, dcyy, dcyz, dczx, dczy, dczz, dc4, dc5, dc6, dhxx, dhxy, dhxz, dhyx, dhyy, dhyz, dhzx, dhzy, dhzz, dh4, dh5, dh6, zi, wi, vzl, vol, volg, volo, ddhv, sig, sigzm, volm, usb, eint, off, offg, dti, offs, dvc, vol0dp, voldp, ipres, nel)
subroutine scfint3(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, px1h1, px1h2, px2h1, px2h2, px3h1, px3h2, px4h1, px4h2, rx0, ry0, sx0, sy0, eint, rho, q, eplas, epsd, epsdm, sigm, eintm, einto, rhom, qm, eplasm, nu, zi, wi, volg, mm, off, vol0, vol0g, g_pla, g_epsd, nel, svis, g_wpla, l_wpla, g_wpla_flag)
subroutine scfint_reg(nloc_dmg, var_reg, nel, off, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, imat, itask, dt2t, vol0, nft, nlay, ws, as, area, bufnlts)
subroutine schour3_1(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, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hgx1, hgy2, hgz1, hgz2, vol, mat, cxx, pid, geo, fhour, rx0, ry0, sx0, sy0, aj5, eint, eintm, vol0, sigy, sig0, mm, nu, defp, icp, nel, mtn, nlay)
subroutine sczero3(rhog, sigg, eintg, nel)
subroutine sdlensh(nel, llsh, 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 scordef3(nel, dxx, dyy, dzz, d4, d5, d6, dir)
subroutine scroto_sig(nel, sig, sign, dir)
subroutine sctherm(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, tel, heat, fphi, offg, off, nel, theaccfact)
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 scumualpha(offg, alpha_e, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel)
subroutine sdlensh2(voln, llsh, area, 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 sgetdir3(nel, rx, ry, rz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, dir, dirb, irep)
subroutine sgparav3(npe, x, ixs, rx, ry, rz, sx, sy, sz, tx, ty, tz, nel)
subroutine smallb3(offg, off, nel, ismstr)
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 sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
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 scderi3(nel, vol, jeul, veul, geo, vzl, vzq, 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)
subroutine tshgeodel3(ngl, offg, volg, area, volg0, l_sh, geo, nnod, dt, nel)