110
111
112
113 USE timer_mod
114 USE output_mod, only : output_
115 USE mmain_mod
117 USE mat_elem_mod
120 USE sensor_mod
122 USE elbufdef_mod
123 USE sdistor_ini_mod, ONLY : sdistor_ini
124 use glob_therm_mod
125
126
127
128#include "implicit_f.inc"
129
130
131
132#include "mvsiz_p.inc"
133
134
135
136#include "vect01_c.inc"
137#include "com01_c.inc"
138#include "com04_c.inc"
139#include "com08_c.inc"
140#include "scr17_c.inc"
141#include "parit_c.inc"
142#include "param_c.inc"
143#include "timeri_c.inc"
144
145
146
147 TYPE(TIMER_), INTENT(inout) :: TIMERS
148 TYPE(OUTPUT_), INTENT(inout) :: OUTPUT
149 INTEGER, INTENT(IN) :: SNPC
150 INTEGER, INTENT(IN) :: STF
151 INTEGER, INTENT(IN) :: SBUFMAT
152 INTEGER, INTENT(IN) :: NSVOIS
153 INTEGER, INTENT(IN) :: IDTMINS
154 INTEGER ,INTENT(IN) :: IRESP
155 INTEGER ,INTENT(IN) :: MAXFUNC
156 INTEGER, INTENT(IN) :: IMPL_S
157 INTEGER, INTENT(IN) :: IDYNA
158 INTEGER, INTENT(IN) :: USERL_AVAIL
159 INTEGER IXS(NIXS,*), IPARG(NPARG,NGROUP),NPF(*),
160 . IPARTS(*), IPM(NPROPMI,*),IGEO(NPROPGI,*),GRTH(*),
161 . IGRTH(*),IADS(8,*),IOUTPRT,H3D_STRAIN
162 INTEGER, INTENT(IN) :: NODADT,IDTMIN(102)
163 my_real,
INTENT(IN) :: dtfac1(102),dtmin1(102)
164
165 INTEGER NELTST,ITYPTST,OFFSET,NEL,ICP,
166 . ICSIG, NVC,ITASK, , IEXPAN ,NNPT,NG
167
168 DOUBLE PRECISION
169 . XDP(3,*)
170
172 . dt2t
173
175 . pm(npropm,*),geo(npropg,*),x(*),a(*),v(3,*),ms(*),w(*),
176 . flux(6,*),flu1(*),veul(*),fv(*),tf(*),bufmat(*),
177 . partsav(*),stifn(*), fsky(*),eani(*),
178 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
179 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
180 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
181 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
182 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
183 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
184 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
185 . f18(mvsiz),f28(mvsiz),f38(mvsiz)
187 . smr(mvsiz,729),sms(mvsiz,729),smt(mvsiz,729),
188 . mfxx(mvsiz,729),mfxy(mvsiz,729),mfyx(mvsiz,729),
189 . mfyy(mvsiz,729),mfyz(mvsiz,729),mfzy(mvsiz,729),
190 . mfzz(mvsiz,729),mfzx(mvsiz,729),mfxz(mvsiz,729),
191 . temp(*), fthe(*), fthesky(*),gresav(*), mssa(*),
192 . dmels(*), voln(mvsiz),condn(*),condnsky(*)
193 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
194 TYPE(TTABLE) TABLE(*)
195 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
196 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
197 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
198 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
199 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
200 TYPE(DT_), INTENT(INOUT) :: DT
201 type (glob_therm_) ,intent(inout) :: glob_therm
202
203
204
205 INTEGER I,J,N,LCO,NF1,IFLAG,IAD0,NLAY,L_PLA,L_EPSD,
206 . IP,IR,IS,IT,IL,NPTR,NPTS,NPTT,ICR,ICS,ICT,PID,MTN0,IPTHK,
207 . IPPOS,IPMAT,NLYMAX,MID,IPANG,IOR_TSH,NPTR0,NPTS0,NPTT0,IBID,MX,
208 . II(6),CURRENT_LAYER
209 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),MXT0(MVSIZ),IBIDON(1),
210 . IDEG(MVSIZ)
211
212 DOUBLE PRECISION
213 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),
214 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
215 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
216 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
217 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
218 . ZD1(MVSIZ), ZD2(MVSIZ)
219
220
221
222 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
223 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
224 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
225 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
226 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
227 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
228 . ajc1(mvsiz) , ajc2(mvsiz) , ajc3(mvsiz) ,
229 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
230 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
231 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
232 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz) ,
233 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
234 . e0(mvsiz),c1,fac(mvsiz),them(mvsiz,8),tempel(mvsiz),ni(8),
235 . die(mvsiz),conde(mvsiz),conden(mvsiz),amu(mvsiz)
236
237
239 . sti(mvsiz),stin(mvsiz),gama(mvsiz,6),
240 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
241
243 . muvoid(mvsiz)
244 INTEGER IOFFS,IFVM22,NN_DEL,IPRES,ISCTL,ISTAB(MVSIZ)
246 . offs(mvsiz),dsv(mvsiz)
247
248
249 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
250 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
252 . off(mvsiz) ,offl(mvsiz) , rhoo(mvsiz),
253 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
254 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
255 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
256 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
257 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
258 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
259 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
260 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
261 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
262 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
263 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
264 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
265 . hx1(mvsiz),hx2(mvsiz),hx3(mvsiz),hx4(mvsiz),
266 . hy1(mvsiz),hy2(mvsiz),hy3(mvsiz),hy4(mvsiz),
267 . hz1(mvsiz),hz2(mvsiz),hz3(mvsiz),hz4(mvsiz),
268 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
269 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
270 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
271 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
272 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
273 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
274 . pxy1(mvsiz),pxy2(mvsiz),pxy3(mvsiz),pxy4(mvsiz),
275 . pxy5(mvsiz),pxy6(mvsiz),pxy7(mvsiz),pxy8(mvsiz),
276 . pyx1(mvsiz),pyx2(mvsiz),pyx3(mvsiz),pyx4(mvsiz),
277 . pyx5(mvsiz),pyx6(mvsiz),pyx7(mvsiz),pyx8(mvsiz),
278 . pxz1(mvsiz),pxz2(mvsiz),pxz3(mvsiz),pxz4(mvsiz),
279 . pxz5(mvsiz),pxz6(mvsiz),pxz7(mvsiz),pxz8(mvsiz),
280 . pzx1(mvsiz),pzx2(mvsiz),pzx3(mvsiz),pzx4(mvsiz),
281 . pzx5(mvsiz),pzx6(mvsiz),pzx7(mvsiz),pzx8(mvsiz),
282 . pyz1(mvsiz),pyz2(mvsiz),pyz3(mvsiz),pyz4(mvsiz),
283 . pyz5(mvsiz),pyz6(mvsiz),pyz7(mvsiz),pyz8(mvsiz
284 . pzy1(mvsiz),pzy2(mvsiz),pzy3(mvsiz),pzy4(mvsiz),
285 . pzy5(mvsiz),pzy6(mvsiz),pzy7(mvsiz),pzy8(mvsiz),
286 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
287 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
288 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
289 . bxy1(mvsiz),bxy2(mvsiz),bxy3(mvsiz),bxy4(mvsiz),
290 . bxy5(mvsiz),bxy6(mvsiz),bxy7(mvsiz),bxy8(mvsiz),
291 . byx1(mvsiz),byx2(mvsiz),byx3(mvsiz),byx4(mvsiz),
292 . byx5(mvsiz),byx6(mvsiz),byx7(mvsiz),byx8(mvsiz),
293 . bxz1(mvsiz),bxz2(mvsiz),bxz3(mvsiz),bxz4(mvsiz),
294 . bxz5(mvsiz),bxz6(mvsiz),bxz7(mvsiz),bxz8(mvsiz),
295 . bzx1(mvsiz),bzx2(mvsiz),bzx3(mvsiz),bzx4(mvsiz),
296 . bzx5(mvsiz),bzx6(mvsiz),bzx7(mvsiz),bzx8(mvsiz),
297 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
298 . byz5(mvsiz),byz6(mvsiz),byz7(mvsiz),byz8(mvsiz),
299 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
300 . bzy5(mvsiz),bzy6(mvsiz),bzy7(mvsiz),bzy8(mvsiz),
301 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
302 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
303 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
304 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
305 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
306 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
307 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
308 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
309 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
310 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
311 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
312 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),
313 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
314 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
315 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
317 . dxy(mvsiz),dyx(mvsiz),
318 . dyz(mvsiz),dzy(mvsiz),
319 . dzx(mvsiz),dxz(mvsiz),divde(mvsiz)
321 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
322 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
323 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
324 . g1x(mvsiz),g2x(mvsiz),g3x(mvsiz),
325 . g1y(mvsiz),g2y(mvsiz),g3y(mvsiz),
326 . g1z(mvsiz),g2z(mvsiz),g3z(mvsiz)
328 . wi,smax(mvsiz),volg(mvsiz),nu(mvsiz),pp(mvsiz),usb(mvsiz),
329 . volm(mvsiz),sigm(mvsiz),dti,bid(mvsiz)
331 . sigy(mvsiz), sign(nel,6),et(mvsiz), nu1(mvsiz),
332 . r1_free(mvsiz),r3_free(mvsiz),r4_free(mvsiz)
334 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8),
335 . alpha_e(mvsiz),llsh(mvsiz),llsmin(mvsiz),
area(mvsiz)
336 DOUBLE PRECISION
337 . FACDP
339 . shf(mvsiz),zr,zs,zt,wt,zz,
340 . rx(mvsiz), ry(mvsiz), rz(mvsiz),
341 . sx(mvsiz), sy(mvsiz), sz(mvsiz),
342 . tx(mvsiz), ty(mvsiz), tz(mvsiz)
343 my_real,
DIMENSION(MVSIZ,NNPT) :: smtt
345 . DIMENSION(:), POINTER :: eint
346 my_real,
dimension(mvsiz) :: fheat
347
349 . DIMENSION(:,:), ALLOCATABLE ::
350 . var_reg,pxx1,pxx2,pxx3,pxx4,pxx5,pxx6,pxx7,pxx8,
351 . pyy1,pyy2,pyy3,pyy4,pyy5,pyy6,pyy7,pyy8,
352 . pzz1,pzz2,pzz3,pzz4,pzz5,pzz6,pzz7,pzz8
353 INTEGER :: INLOC, L_NLOC, INOD(8), IPOS(8)
355 . DIMENSION(:), POINTER :: dnl
357 . h(8),pr(8),ps(8),pt(8)
359 . ev(mvsiz),evd(mvsiz)
360 TYPE(G_BUFEL_) ,POINTER :: GBUF
361 TYPE(L_BUFEL_) ,POINTER :: LBUF
362 INTEGER SZ_IX
363 my_real :: sti_c(mvsiz),ll(mvsiz),fld(mvsiz),
364 . cns2,fqmax
365
366 parameter(nlymax = 200,ipmat = 100,ipang = 200)
367
369 . w_gauss(9,9),a_gauss(9,9)
370 DATA w_gauss /
371 1 2. ,0. ,0. ,
372 1 0. ,0. ,0. ,
373 1 0. ,0. ,0. ,
374 2 1. ,1. ,0. ,
375 2 0. ,0. ,0. ,
376 2 0. ,0. ,0. ,
377 3 0.555555555555556,0.888888888888889,0.555555555555556,
378 3 0. ,0. ,0. ,
379 3 0. ,0. ,0. ,
380 4 0.347854845137454,0.652145154862546,0.652145154862546,
381 4 0.347854845137454,0. ,0. ,
382 4 0. ,0. ,0. ,
383 5 0.236926885056189,0.478628670499366,0.568888888888889,
384 5 0.478628670499366,0.236926885056189,0. ,
385 5 0. ,0. ,0. ,
386 6 0.171324492379170,0.360761573048139,0.467913934572691,
387 6 0.467913934572691,0.360761573048139,0.171324492379170,
388 6 0. ,0. ,0. ,
389 7 0.129484966168870,0.279705391489277,0.381830050505119,
390 7 0.417959183673469,0.381830050505119,0.279705391489277,
391 7 0.129484966168870,0. ,0. ,
392 8 0.101228536290376,0.222381034453374,0.313706645877887,
393 8 0.362683783378362,0.362683783378362,0.313706
394 8 0.222381034453374,0.101228536290376,0. ,
395 9 0.081274388361574,0.180648160694857,0.260610696402935,
396 9 0.312347077040003,0.330239355001260,0.312347077040003,
397 9 0.260610696402935,0.180648160694857,0.081274388361574/
398 DATA a_gauss /
399 1 0. ,0. ,0. ,
400 1 0. ,0. ,0. ,
401 1 0. ,0. ,0. ,
402 2 -.577350269189626,0.577350269189626,0. ,
403 2 0. ,0. ,0. ,
404 2 0. ,0. ,0. ,
405 3 -.774596669241483,0. ,0.774596669241483,
406 3 0. ,0. ,0. ,
407 3 0. ,0. ,0. ,
408 4 -.861136311594053,-.339981043584856,0.339981043584856,
409 4 0.861136311594053,0. ,0. ,
410 4 0. ,0. ,0. ,
411 5 -.906179845938664,-.538469310105683,0. ,
412 5 0.538469310105683,0.906179845938664,0. ,
413 5 0. ,0. ,0. ,
414 6 -.932469514203152,-.661209386466265,-.238619186083197,
415 6 0.238619186083197,0.661209386466265,0.932469514203152,
416 6 0. ,0. ,0. ,
417 7 -.949107912342759,-.741531185599394,-.405845151377397,
418 7 0. ,0.405845151377397,0.741531185599394,
419 7 0.949107912342759,0. ,0. ,
420 8 -.960289856497536,-.796666477413627,-.525532409916329,
421 8 -.183434642495650,0.183434642495650,0.525532409916329,
422 8 0.796666477413627,0.960289856497536,0. ,
423 9 -.968160239507626,-.836031107326636,-.613371432700590,
424 9 -.324253423403809,0. ,0.324253423403809,
425 9 0.613371432700590,0.836031107326636,0.968160239507626/
426
427
428 INTEGER IBOLTP,NBPRELD
429 INTEGER SZ_R1_FREE
431 . DIMENSION(:), POINTER :: bpreld
432
433
434
435 sz_ix=numelq+numels+nsvois
436 sz_r1_free=mvsiz
437 gbuf => elbuf_tab(ng)%GBUF
438 tempel(:) = zero
439 fheat(:) = zero
440
441 DO i=1,6
442 ii(i) = nel*(i-1)
443 ENDDO
444
445 iboltp = iparg(72,ng)
446 nbpreld = gbuf%G_BPRELD
447 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
448
449 ibid = 0
450 ibidon(1) = 0
451 bid = zero
452 IF (jcvt==1 .AND. isorth==1) jcvt=2
453 iad0 = 1
454 IF (igtyp /= 22) THEN
455 IF (isorth > 0) iad0 = 1 + 6*nel
456 isorthg = 0
457 END IF
458 ior_tsh = 0
459 IF (igtyp == 21.OR.igtyp == 22) ior_tsh = 1
460
461
462 nf1=nft+1
463
464 IF (ior_tsh > 0) THEN
466 1 8, x, ixs(1,nf1),rx,
467 2 ry, rz, sx, sy,
468 3 sz, tx, ty, tz,
469 4 nel)
470 ENDIF
471
472
473
474 IF (jcvt == 0) THEN
475
476 CALL scoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
477 2 x1, x2, x3, x4, x5, x6, x7, x8,
478 3 y1, y2, y3, y4, y5, y6, y7, y8,
479 4 z1, z2, z3, z4, z5, z6, z7, z8,
480 5 vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
481 6 vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
482 7 vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
483 8 vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
484 9 vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
485 a vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
486 b vdx,vdy,vdz,vd2,vis,gbuf%OFF,offl,gbuf%SMSTR,
487 c gbuf%RHO,rhoo,nc1,nc2,nc3,nc4,nc5,nc6,
488 c nc7,nc8,ngl,mxt,ngeo,
489 e bid,bid,bid,bid,bid,bid,
490 f xd1, xd2 , xd3, xd4, xd5, xd6, xd7, xd8,
491 g yd1, yd2 , yd3, yd4, yd5, yd6, yd7, yd8,
492 h zd1, zd2 , zd3, zd4, zd5, zd6, zd7, zd8,
493 i xdp, iparg, ng , nel)
494 ELSE
495
496 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
497 . x1, x2, x3, x4, x5, x6, x7, x8,
498 . y1, y2, y3, y4, y5, y6, y7, y8,
499 . z1, z2, z3, z4, z5, z6, z7, z8,
500 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
501 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
502 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
503 . vd2,vis,gbuf%OFF,offl,gbuf%SMSTR,gbuf%RHO,rhoo,
504 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
505 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
506 . ngl,mxt,ngeo,ioutprt, vgxa, vgya, vgza, vga2,
507 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
508 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
509 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
510 . xdp, x0 , y0 , z0 , nel, xgxa, xgya, xgza,
511 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
512 . gbuf%GAMA_R)
513 ENDIF
514 nn_del = 0
515 pid = ngeo(1)
516 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
517 . nn_del=8
518 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
519 isctl = igeo(97,pid)
520
521 IF (jcvt == 2 .AND. ior_tsh == 0) THEN
523 1 lft, llt, nel, g1x,
524 2 g1y, g1z, g2x, g2y,
525 3 g2z, g3x, g3y, g3z,
526 4 gbuf%GAMA,isorth)
527 ENDIF
528
529 mx = mxt(1)
530 ipres = mat_elem%MAT_PARAM(mx)%IPRES
531 DO i=lft,llt
532 nu(i)=
min(half,pm(21,mxt(i)))
533 deltax(i)=ep30
534 c1 =pm(32,mxt(i))
535 e0(i) =three*(one-two*nu(i))*c1
536 usb(i)=em01/c1
537 ideg(i)=0
538 ENDDO
539
540
541 ics=icsig/100
542 ict=mod(icsig/10,10)
543 icr=mod(icsig,10)
544
545 nlay=elbuf_tab(ng)%NLAY
546 nptr=elbuf_tab(ng)%NPTR
547 npts=elbuf_tab(ng)%NPTS
548 nptt=elbuf_tab(ng)%NPTT
549 it = 1
550 inloc = iparg(78,ng)
551 ALLOCATE(var_reg(nel,nptr*npts*nlay))
552 IF (inloc > 0) ALLOCATE(
553 . pxx1(nel,nptr*npts*nlay),pxx2(nel,nptr*npts*nlay),pxx3(nel,nptr*npts*nlay),
554 . pxx4(nel,nptr*npts*nlay),pxx5(nel,nptr*npts*nlay),pxx6(nel,nptr*npts*nlay),
555 . pxx7(nel,nptr*npts*nlay),pxx8(nel,nptr*npts*nlay),pyy1(nel
556 . pyy2(nel,nptr*npts*nlay),pyy3(nel,nptr*npts*nlay),pyy4(nel,nptr*npts*nlay),
557 . pyy5(nel,nptr*npts*nlay),pyy6(nel,nptr*npts*nlay),pyy7(nel,nptr*npts*nlay),
558 . pyy8(nel,nptr*npts*nlay),pzz1(nel,nptr*npts*nlay),pzz2(nel,nptr*npts*nlay),
559 . pzz3(nel,nptr*npts*nlay),pzz4(nel,nptr*npts*nlay),pzz5(nel,nptr*npts*nlay),
560 . pzz6(nel,nptr*npts*nlay),pzz7(nel,nptr*npts*nlay),pzz8(nel,nptr*npts*nlay))
561
563 1 offl, volg, ngl, xd1,
564 2 xd2, xd3, xd4, xd5,
565 3 xd6, xd7, xd8, yd1,
566 4 yd2, yd3, yd4, yd5,
567 5 yd6, yd7, yd8, zd1,
568 6 zd2, zd3, zd4, zd5,
569 7 zd6, zd7, zd8, pxc1,
570 8 pxc2, pxc3, pxc4, pyc1,
571 9 pyc2, pyc3, pyc4, pzc1,
572 a pzc2, pzc3, pzc4, px1h1,
573 b px1h2, px1h3, px1h4, px2h1,
574 c px2h2, px2h3, px2h4, px3h1,
575 d px3h2, px3h3, px3h4, px4h1,
576 e px4h2, px4h3, px4h4, hx,
577 f hy, hz, ajc1, ajc2,
578 g ajc3, ajc4, ajc5, ajc6,
579 h ajc7, ajc8, ajc9, smax,
580 i gbuf%SMSTR,gbuf%OFF, nel, ismstr,
581 j jlag)
582 IF (idts6>0) THEN
584 1 volg, deltax, x1, x2,
585 2 x3, x4, x5, x6,
586 3 x7, x8, y1, y2,
587 4 y3, y4, y5, y6,
588 5 y7, y8, z1, z2,
589 6 z3, z4, z5, z6,
590 7 z7, z8, ixs(1,nf1),ideg,
591 8 nel)
592 END IF
593 IF (ntsheg > 0 .AND. isctl == 0) THEN
595 . x1, x2, x3, x4, x5, x6, x7, x8,
596 . y1, y2, y3, y4, y5, y6, y7, y8,
597 . z1, z2, z3, z4, z5, z6, z7, z8,icsig,nel)
598 llsmin(lft:llt) = deltax(lft:llt)
599 END IF
600
601
602
603
604 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
606 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
607 2 xd3, xd4, xd5, xd6,
608 3 xd7, xd8, yd1, yd2,
609 4 yd3, yd4, yd5, yd6,
610 5 yd7, yd8, zd1, zd2,
611 6 zd3, zd4, zd5, zd6,
612 7 zd7, zd8, nel)
613 END IF
614
615 IF (icp == 2) THEN
616 CALL s8csigp3(gbuf%SIG,e0 ,gbuf%PLA,fac,gbuf%G_PLA,nel)
617 DO i=lft,llt
618 nu1(i)=nu(i)+(half-nu(i))*fac(i)
619 ENDDO
620 ELSE
621 DO i=lft,llt
622 nu1(i)=nu(i)
623 ENDDO
624 ENDIF
625
626 IF (icp >0 .AND. idts6==0)
CALL degenes8(
627 1 ixs(1,nf1),ideg, nel)
628
629
630
632 1 f11, f21, f31, f12,
633 2 f22, f32, f13, f23,
634 3 f33, f14, f24, f34,
635 4 f15, f25, f35, f16,
636 5 f26, f36, f17, f27,
637 6 f37, f18, f28, f38,
638 7 gbuf%SIG, gbuf%EINT, gbuf%RHO, gbuf%QVIS,
639 8 gbuf%PLA, gbuf%EPSD, stin, pp,
640 9 gbuf%G_PLA, gbuf%G_EPSD,iexpan, gbuf%EINTTH,
641 a nel, conden)
642
643
644
645 IF(jthe < 0) THEN
646 DO i=lft,llt
647 IF(gbuf%OFF(i) == zero) cycle
648 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
649 . + temp(nc3(i)) + temp(nc4(i))
650 . + temp(nc5(i)) + temp(nc6(i))
651 . + temp(nc7(i)) + temp(nc8(i)))
652 gbuf%TEMP(i) = tempel(i)
653 ENDDO
654 ENDIF
655
656
657
658 pid=ngeo(lft)
659 DO ir=1,nptr
660 DO is=1,npts
661 DO i=lft,llt
662 sigm(i) = zero
663 volm(i) = zero
664 ENDDO
665 DO il=1,nlay
666 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
667 DO i=lft,llt
668 sigm(i) = sigm(i)+lbuf%SIG(ii(3)+i)*lbuf%VOL(i)
669 volm(i) = volm(i)+lbuf%VOL(i)
670 ENDDO
671 ENDDO
672 DO il=1,nlay
673 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
674 ip = ir + ( (is-1) + (il-1)*npts )*nptr
675 DO i=lft,llt
676 smtt(i,ip)=(lbuf%SIG(ii(3)+i)-sigm(i)/volm(i))*usb(i)
677 ENDDO
678 ENDDO
679 ENDDO
680 ENDDO
681
682
683 IF (igtyp == 21) THEN
685 1 lft, llt, icsig, nel,
686 2 rx, ry, rz, sx,
687 3 sy, sz, tx, ty,
688 4 tz, r11, r21, r31,
689 5 r12, r22, r32, r13,
690 6 r23, r33, g1x, g1y,
691 7 g1z, g2x, g2y, g2z,
692 8 g3x, g3y, g3z, gbuf%GAMA,
693 9 irep)
694
695 ELSEIF (igtyp == 22) THEN
696 ipthk = ipang+nlymax
697 ippos = ipthk+nlymax
698 mtn0=mtn
699 DO i=lft,llt
700 mxt0(i)=mxt(i)
701 shf(i)=geo(38,ngeo(i))
702 ENDDO
703 ENDIF
704
705 IF ((ict+icr+ics) >= 1) THEN
706 IF (dt1 == zero) THEN
707 dti =zero
708 ELSE
709 dti = one/dt1
710 ENDIF
711 ENDIF
712
713 ioffs=0
714 DO i=lft,llt
715 offs(i)=ep20
716
717 fac(i) = one
718 END DO
719 IF(jthe < 0) them(lft:llt,1:8) = zero
720
721
722
723 DO ir=1,nptr
724 DO is=1,npts
725 DO il=1,nlay
726 ip = ir + ( (is-1) + (il-1)*npts )*nptr
727 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
728
729 IF (ioffs == 1)THEN
730 DO i=lft,llt
731 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
732 ENDDO
733 END IF
734
735
736
737 IF (igtyp == 22) THEN
738 wt = geo(ipthk+il,pid)
739 zz = geo(ippos+il,pid)
740 mid=igeo(ipmat+il,pid)
741 mtn=nint(pm(19,mid))
742 DO i=lft,llt
743 mxt(i)=mid
744 ENDDO
745 ELSE
746 zz = a_gauss(il,nlay)
747 wt = w_gauss(il,nlay)
748 ENDIF
749 IF (ict == 1) THEN
750 zr = a_gauss(ir,nptr)
751 zs = a_gauss(is,npts)
752 zt = zz
753 ELSEIF (ics == 1) THEN
754 zr = a_gauss(ir,nptr)
755 zs = zz
756 zt = a_gauss(is,npts)
757 ELSEIF (icr == 1) THEN
758 zr = zz
759 zs = a_gauss(ir,nptr)
760 zt = a_gauss(is,npts)
761 ENDIF
762 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*wt
763
764
765
766
767 IF (inloc > 0) THEN
768 l_nloc = nloc_dmg%L_NLOC
769 dnl => nloc_dmg%DNL(1:l_nloc)
770 CALL basis8 (zr,zs,zt,h,pr,ps,pt)
771 DO i=lft,llt
772 inod(1) = nloc_dmg%IDXI(nc1(i))
773 inod(2) = nloc_dmg%IDXI(nc2(i))
774 inod(3) = nloc_dmg%IDXI(nc3(i))
775 inod(4) = nloc_dmg%IDXI(nc4(i))
776 inod(5) = nloc_dmg%IDXI(nc5(i))
777 inod(6) = nloc_dmg%IDXI(nc6(i))
778 inod(7) = nloc_dmg%IDXI(nc7(i))
779 inod(8) = nloc_dmg%IDXI(nc8(i))
780 DO j = 1, 8
781 ipos(j) = nloc_dmg%POSI(inod(j))+il-1
782 ENDDO
783 var_reg(i,ip) = h(1)*dnl(ipos(1)) + h(2)*dnl(ipos(2)) + h(3)*dnl(ipos(3))
784 . + h(4)*dnl(ipos(4)) + h(5)*dnl(ipos(5)) + h(6)*dnl(ipos(6))
785 . + h(7)*dnl(ipos(7)) + h(8)*dnl(ipos(8))
786 ENDDO
787 ENDIF
788
790 1 offl, off, voln, ngl,
791 2 zr, zs, zt, wi,
792 3 pxc1, pxc2, pxc3, pxc4,
793 4 pyc1, pyc2, pyc3, pyc4,
794 5 pzc1, pzc2, pzc3, pzc4,
795 6 px1h1, px1h2, px1h3, px1h4,
796 7 px2h1, px2h2, px2h3, px2h4,
797 8 px3h1, px3h2, px3h3, px3h4,
798 9 px4h1, px4h2, px4h3, px4h4,
799 a hx, hy, hz, px1,
800 b px2, px3, px4, px5,
801 c px6, px7, px8, py1,
802 d py2, py3, py4, py5,
803 e py6, py7, py8, pz1,
804 f pz2, pz3, pz4, pz5,
805 g pz6, pz7, pz8, pxy1,
806 h pxy2, pxy3, pxy4, pxy5,
807 i pxy6, pxy7, pxy8, pyx1,
808 j pyx2, pyx3, pyx4, pyx5,
809 k pyx6, pyx7, pyx8, pxz1,
810 l pxz2, pxz3, pxz4, pxz5,
811 m pxz6, pxz7, pxz8, pzx1,
812 n pzx2, pzx3, pzx4, pzx5,
813 o pzx6, pzx7, pzx8, pyz1,
814 p pyz2, pyz3, pyz4, pyz5,
815 q pyz6, pyz7, pyz8, pzy1,
816 r pzy2, pzy3, pzy4, pzy5,
817 s pzy6, pzy7, pzy8, bxy1,
818 t bxy2, bxy3, bxy4, bxy5,
819 u bxy6, bxy7, bxy8, byx1,
820 v byx2, byx3, byx4, byx5,
821 w byx6, byx7, byx8, bxz1,
822 x bxz2, bxz3, bxz4, bxz5,
823 y bxz6, bxz7, bxz8, bzx1,
824 z bzx2, bzx3, bzx4, bzx5,
825 1 bzx6, bzx7, bzx8, byz1,
826 2 byz2, byz3, byz4, byz5,
827 3 byz6, byz7, byz8, bzy1,
828 4 bzy2, bzy3, bzy4, bzy5,
829 5 bzy6, bzy7, bzy8, ajc1,
830 6 ajc2, ajc3, ajc4, ajc5,
831 7 ajc6, ajc7, ajc8, ajc9,
832 8 aj1, aj2, aj3, aj4,
833 9 aj5, aj6, smax, deltax,
834 a nu1, icp, ideg, voldp,
835 b nel, mtn, ismstr, jhbe)
836
837 IF (ict == 1) THEN
838 smt(lft:llt,ip) = smtt(lft:llt,ip)
839 ELSEIF (ics == 1) THEN
840 sms(lft:llt,ip) = smtt(lft:llt,ip)
841 ELSEIF (icr == 1) THEN
842 smr(lft:llt,ip) = smtt(lft:llt,ip)
843 ENDIF
845 1 pxc1, pxc2, pxc3, pxc4,
846 2 pyc1, pyc2, pyc3, pyc4,
847 3 pzc1, pzc2, pzc3, pzc4,
848 4 px1, px2, px3, px4,
849 5 px5, px6, px7, px8,
850 6 py1, py2, py3, py4,
851 7 py5, py6, py7, py8,
852 8 pz1, pz2, pz3, pz4,
853 9 pz5, pz6, pz7, pz8,
854 a pxy1, pxy2, pxy3, pxy4,
855 b pxy5, pxy6, pxy7, pxy8,
856 c pyx1, pyx2, pyx3, pyx4,
857 d pyx5, pyx6, pyx7, pyx8,
858 e pxz1, pxz2, pxz3, pxz4,
859 f pxz5, pxz6, pxz7, pxz8,
860 g pzx1, pzx2, pzx3, pzx4,
861 h pzx5, pzx6, pzx7, pzx8,
862 i pyz1, pyz2, pyz3, pyz4,
863 j pyz5, pyz6, pyz7, pyz8,
864 k pzy1, pzy2, pzy3, pzy4,
865 l pzy5, pzy6, pzy7, pzy8,
866 m bxy1, bxy2, bxy3, bxy4,
867 n bxy5, bxy6, bxy7, bxy8,
868 o byx1, byx2, byx3, byx4,
869 p byx5, byx6, byx7, byx8,
870 q bxz1, bxz2, bxz3, bxz4,
871 r bxz5, bxz6, bxz7, bxz8,
872 s bzx1, bzx2, bzx3, bzx4,
873 t bzx5, bzx6,
874 u byz1, byz2, byz3, byz4,
875 v byz5, byz6, byz7, byz8,
876 w bzy1, bzy2, bzy3, bzy4,
877 x bzy5, bzy6, bzy7, bzy8,
878 y vx1, vx2, vx3, vx4,
879 z vx5, vx6, vx7, vx8,
880 1 vy1, vy2, vy3, vy4,
881 2 vy5, vy6, vy7, vy8,
882 3 vz1, vz2, vz3, vz4,
883 4 vz5, vz6, vz7, vz8,
884 5 dxx, dxy, dxz, dyx,
885 6 dyy, dyz, dzx, dzy,
886 7 dzz, d4, d5, d6,
887 8 wxx, wyy, wzz, lbuf%VOL,
888 9 off, lbuf%EINT, gbuf%OFF, dsv,
889 a icp, icr, ics, ict,
890 b dti, smr(1,ip), sms(1,ip), smt(1,ip),
891 c ngl, ideg, lbuf%VOL0DP,nel,
892 d ismstr, ipres)
893
894 mx = mxt(lft)
895 DO i=lft,llt
896 rhoo(i) = lbuf%RHO(i)
897 tempel(i) = pm(79,mx)
898 ENDDO
899 IF (igtyp == 22)
901 1 lft, llt, icsig, nel,
902 2 rx, ry, rz, sx,
903 3 sy, sz, tx, ty,
904 4 tz, r11, r21
905 5 r12, r22, r32, r13,
906 6 r23, r33, g1x, g1y,
907 7 g1z, g2x, g2y, g2z,
908 8 g3x, g3y, g3z, lbuf%GAMA,
909 9 irep)
910 IF (jcvt == 2) THEN
911 CALL szordef3(lft,llt,dxx,dyy,dzz,d4,d5,d6,
912 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
913 ENDIF
914 IF (igtyp == 22) THEN
915 IF (ics == 1) THEN
916 DO i=lft,llt
917 d4(i)=shf(i)*d4(i)
918 d5(i)=shf(i)*d5(i)
919 ENDDO
920 ELSEIF (icr == 1) THEN
921 DO i=lft,llt
922 d4(i)=shf(i)*d4(i)
923 d6(i)=shf(i)*d6(i)
924 ENDDO
925 ELSEIF (ict == 1) THEN
926 DO i=lft,llt
927 d5(i)=shf(i)*d5(i)
928 d6(i)=shf(i)*d6(i)
929 ENDDO
930 ENDIF
931 ENDIF
932
933 IF (ntsheg > 0 .AND. isctl == 0) THEN
934 DO i=lft,llt
935 IF (gbuf%IDT_TSH(i)<=0) cycle
936 llsmin(i) =
min(llsmin(i),deltax(i))
937 deltax(i) =
max(llsh(i),deltax(i))
938 ENDDO
939 END IF
940 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+dsv(1:nel)
942 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
943 2 divde, flux(1,nf1),flu1(nf1), voln,
944 3 dvol, ngl, mxt, off,
945 4 0, gbuf%TAG22, voldp, lbuf%VOL0DP,
946 5 amu, gbuf%OFF, nel, mtn,
947 6 jale, ismstr, jeul, jlag)
948
949 IF (jcvt == 0) THEN
951 1 lbuf%SIG,s1, s2, s3,
952 2 s4, s5, s6, wxx,
953 3 wyy, wzz, nel, mtn,
954 4 ismstr)
955
956
957
959 1 gbuf%SMSTR,gbuf%OFF, off
960 2 wyy, wzz, nel, ismstr,
961 3 jlag)
962
963 ELSE
964
965
966
967 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
968 . gbuf%OFF,off,nel)
969 ENDIF
970
971
972
973 IF (jthe < 0 ) THEN
975 1 zr,zs,zt,
976 2 nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
977 3 temp,tempel)
978 ENDIF
979
980
981
982
983 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
984
985 IF(iboltp /= 0)
CALL boltst(
986 . ip, bpreld, lbuf%SIG,tt ,
987 . nel ,npt ,sensors%NSENSOR,sensors%SENSOR_TAB)
988
989 current_layer=il
990 CALL mmain(timers, output,
991 1 elbuf_tab, ng, pm, geo,
992 2 ale_connect, ixs, iparg,
993 3 v, tf, npf, bufmat,
994 4 sti, x, dt2t, neltst,
995 5 ityptst, offset, nel, w,
996 6 off, ngeo, mxt, ngl,
997 7 voln, vd2, dvol, deltax,
998 8 vis, qvis, cxx, s1,
999 9 s2, s3, s4, s5,
1000 a s6, dxx, dyy, dzz,
1001 b d4, d5, d6, wxx,
1002 c wyy, wzz, aj1, aj2,
1003 d aj3, aj4, aj5, aj6,
1004 e vdx, vdy, vdz, muvoid,
1005 f ssp_eq, aire, sigy, et,
1006 g r1_free, lbuf%PLA, r3_free, amu,
1007 h mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip),
1008 i mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
1009 j mfzz(1,ip), ipm, gama, bid,
1010 k bid, bid, bid, bid,
1011 l bid, bid, istrain, tempel,
1012 m die, iexpan, current_layer,mssa,
1013 n dmels, ir, is, it,
1014 o table, bid, bid, bid,
1015 p bid, iparg(1,ng), igeo, conde,
1016 q itask, nloc_dmg, var_reg(1,ip),mat_elem,
1017 r h3d_strain, jplasol, jsph, sz_r1_free,
1018 * snpc, stf, sbufmat, glob_therm,
1019 * svis, sz_ix, iresp,
1020 * n2d, th_strain, ngroup, tt,
1021 . dt1, ntable, numelq, nummat,
1022 . numgeo, numnod, numels,
1023 . idel7nok, idtmin, maxfunc,
1024 . imon_mat, userl_avail, impl_s,
1025 . idyna, dt, fheat ,sensors, opt_mtn=mtn, opt_jcvt=jcvt,
1026 * opt_isorth=isorth,opt_isorthg=isorthg)
1027
1028 IF (istrain == 1) THEN
1030 1 dxx, dyy, dzz, d4,
1031 2 d5, d6, lbuf%STRA,wxx,
1032 3 wyy, wzz, off, nel,
1033 4 jcvt)
1034 ENDIF
1035
1036 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
1037 l_pla = elbuf_tab(ng)%BUFLY(il)%L_PLA
1038 l_epsd = elbuf_tab(ng)%BUFLY(il)%L_EPSD
1039
1040 IF (jcvt == 2) THEN
1041 CALL sroto3(lft,llt,lbuf%SIG,sign,
1042 . g1x, g2x, g3x, g1y, g2y, g3y, g1z, g2z, g3z,nel)
1044 1 sign, sign, px1, px2,
1045 2 px3, px4, py1, py2,
1046 3 py3, py4, pz1, pz2,
1047 4 pz3, pz4, px5, px6,
1048 5 px7, px8, py5, py6,
1049 6 py7, py8, pz5, pz6,
1050 7 pz7, pz8, pxy1, pxy2,
1051 8 pxy3, pxy4, pxy5, pxy6,
1052 9 pxy7, pxy8, pyx1, pyx2,
1053 a pyx3, pyx4, pyx5, pyx6,
1054 b pyx7, pyx8, pxz1, pxz2,
1055 c pxz3, pxz4, pxz5, pxz6,
1056 d pxz7, pxz8, pzx1, pzx2,
1057 e pzx3, pzx4, pzx5, pzx6,
1058 f pzx7, pzx8, pyz1, pyz2,
1059 g pyz3, pyz4, pyz5, pyz6,
1060 h pyz7, pyz8, pzy1, pzy2,
1061 i pzy3, pzy4, pzy5, pzy6,
1062 j pzy7, pzy8, bxy1, bxy2,
1063 k bxy3, bxy4, bxy5, bxy6,
1064 l bxy7, bxy8, byx1, byx2,
1065 m byx3, byx4, byx5, byx6,
1066 n byx7, byx8, bxz1, bxz2,
1067 o bxz3, bxz4, bxz5, bxz6,
1068 p bxz7, bxz8, bzx1, bzx2,
1069 q bzx3, bzx4, bzx5, bzx6,
1070 r bzx7, bzx8, byz1, byz2,
1071 s byz3, byz4, byz5, byz6,
1072 t byz7, byz8, bzy1, bzy2,
1073 u bzy3, bzy4, bzy5, bzy6,
1074 v bzy7, bzy8, f11, f21,
1075 w f31, f12, f22,
1076 x f13, f23, f33, f14,
1077 y f24, f34, f15, f25,
1078 z f35, f16, f26, f36,
1079 1 f17, f27, f37, f18,
1080 2 f28, f38, voln, qvis,
1081 3 pp, lbuf%EINT, lbuf%RHO, lbuf%QVIS,
1082 4 lbuf%PLA, lbuf%EPSD, gbuf%EPSD, gbuf%SIG,
1083 5 gbuf%EINT, gbuf%RHO, gbuf%QVIS, gbuf%PLA,
1084 6 volg, sti, stin, icp,
1085 7 off, lbuf%VOL, gbuf%VOL, gbuf%G_PLA*l_pla,
1086 8 l_epsd, fac, lbuf%EINTTH, gbuf%EINTTH,
1087 9 iexpan, nel, ideg, conde,
1088 a conden, mtn, ismstr, svis ,glob_therm%NODADT_THERM,
1089 b gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
1090 ELSE
1091
1092
1093
1095 1 lbuf%SIG, lbuf%SIG, px1, px2,
1096 2 px3, px4, py1, py2,
1097 3 py3, py4, pz1, pz2,
1098 4 pz3, pz4, px5, px6,
1099 5 px7, px8, py5, py6,
1100 6 py7, py8, pz5, pz6,
1101 7 pz7, pz8, pxy1, pxy2,
1102 8 pxy3, pxy4, pxy5, pxy6,
1103 9 pxy7, pxy8, pyx1, pyx2,
1104 a pyx3, pyx4, pyx5, pyx6,
1105 b pyx7, pyx8, pxz1, pxz2,
1106 c pxz3, pxz4, pxz5, pxz6,
1107 d pxz7, pxz8, pzx1, pzx2,
1108 e pzx3, pzx4, pzx5, pzx6,
1109 f pzx7, pzx8, pyz1, pyz2,
1110 g pyz3, pyz4, pyz5, pyz6,
1111 h pyz7, pyz8, pzy1, pzy2,
1112 i pzy3, pzy4, pzy5, pzy6,
1113 j pzy7, pzy8, bxy1, bxy2,
1114 k bxy3, bxy4, bxy5, bxy6,
1115 l bxy7, bxy8, byx1, byx2,
1116 m byx3, byx4, byx5, byx6,
1117 n byx7, byx8, bxz1, bxz2,
1118 o bxz3, bxz4, bxz5, bxz6,
1119 p bxz7, bxz8, bzx1, bzx2,
1120 q bzx3, bzx4, bzx5, bzx6,
1121 r bzx7, bzx8, byz1, byz2,
1122 s byz3, byz4, byz5, byz6,
1123 t byz7, byz8, bzy1, bzy2,
1124 u bzy3, bzy4, bzy5, bzy6,
1125 v bzy7, bzy8, f11, f21,
1126 w f31, f12, f22, f32,
1127 x f13, f23, f33, f14,
1128 y f24, f34, f15, f25,
1129 z f35, f16, f26, f36,
1130 1 f17, f27, f37, f18,
1131 2 f28, f38, voln, qvis,
1132 3 pp, lbuf%EINT, lbuf%RHO, lbuf%QVIS,
1133 4 lbuf%PLA, lbuf%EPSD, gbuf%EPSD, gbuf%SIG,
1134 5 gbuf%EINT, gbuf%RHO, gbuf%QVIS, gbuf%PLA,
1135 6 volg, sti, stin, icp,
1136 7 off, lbuf%VOL, gbuf%VOL, l_pla,
1137 8 l_epsd, fac, lbuf%EINTTH,gbuf%EINTTH,
1138 9 iexpan, nel, ideg, conde,
1139 a conden, mtn, ismstr, svis,glob_therm%NODADT_THERM,
1140 b gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
1141 ENDIF
1142 DO i=lft,llt
1143 offl(i)=
min(offl(i),off(i))
1144 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one) THEN
1145 offs(i)=
min(lbuf%OFF(i),offs(i))
1146 ioffs =1
1147 END IF
1148 ENDDO
1149
1150
1151
1152 IF (jthe < 0) THEN
1153 IF (mat_elem%MAT_PARAM(mx)%HEAT_FLAG == 1) THEN
1155 1 pm, mx , voln, ni,
1156 2 nc1, nc2, nc3, nc4,
1157 3 nc5, nc6, nc7, nc8,
1158 4 px1, px2, px3, px4,
1159 5 py1, py2, py3, py4,
1160 6 pz1, pz2, pz3, pz4,
1161 7 px5, px6, px7, px8,
1162 8 py5, py6, py7, py8,
1163 9 pz5, pz6, pz7, pz8,
1164 a dt1, temp, tempel, fheat,
1165 b them, gbuf%OFF,lbuf%OFF,partsav,
1166 c iparts, lbuf%VOL,nel,glob_therm%THEACCFACT)
1167 ELSE
1169 1 pm, mx , voln, ni,
1170 2 nc1, nc2, nc3, nc4,
1171 3 nc5, nc6, nc7, nc8,
1172 4 px1, px2, px3, px4,
1173 5 py1, py2, py3, py4,
1174 6 pz1, pz2, pz3, pz4,
1175 7 px5, px6, px7, px8,
1176 8 py5, py6, py7, py8,
1177 9 pz5, pz6, pz7, pz8,
1178 a dt1, temp, tempel, die,
1179 b them, gbuf%OFF,lbuf%OFF,partsav,
1180 c iparts, lbuf%VOL,nel,glob_therm%THEACCFACT)
1181 END IF
1182 ENDIF
1183
1184
1185
1186
1187 IF (inloc > 0) THEN
1188 pxx1(1:nel,ip) = px1
1189 pxx2(1:nel,ip) = px2(1:nel)
1190 pxx3(1:nel,ip) = px3(1:nel)
1191 pxx4(1:nel,ip) = px4(1:nel)
1192 pxx5(1:nel,ip) = px5(1:nel)
1193 pxx6(1:nel,ip) = px6(1:nel)
1194 pxx7(1:nel,ip) = px7(1:nel)
1195 pxx8(1:nel,ip) = px8(1:nel)
1196 pyy1(1:nel,ip) = py1(1:nel)
1197 pyy2(1:nel,ip) = py2(1:nel)
1198 pyy3(1:nel,ip) = py3(1:nel)
1199 pyy4(1:nel,ip) = py4(1:nel)
1200 pyy5(1:nel,ip) = py5(1:nel)
1201 pyy6(1:nel,ip) = py6(1:nel)
1202 pyy7(1:nel,ip) = py7(1:nel)
1203 pyy8(1:nel,ip) = py8(1:nel)
1204 pzz1(1:nel,ip) = pz1(1:nel)
1205 pzz2(1:nel,ip) = pz2(1:nel)
1206 pzz3(1:nel,ip) = pz3(1:nel)
1207 pzz4(1:nel,ip) = pz4(1:nel)
1208 pzz5(1:nel,ip) = pz5(1:nel)
1209 pzz6(1:nel,ip) = pz6(1:nel)
1210 pzz7(1:nel,ip) = pz7(1:nel)
1211 pzz8(1:nel,ip) = pz8(1:nel)
1212 ENDIF
1213 ENDDO
1214 ENDDO
1215 ENDDO
1216
1217
1218
1219
1220
1221 IF (inloc > 0) THEN
1223 . x1, x2, x3, x4, x5, x6, x7, x8,
1224 . y1, y2, y3, y4, y5, y6, y7, y8,
1225 . z1, z2, z3, z4, z5, z6, z7, z8,icsig,nel)
1226 DO ir = 1,nptr
1227 DO is = 1,npts
1229 1 nloc_dmg, var_reg, nel, gbuf%OFF,
1230 2 volg, nc1, nc2, nc3,
1231 3 nc4, nc5, nc6, nc7,
1232 4 nc8, pxx1, pxx2, pxx3,
1233 5 pxx4, pxx5, pxx6, pxx7,
1234 6 pxx8, pyy1, pyy2, pyy3,
1235 7 pyy4, pyy5, pyy6, pyy7,
1236 8 pyy8, pzz1, pzz2, pzz3,
1237 9 pzz4, pzz5, pzz6, pzz7,
1238 a pzz8, mxt(lft), itask, dt2t,
1239 b gbuf%VOL, nft, nlay, nptr,
1240 c npts, ir, is, w_gauss,
1241 d a_gauss, icr, ics, ict,
1242 e elbuf_tab(ng)%NLOCTS(ir,is),
area, nodadt,
1243 f dt1, dt12, dtfac1, dtmin1,
1244 g idtmin)
1245 ENDDO
1246 ENDDO
1247 ENDIF
1248
1249 IF (ioffs == 1) THEN
1250 DO i=lft,llt
1251 IF (offs(i) <= two) gbuf%OFF(i)=offs(i)
1252 END DO
1253
1254 DO ir=1,nptr
1255 DO is=1,npts
1256 DO il=1,nlay
1257 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
1258 DO i=lft,llt
1259 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
1260 END DO
1261 END DO
1262 END DO
1263 END DO
1264 END IF
1265
1266 IF (icp == 1) THEN
1268 1 pxc1, pxc2, pxc3, pxc4,
1269 2 pyc1, pyc2, pyc3, pyc4,
1270 3 pzc1, pzc2, pzc3, pzc4,
1271 4 f11, f21, f31, f12,
1272 5 f22, f32, f13, f23,
1273 6 f33, f14, f24, f34,
1274 7 f15, f25, f35, f16,
1275 8 f26, f36, f17, f27,
1276 9 f37, f18, f28, f38,
1277 a volg, pp, ideg, nel)
1278 ENDIF
1279 IF (igtyp == 22) THEN
1280 mtn = mtn0
1281 DO i=lft,llt
1282 mxt(i)=mxt0(i)
1283 ENDDO
1284 ENDIF
1285 IF ( nn_del> 0) THEN
1287 . x1, x2, x3, x4, x5, x6, x7, x8,
1288 . y1, y2, y3, y4, y5, y6, y7, y8,
1289 . z1, z2, z3, z4, z5
1291 . llsh,geo(1,pid),nn_del,dt,nel )
1292 ENDIF
1293
1294
1295
1297 1 gbuf%OFF,offl, nel, ismstr)
1298
1299
1300
1301 iflag=mod(ncycle,ncpri)
1302 IF(ioutprt>0)THEN
1303 IF (jcvt == 0) THEN
1304 ifvm22 = 0
1305 CALL sbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1306 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1307 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1308 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8
1309 . volg,iparts , gresav,grth,igrth,gbuf%OFF,
1310 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1311 . x1, x2, x3, x4, x5, x6, x7, x8,
1312 . y1, y2, y3, y4, y5, y6, y7, y8,
1313 . z1, z2, z3, z4, z5, z6, z7, z8,
1314 . itask,iparg
1315 ELSE
1316 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1317 . vgxa, vgya, vgza, vga2, volg,iparts,
1318 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1319 . gbuf%FILL,xgxa, xgya, xgza,
1320 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1321 . nel,gbuf%G_WPLA,gbuf%WPLA)
1322 ENDIF
1323 ENDIF
1324
1325
1326
1327 IF (jcvt/=0) THEN
1329 1 r11, r21, r31, r12,
1330 2 r22, r32, r13, r23,
1331 3 r33, f11, f12, f13,
1332 4 f14, f15, f16, f17,
1333 5 f18, f21, f22, f23,
1334 6 f24, f25, f26, f27,
1335 7 f28, f31, f32, f33,
1336 8 f34, f35, f36, f37,
1337 9 f38, nel)
1338 ENDIF
1339
1340
1341
1342 IF (isctl > 0) THEN
1343 alpha_e(1:nel) = one
1344 CALL sdistor_ini(
1345 1 nel ,sti_c ,npropm ,nummat ,
1346 2 ismstr ,mxt ,istab ,pm ,
1347 3 gbuf%SIG ,gbuf%RHO ,cxx ,offl ,
1348 4 gbuf%OFF ,ll ,volg ,fld ,
1349 5 cns2 ,fqmax )
1350
1352 . nc1, nc2, nc3, nc4,
1353 . nc5, nc6, nc7, nc8,
1354 . x1, x2, x3, x4,
1355 . x5, x6, x7, x8,
1356 . y1, y2, y3, y4,
1357 . y5, y6, y7, y8,
1358 . z1, z2, z3, z4,
1359 . z5, z6, z7, z8,
1360 . x, xdp, numnod, nel )
1361 DO i=1,nel
1362 vx1(i)=v(1,nc1(i))
1363 vy1(i)=v(2,nc1(i))
1364 vz1(i)=v(3,nc1(i))
1365 vx2(i)=v(1,nc2(i))
1366 vy2(i)=v(2,nc2(i))
1367 vz2(i)=v(3,nc2(i))
1368 vx3(i)=v(1,nc3(i))
1369 vy3(i)=v(2,nc3(i))
1370 vz3(i)=v(3,nc3(i))
1371 vx4(i)=v(1,nc4(i))
1372 vy4(i)=v(2,nc4(i))
1373 vz4(i)=v(3,nc4(i))
1374 vx5(i)=v(1,nc5(i))
1375 vy5(i)=v(2,nc5(i))
1376 vz5(i)=v(3,nc5(i))
1377 vx6(i)=v(1,nc6(i))
1378 vy6(i)=v(2,nc6(i))
1379 vz6(i)=v(3,nc6(i))
1380 vx7(i)=v(1
1381 vy7(i)=v(2,nc7(i))
1382 vz7(i)=v(3,nc7(i))
1383 vx8(i)=v(1,nc8(i))
1384 vy8(i)=v(2,nc8(i))
1385 vz8(i)=v(3,nc8(i))
1386 ENDDO
1388 . x1, x2, x3, x4,
1389 . x5, x6, x7, x8,
1390 . y1, y2, y3
1391 . y5, y6, y7, y8,
1392 . z1, z2, z3, z4,
1393 . z5, z6, z7, z8,
1394 . vx1, vx2, vx3, vx4,
1395 . vx5, vx6, vx7, vx8,
1396 . vy1, vy2, vy3, vy4,
1397 . vy5, vy6, vy7, vy8,
1398 . vz1, vz2, vz3, vz4,
1399 . vz5, vz6, vz7, vz8,
1400 . f11, f12, f13, f14,
1401 . f15, f16, f17, f18,
1402 . f21, f22, f23, f24,
1403 . f25, f26, f27, f28,
1404 . f31, f32, f33, f34,
1405 . f35, f36, f37, f38,
1406 . stin, sti_c, fld , cns2,
1407 . ll , istab, fqmax, nel,
1408 . gbuf%EINT_DISTOR, dt1)
1409 ENDIF
1410
1412 1 gbuf%FILL,stin, f11, f21,
1413 2 f31, f12, f22, f32,
1414 3 f13, f23, f33, f14,
1415 4 f24, f34, f15, f25,
1416 5 f35, f16, f26, f36,
1417 6 f17, f27, f37, f18,
1418 7 f28, f38, nel)
1419
1420 IF(iparit == 0)THEN
1422 1 gbuf%OFF,a, nc1, nc2,
1423 2 nc3, nc4, nc5, nc6,
1424 3 nc7, nc8, stifn, stin,
1425 4 f11, f21, f31, f12,
1426 5 f22, f32, f13, f23,
1427 6 f33, f14, f24, f34,
1428 7 f15, f25, f35, f16,
1429 8 f26, f36, f17, f27,
1430 9 f37, f18, f28, f38,
1431 a nvc, bid, bid, bid,
1432 b bid, bid, bid, bid,
1433 c bid, bid, bid, bid,
1434 d bid, bid, bid, bid,
1435 e bid, bid, bid, bid,
1436 f bid, bid, bid, bid,
1437 g bid, bid, bid, bid,
1438 h them, fthe, condn, conden,
1439 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1440 ELSE
1442 1 gbuf%OFF,stin, fsky, fsky,
1443 2 iads, f11, f21, f31,
1444 3 f12, f22, f32, f13,
1445 4 f23, f33, f14, f24,
1446 5 f34, f15, f25, f35,
1447 6 f16, f26, f36, f17,
1448 7 f27, f37, f18, f28,
1449 8 f38, nc1, nc2, nc3,
1450 9 nc4, nc5, nc6, nc7,
1451 a nc8, bid, bid, bid,
1452 b bid, bid, bid, bid,
1453 c bid, bid, bid, bid,
1454 d bid, bid, bid, bid,
1455 e bid, bid, bid, bid,
1456 f bid, bid, bid, bid,
1457 g bid, bid, bid, bid,
1458 h them, fthesky, condnsky,conden,
1459 i nel, nft, jthe, isrot,
1460 j ipartsph,glob_therm%NODADT_THERM)
1461 ENDIF
1462 IF (ntsheg > 0) THEN
1463 alpha_e(lft:llt) = one
1464 DO i=lft,llt
1465 IF (gbuf%IDT_TSH(i)<=0) cycle
1466 facdp = 1.343*llsh(i)/llsmin(i)
1467 alpha_e(i) = facdp*facdp
1468 ENDDO
1470 1 gbuf%OFF,alpha_e, nc1, nc2,
1471 2 nc3, nc4, nc5, nc6,
1472 3 nc7, nc8, nel)
1473 END IF
1474
1475
1476 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1477 IF (ALLOCATED(pxx1)) DEALLOCATE(pxx1)
1478 IF (ALLOCATED(pxx2)) DEALLOCATE(pxx2)
1479 IF (ALLOCATED(pxx3)) DEALLOCATE(pxx3)
1480 IF (ALLOCATED(pxx4)) DEALLOCATE(pxx4)
1481 IF (ALLOCATED(pxx5)) DEALLOCATE(pxx5)
1482 IF (ALLOCATED(pxx6)) DEALLOCATE(pxx6)
1483 IF (ALLOCATED(pxx7)) DEALLOCATE(pxx7)
1484 IF (ALLOCATED(pxx8)) DEALLOCATE(pxx8)
1485 IF (ALLOCATED(pyy1)) DEALLOCATE(pyy1)
1486 IF (ALLOCATED(pyy2)) DEALLOCATE(pyy2)
1487 IF (ALLOCATED(pyy3)) DEALLOCATE(pyy3)
1488 IF (ALLOCATED(pyy4)) DEALLOCATE(pyy4)
1489 IF (ALLOCATED(pyy5)) DEALLOCATE(pyy5)
1490 IF (ALLOCATED(pyy6)) DEALLOCATE(pyy6)
1491 IF (ALLOCATED(pyy7)) DEALLOCATE(pyy7)
1492 IF (ALLOCATED(pyy8)) DEALLOCATE(pyy8)
1493 IF (ALLOCATED(pzz1)) DEALLOCATE(pzz1)
1494 IF (ALLOCATED(pzz2)) DEALLOCATE(pzz2)
1495 IF (ALLOCATED(pzz3)) DEALLOCATE(pzz3)
1496 IF (ALLOCATED(pzz4)) DEALLOCATE(pzz4)
1497 IF (ALLOCATED(pzz5)) DEALLOCATE(pzz5)
1498 IF (ALLOCATED(pzz6)) DEALLOCATE(pzz6)
1499 IF (ALLOCATED(pzz7)) DEALLOCATE(pzz7)
1500 IF (ALLOCATED(pzz8)) DEALLOCATE(pzz8)
1501 RETURN
subroutine boltst(ip, bpreld, sig, tt, nel, npt, nsensor, sensor_tab)
subroutine csmall3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
subroutine degenes8(ixs, idege, 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 s8cdefo3(pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pxy1, pxy2, pxy3, pxy4, pxy5, pxy6, pxy7, pxy8, pyx1, pyx2, pyx3, pyx4, pyx5, pyx6, pyx7, pyx8, pxz1, pxz2, pxz3, pxz4, pxz5, pxz6, pxz7, pxz8, pzx1, pzx2, pzx3, pzx4, pzx5, pzx6, pzx7, pzx8, pyz1, pyz2, pyz3, pyz4, pyz5, pyz6, pyz7, pyz8, pzy1, pzy2, pzy3, pzy4, pzy5, pzy6, pzy7, pzy8, bxy1, bxy2, bxy3, bxy4, bxy5, bxy6, bxy7, bxy8, byx1, byx2, byx3, byx4, byx5, byx6, byx7, byx8, bxz1, bxz2, bxz3, bxz4, bxz5, bxz6, bxz7, bxz8, bzx1, bzx2, bzx3, bzx4, bzx5, bzx6, bzx7, bzx8, byz1, byz2, byz3, byz4, byz5, byz6, byz7, byz8, bzy1, bzy2, bzy3, bzy4, bzy5, bzy6, bzy7, bzy8, 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, volo, off, eint, offs, dsv, icp, icr, ics, ict, dti, dsr, dss, dst, ngl, ideg, vol0dp, nel, ismstr, ipres)
subroutine s8cfint_reg(nloc_dmg, var_reg, nel, offg, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, imat, itask, dt2t, vol0, nft, nlay, nptr, npts, ir, is, ws, as, icr, ics, ict, bufnlts, area, nodadt, dt1, dt12, dtfac1, dtmin1, idtmin)
subroutine s8csigp3(sig, e0, defp, fac, g_pla, nel)
subroutine s8etherm(pm, imat, vol, ni, 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, dt1, tempnc, tel, heat, fphi, offg, off, partsav, iparts, vol0, nel, theaccfact)
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 s8zfint3(sig, sigor, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, pxy1, pxy2, pxy3, pxy4, pxy5, pxy6, pxy7, pxy8, pyx1, pyx2, pyx3, pyx4, pyx5, pyx6, pyx7, pyx8, pxz1, pxz2, pxz3, pxz4, pxz5, pxz6, pxz7, pxz8, pzx1, pzx2, pzx3, pzx4, pzx5, pzx6, pzx7, pzx8, pyz1, pyz2, pyz3, pyz4, pyz5, pyz6, pyz7, pyz8, pzy1, pzy2, pzy3, pzy4, pzy5, pzy6, pzy7, pzy8, bxy1, bxy2, bxy3, bxy4, bxy5, bxy6, bxy7, bxy8, byx1, byx2, byx3, byx4, byx5, byx6, byx7, byx8, bxz1, bxz2, bxz3, bxz4, bxz5, bxz6, bxz7, bxz8, bzx1, bzx2, bzx3, bzx4, bzx5, bzx6, bzx7, bzx8, byz1, byz2, byz3, byz4, byz5, byz6, byz7, byz8, bzy1, bzy2, bzy3, bzy4, bzy5, bzy6, bzy7, bzy8, 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, pp, eint, rho, q, defp, epsd, epsdm, sigm, eintm, rhom, qm, defpm, volg, sti, stin, icp, off, vol0, vol0g, g_pla, g_epsd, jfac, eintth, eintthm, iexpan, nel, ideg, conde, conden, mtn, ismstr, svis, nodadt_therm, g_wpla, l_wpla, g_wpla_flag)
subroutine s8zfintp3(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, pp, idege, nel)
subroutine s8ztempel(lft, llt, ni, ksi, eta, zeta, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, temp, tempel)
subroutine s8zzero3(fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, fx5, fy5, fz5, fx6, fy6, fz6, fx7, fy7, fz7, fx8, fy8, fz8, sigm, eintm, rhom, qm, defpm, epsdm, stin, pp, g_pla, g_epsd, iexpan, eintthm, nel, conden)
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 sctorth3(jft, jlt, icstr, nel, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gama, irep)
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 sdlen_dege(volg, lat, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, ixs, idege, nel)
subroutine sdlensh8(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, ics, 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 sgparav3(npe, x, ixs, rx, ry, rz, sx, sy, sz, tx, ty, tz, nel)
subroutine smalla3(sav, offg, off, wxx, wyy, wzz, nel, ismstr, jlag)
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 srota3(sig, s1, s2, s3, s4, s5, s6, wxx, wyy, wzz, nel, mtn, ismstr)
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
subroutine basis8(r, s, t, h, pr, ps, pt)
subroutine s8zderi3(vol, veul, geo, ksi, eta, zeta, wi, hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, smax, deltax, ngl, voldp)
subroutine s8zderic3(vol, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, det, ngl, 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 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 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 sdlensh14(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, ics, idt1sol)
subroutine startime(event, itask)
subroutine stoptime(event, itask)
subroutine storth3(isorth, nel, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gama)
subroutine sroto3(nel, sig, sign, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
subroutine szordef3(nel, dxx, dyy, dzz, d4, d5, d6, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
subroutine tshgeodel3(ngl, offg, volg, area, volg0, l_sh, geo, nnod, dt, nel)