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