123
124
125
126 USE timer_mod
127 USE output_mod, only : output_
128 USE mmain_mod
130 USE mat_elem_mod
134 USE sensor_mod
136 USE elbufdef_mod
137 use glob_therm_mod
138 USE sz_dt1_mod, only : sz_dt1
139
140
141
142#include "implicit_f.inc"
143
144
145
146#include "mvsiz_p.inc"
147
148
149
150#include "vect01_c.inc"
151#include "com01_c.inc"
152#include "com04_c.inc"
153#include "com08_c.inc"
154#include "scr07_c.inc"
155#include "parit_c.inc"
156#include "param_c.inc"
157#include "timeri_c.inc"
158#include "scr17_c.inc"
159#include "scr18_c.inc"
160
161
162
163 TYPE(TIMER_), INTENT(INOUT) :: TIMERS
164 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
165 INTEGER, INTENT(IN) ::SNPC
166 INTEGER, INTENT(IN) :: STF
167 INTEGER, INTENT(IN) :: SBUFMAT
168 INTEGER, INTENT(IN) :: NSVOIS
169 INTEGER, INTENT(IN) :: IDTMINS
170 INTEGER ,INTENT(IN) :: IRESP
171 INTEGER ,INTENT(IN) :: MAXFUNC
172 INTEGER, INTENT(IN) :: IMPL_S
173 INTEGER, INTENT(IN) :: IDYNA
174 INTEGER, INTENT(IN) :: USERL_AVAIL
175 INTEGER IXS(NIXS,*), IPARG(NPARG,NGROUP),NPF(*),
176 . IPARTS(*), IPM(NPROPMI,*),IGEO(NPROPGI,*),GRTH(*),
177 . IGRTH(*),IADS(8,*),IOUTPRT
178
179 INTEGER NELTST,ITYPTST,OFFSET,NEL,ICP,NG,
180 . ICSIG, NVC, ITASK, ISTRAIN, IEXPAN ,NNPT,H3D_STRAIN
181
182 double precision
183 . xdp(3,*)
184
186 . dt2t
187
189 . pm(npropm,*),geo(npropg,*),x(*),a(*),v(*),ms(*),w(*),
190 . flux(6,*),flu1(*),veul(*),fv(*),tf(*),bufmat(*),
191 . partsav(*),stifn(*), fsky(*),eani(*),
192 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
193 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
194 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
195 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
196 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
197 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
198 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
199 . f18(mvsiz),f28(mvsiz),f38(mvsiz)
201 . smr(mvsiz,729),sms(mvsiz,729),smt(mvsiz,729),
202 . mfxx(mvsiz,729),mfxy(mvsiz,729),mfyx(mvsiz,729),
203 . mfyy(mvsiz,729),mfyz(mvsiz,729),mfzy(mvsiz,729),
204 . mfzz(mvsiz,729),mfzx(mvsiz,729),mfxz(mvsiz,729),
205 . jfac(mvsiz,729),
206 . temp(*), fthe(*), fthesky(*),gresav(*), mssa(*), dmels(*),voln(mvsiz),
207 . condn(*),condnsky(*),d(*)
208 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
209 TYPE(TTABLE) TABLE(*)
210 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
211 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
212 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
213 TYPE (MAT_ELEM_) ,INTENT(INOUT) ::
214 TYPE (SENSORS_) , INTENT(INOUT) :: SENSORS
215 TYPE(DT_), INTENT(INOUT) :: DT
216 type (glob_therm_) ,intent(inout) :: glob_therm
217
218
219
220 INTEGER I,J,N,NF1,IFLAG,ILAY,NLAY,
221 . IP,IR,IS,IT,NPTR,,NPTT,ICR,ICS,ICT,PID,
222 . IPMAT,NLYMAX,MID,IPANG,IBID,MX
223
224 DOUBLE PRECISION
225 . X0(MVSIZ,8),Y0(MVSIZ,8),(MVSIZ,8),
226 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
227 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
228 . YD1(MVSIZ), YD2(MVSIZ)
229
230
231
232INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),IPARBID(1)
234 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
235 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
236 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
237 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
238 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
239 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
240 . ajc1(mvsiz) , ajc2(mvsiz) , ajc3(mvsiz) ,
241 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
242 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
243 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
244 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz) ,
245 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
246 . e0(mvsiz),c1,fac(mvsiz) ,them(mvsiz,8),tempel(mvsiz),ni(8),
247 . die(mvsiz),conde(mvsiz) ,conden(mvsiz),amu(mvsiz)
248 my_real,
dimension(mvsiz) :: fheat
249
250
252 . sti(mvsiz),stin(mvsiz),gama(mvsiz,6),
253 . wxx0(mvsiz) , wyy0(mvsiz) , wzz0(mvsiz),
254 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
255
257 . muvoid(mvsiz)
258 INTEGER IOFFS,ITET,IFVM22
260 . offs(mvsiz),dsv(mvsiz)
261
262
263 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
264 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
265 INTEGER IDEG(MVSIZ),ICP0
267 . off(mvsiz) ,offl(mvsiz) , rhoo(mvsiz),
268 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
269 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
270 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
271 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
272 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
273 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
274 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
275 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
276 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
277 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
278 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
279 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
280 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
281 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
282 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
283 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
284 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
285 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
286 . pxy1(mvsiz),pxy2(mvsiz),pxy3(mvsiz),pxy4(mvsiz),
287 . pxy5(mvsiz),pxy6(mvsiz),pxy7(mvsiz),pxy8(mvsiz),
288 . pyx1(mvsiz),pyx2(mvsiz),pyx3(mvsiz),pyx4(mvsiz),
289 . pyx5(mvsiz),pyx6(mvsiz),pyx7(mvsiz),pyx8(mvsiz),
290 . pxz1(mvsiz),pxz2(mvsiz),pxz3(mvsiz),pxz4(mvsiz),
291 . pxz5(mvsiz),pxz6(mvsiz),pxz7(mvsiz),pxz8(mvsiz),
292 . pzx1(mvsiz),pzx2(mvsiz),pzx3(mvsiz),pzx4(mvsiz),
293 . pzx5(mvsiz),pzx6(mvsiz),pzx7(mvsiz),pzx8(mvsiz),
294 . pyz1(mvsiz),pyz2(mvsiz),pyz3(mvsiz),pyz4(mvsiz),
295 . pyz5(mvsiz),pyz6(mvsiz)
296 . pzy1(mvsiz),pzy2(mvsiz),pzy3(mvsiz),pzy4(mvsiz),
297 . pzy5(mvsiz),pzy6(mvsiz),pzy7(mvsiz),pzy8(mvsiz),
298 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
299 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
300 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
301 . bxy1(mvsiz),bxy2(mvsiz),bxy3(mvsiz),bxy4(mvsiz),
302 . bxy5(mvsiz),bxy6(mvsiz),bxy7(mvsiz),bxy8(mvsiz),
303 . byx1(mvsiz),byx2(mvsiz),byx3(mvsiz),byx4(mvsiz),
304 . byx5(mvsiz),byx6(mvsiz),byx7(mvsiz),byx8(mvsiz),
305 . bxz1(mvsiz),bxz2(mvsiz),bxz3(mvsiz),bxz4(mvsiz),
306 . bxz5(mvsiz),bxz6(mvsiz),bxz7(mvsiz),bxz8(mvsiz),
307 . bzx1(mvsiz),bzx2(mvsiz),bzx3(mvsiz),bzx4(mvsiz),
308 . bzx5(mvsiz),bzx6(mvsiz),bzx7(mvsiz),bzx8(mvsiz),
309 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
310 . byz5(mvsiz),byz6(mvsiz),byz7(mvsiz),byz8(mvsiz),
311 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
312 . bzy5(mvsiz),bzy6(mvsiz),bzy7(mvsiz),bzy8(mvsiz),
313 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
314 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
315 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
316 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
317 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
318 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
319 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
320 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
321 . vdz1(mvsiz),vdz2(mvsiz)
322 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
323 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
324 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),offg0(mvsiz),
325 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
326 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
327 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
329 . dxy(mvsiz),dyx(mvsiz),
330 . dyz(mvsiz),dzy(mvsiz),
331 . dzx(mvsiz),dxz(mvsiz),detf0(mvsiz),divde(mvsiz)
333 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
334 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
335 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
336 . g1x(mvsiz),g2x(mvsiz),g3x(mvsiz),
337 . g1y(mvsiz),g2y(mvsiz),g3y(mvsiz),
338 . g1z(mvsiz),g2z(mvsiz),g3z(mvsiz)
340 . wi,smax(mvsiz),volg
341 . sigm(mvsiz),dti,bid(mvsiz),fac_nu,nu_sp,nu0
343 . sigy(mvsiz), sign(nel,6),et(mvsiz), nu1(mvsiz),
344 . r1_free(mvsiz),r3_free(mvsiz),deltaxi(mvsiz)
346 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8)
348 . shf(mvsiz),zr,zs,zt,wt
349 my_real,
DIMENSION(MVSIZ,NNPT) :: aji1,aji2,aji3
350 my_real,
DIMENSION(MVSIZ,NNPT) :: aji4,aji5,aji6
351 my_real,
DIMENSION(MVSIZ,NNPT) :: aji7,aji8,aji9
352 INTEGER NNEGA,INDEX(MVSIZ)
354 . aj7(mvsiz) , aj8(mvsiz) , aj9(mvsiz),l_max(mvsiz),div0(mvsiz)
355 INTEGER
356
357
358
359
360
362 . DIMENSION(:,:), ALLOCATABLE :: var_reg
363 INTEGER :: INLOC, L_NLOC, INOD(8), IPOS(8), IMAT,NN_DEL
365 . DIMENSION(:), POINTER :: dnl
367 . h(8),ps(8),pr(8),pt(8)
368 INTEGER SZ_IX
369
370
371 INTEGER IBOLTP,NBPRELD,ISM12_11
373 . DIMENSION(:), POINTER :: bpreld
374
375 TYPE(G_BUFEL_) ,POINTER :: GBUF
376 TYPE(L_BUFEL_) ,POINTER :: LBUF
377
378 parameter(nlymax = 200,ipmat = 100,ipang = 200)
379
381 . w_gauss(9,9),a_gauss(9,9)
382 DATA w_gauss /
383
384 1 2.d0 ,0.d0 ,0.d0 ,
385 1 0.d0 ,0.d0 ,0.d0 ,
386 1 0.d0 ,0.d0 ,0.d0 ,
387 2 1.d0 ,1.d0 ,0.d0 ,
388 2 0.d0 ,0.d0 ,0.d0 ,
389 2 0.d0 ,0.d0 ,0.d0 ,
390 3 0.555555555555556d0,0.888888888888889d0,0.555555555555556d0,
391 3 0.d0 ,0.d0 ,0.d0 ,
392 3 0.d0 ,0.d0 ,0.d0 ,
393 4 0.347854845137454d0,0.652145154862546d0,0.652145154862546d0,
394 4 0.347854845137454d0,0.d0 ,0.d0 ,
395 4 0.d0 ,0.d0 ,0.d0 ,
396 5 0.236926885056189d0,0.478628670499366d0,0.568888888888889d0,
397 5 0.478628670499366d0,0.236926885056189d0,0.d0 ,
398 5 0.d0 ,0.d0 ,0.d0 ,
399 6 0.171324492379170d0,0.360761573048139d0,0.467913934572691d0,
400 6 0.467913934572691d0,0.360761573048139d0,0.171324492379170d0,
401 6 0.d0 ,0.d0 ,0.d0 ,
402 7 0.129484966168870d0,0.279705391489277d0,0.381830050505119d0,
403 7 0.417959183673469d0,0.381830050505119d0,0.279705391489277d0,
404 7 0.129484966168870d0,0.d0 ,0.d0 ,
405 8 0.101228536290376d0,0.222381034453374d0,0.313706645877887d0,
406 8 0.362683783378362d0,0.362683783378362d0,0.313706645877887d0,
407 8 0.222381034453374d0,0.101228536290376d0,0.d0 ,
408 9 0.081274388361574d0,0.180648160694857d0,0.260610696402935d0,
409 9 0.312347077040003d0,0.330239355001260d0,0.312347077040003d0,
410 9 0.260610696402935d0,0.180648160694857d0,0.081274388361574d0/
411
412 DATA a_gauss /
413 1 0.d0 ,0.d0 ,0.d0 ,
414 1 0.d0 ,0.d0 ,0.d0 ,
415 1 0.d0 ,0.d0 ,0.d0 ,
416 2 -.577350269189625d0,0.577350269189625d0,0.d0 ,
417 2 0.d0 ,0.d0 ,0.d0 ,
418 2 0.d0 ,0.d0 ,0.d0 ,
419 3 -.774596669241483d0,0.d0 ,0.774596669241483d0,
420 3 0.d0 ,0.d0 ,0.d0 ,
421 3 0.d0 ,0.d0 ,0.d0 ,
422 4 -.861136311594053d0,-.339981043584856d0,0.339981043584856d0,
423 4 0.861136311594053d0,0.d0 ,0.d0 ,
424 4 0.d0 ,0.d0 ,0.d0 ,
425 5 -.906179845938664d0,-.538469310105683d0,0.d0 ,
426 5 0.538469310105683d0,0.906179845938664d0,0.d0 ,
427 5 0.d0 ,0.d0 ,0.d0 ,
428 6 -.932469514203152d0,-.661209386466265d0,-.238619186083197d0,
429 6 0.238619186083197d0,0.661209386466265d0,0.932469514203152d0,
430 6 0.d0 ,0.d0 ,0.d0 ,
431 7 -.949107912342759d0,-.741531185599394d0,-.405845151377397d0,
432 7 0.d0 ,0.405845151377397d0,0.741531185599394d0,
433 7 0.949107912342759d0,0.d0 ,0.d0 ,
434 8 -.960289856497536d0,-.796666477413627d0,-.525532409916329d0,
435 8 -.183434642495650d0,0.183434642495650d0,0.525532409916329d0,
436 8 0.796666477413627d0,0.960289856497536d0,0.d0 ,
437 9 -.968160239507626d0,-.836031107326636d0,-.613371432700590d0,
438 9 -.324253423403809d0,0.d0 ,0.324253423403809d0,
439 9 0.613371432700590d0,0.836031107326636d0,0.968160239507626d0/
440
441
442
443 gbuf =>elbuf_tab(ng)%GBUF
444 nptr = elbuf_tab(ng)%NPTR
445 npts = elbuf_tab(ng)%NPTS
446 nptt = elbuf_tab(ng)%NPTT
447 nlay = elbuf_tab(ng)%NLAY
448 ilay = 1
449 ics = 0
450 ict = 0
451 icr = 0
452 dti = zero
453 iboltp = iparg(72,ng)
454 inloc = iparg(78,ng)
455 ALLOCATE(var_reg(nel,nptr*npts*nptt))
456 nbpreld = gbuf%G_BPRELD
457 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
458 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
459 tempel(:) = zero
460 fheat(:) = zero
461 sz_r1_free=mvsiz
462 sz_ix=numelq+numels+nsvois
463
464 nf1=nft+1
465
466 ibid = 0
467 iparbid= 0
468 IF (jcvt==1 .AND. isorth==1) jcvt=2
469 IF (igtyp /= 22) isorthg = 0
470
471
472
473
474
475
476
477
478 IF (jcvt == 0) THEN
479
480 CALL scoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
481 2 x1, x2, x3, x4, x5, x6, x7, x8,
482 3 y1, y2, y3, y4, y5, y6, y7, y8,
483 4 z1, z2, z3, z4, z5, z6, z7, z8,
484 5 vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
485 6 vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
486 7 vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
487 8 vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
488 9 vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
489 a vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
490 b vdx,vdy,vdz,vd2,vis,gbuf%OFF,offl,gbuf%SMSTR,
491 c gbuf%RHO,rhoo,nc1,nc2,nc3,nc4,nc5,nc6,
492 c nc7,nc8,ngl,mxt,ngeo,
493 e bid,bid,bid,bid,bid,bid,
494 f xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
495 g yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
496 h zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
497 i xdp,iparg,ng , nel)
498 ELSE
499
500 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
501 . x1, x2, x3, x4, x5, x6, x7, x8,
502 . y1, y2, y3, y4, y5, y6, y7, y8,
503 . z1, z2, z3, z4, z5, z6, z7, z8,
504 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
505 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
506 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
507 . vd2,vis,gbuf%OFF,offl,gbuf%SMSTR,gbuf%RHO,rhoo,
508 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
509 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
510 . ngl,mxt,ngeo,ioutprt, vgxa, vgya, vgza, vga2,
511 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
512 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
513 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
514 . xdp, x0 , y0 , z0 , nel, xgxa, xgya, xgza,
515 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
516 . gbuf%GAMA_R)
517 ENDIF
518 nn_del = 0
519 pid = ngeo(1)
520 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
521 . nn_del=8
522 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
523
524
525
526 IF (ismstr >= 10.AND.ismstr <= 12) THEN
528 1 tt, 8, x, ixs(1,nf1),
529 2 x0, y0, z0, vx0,
530 3 vy0, vz0, gbuf%SMSTR,d,
531 4 gbuf%OFF, offg0, nel, xdp,
532 5 mtn, ismstr)
533
534 IF (ismstr == 11) THEN
536 1 r11, r12, r13, r21,
537 2 r22, r23, r31, r32,
538 3 r33, x0(1,1), x0(1,2), x0(1,3),
539 4 x0(1,4), x0(1,5), x0(1,6), x0(1,7),
540 5 x0(1,8), y0(1,1), y0(1,2), y0(1,3),
541 6 y0(1,4), y0(1,5), y0(1,6), y0(1,7),
542 7 y0(1,8), z0(1,1), z0(1,2), z0(1,3),
543 8 z0(1,4), z0(1,5), z0(1,6), z0(1,7),
544 9 z0(1,8), nel)
546 1 r11, r12, r13, r21,
547 2 r22, r23, r31, r32,
548 3 r33, vx0(1,1),vx0(1,2),vx0(1,3),
549 4 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
550 5 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
551 6 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
552 7 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
553 8 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
554 9 vz0(1,8),nel)
555 END IF
556 ENDIF
557
558 mx = mxt(lft)
559 DO i=lft,llt
560 nu(i)=
min(half,pm(21,mx))
561 deltax(i)=ep30
562 c1 =pm(32,mx)
563 e0(i) =three*(one-two*nu(i))*c1
564 usb(i)=em01/c1
565 ideg(i)=0
566 ENDDO
567
568 icp0=mat_elem%MAT_PARAM(mx)%COMPRESSIBILITY
569 fac_nu = one
570 nu0 = pm(21,mx)
571 nu_sp = one
572 IF (idt1sol == 1.AND.(mtn==1.OR.icp0 ==3)) THEN
573 nu_sp=sqrt((one-nu0)/(one+nu0))
574 nu_sp =
min(one,nu_sp/zep9)
575 fac_nu=(one-two*nu0)/(one-nu0)
576 END IF
577
578 IF (ismstr >= 10.AND.ismstr <= 12) THEN
579 IF (ismstr == 11) THEN
581 1 offl, volg, ngl, x0(1,1),
582 2 x0(1,2), x0(1,3), x0(1,4), x0(1,5),
583 3 x0(1,6), x0(1,7), x0(1,8), y0(1,1),
584 4 y0(1,2), y0(1,3), y0(1,4), y0(1,5),
585 5 y0(1,6), y0(1,7), y0(1,8), z0(1,1),
586 6 z0(1,2), z0(1,3), z0(1,4), z0(1,5),
587 7 z0(1,6), z0(1,7), z0(1,8), pxc1,
588 8 pxc2, pxc3, pxc4, pyc1,
589 9 pyc2, pyc3, pyc4, pzc1,
590 a pzc2, pzc3, pzc4, px1h1,
591 b px1h2, px1h3, px1h4, px2h1,
592 c px2h2, px2h3, px2h4, px3h1,
593 d px3h2, px3h3, px3h4, px4h1,
594 e px4h2, px4h3, px4h4, hx,
595 f hy, hz, ajc1, ajc2,
596 g ajc3, ajc4, ajc5, ajc6,
597 h ajc7, ajc8, ajc9, smax,
598 i nel)
600 1 x0, y0, z0, x1,
601 2 x2, x3, x4, x5,
602 3 x6, x7, x8, y1,
603 4 y2, y3, y4, y5,
604 5 y6, y7, y8, z1,
605 6 z2, z3, z4, z5,
606 7 z6, z7, z8, nel)
607 IF (idts6>0) THEN
609 1 volg, deltax, x1, x2,
610 2 x3, x4, x5, x6,
611 3 x7, x8, y1, y2,
612 4 y3, y4, y5, y6,
613 5 y7, y8, z1, z2,
614 6 z3, z4, z5, z6,
615 7 z7, z8, ixs(1,nf1),ideg,
616 8 nel)
617 END IF
619 1 volg, deltax, smax, ideg,
620 2 nel)
621 IF (jcvt == 2) THEN
623 1 lft, llt, nel, g1x,
624 2 g1y, g1z, g2x, g2y,
625 3 g2z, g3x, g3y, g3z,
626 4 gbuf%GAMA,isorth)
627 ENDIF
628
629 ELSE
631 1 gbuf%OFF, volg, ngl, x0(1,1),
632 2 x0(1,2), x0(1,3), x0(1,4), x0(1,5),
633 3 x0(1,6), x0(1,7), x0(1,8), y0(1,1),
634 4 y0(1,2), y0(1,3), y0(1,4), y0(1,5),
635 5 y0(1,6), y0(1,7), y0(1,8), z0(1,1),
636 6 z0(1,2), z0(1,3), z0(1,4), z0(1,5),
637 7 z0(1,6), z0(1,7), z0(1,8), pxc1,
638 8 pxc2, pxc3, pxc4, pyc1,
639 9 pyc2, pyc3, pyc4, pzc1,
640 a pzc2, pzc3, pzc4, px1h1,
641 b px1h2, px1h3, px1h4, px2h1,
642 c px2h2, px2h3, px2h4, px3h1,
643 d px3h2, px3h3, px3h4, px4h1,
644 e px4h2, px4h3, px4h4, hx,
645 f hy, hz, ajc1, ajc2,
646 g ajc3, ajc4, ajc5, ajc6,
647 h ajc7, ajc8, ajc9, smax,
648 i gbuf%JAC_I,nel, ismstr)
650 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
651 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gbuf%GAMA)
652 END IF
653 IF (icp ==1) THEN
655 1 detf0, pxc1, pxc2, pxc3,
656 2 pxc4, pyc1, pyc2, pyc3,
657 3 pyc4, pzc1, pzc2, pzc3,
658 4 pzc4, vx0(1,1),vx0(1,2),vx0(1,3),
659 5 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
660 6 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
661 7 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
662 8 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
663 9 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
664 a vz0(1,8),div0, nel)
666 1 ixs(1,nf1),ideg, nel)
667 DO i=lft,llt
668 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
669 ENDDO
670 END IF
671
672
673 DO ir=1,nptr
674 DO is=1,npts
675 DO it=1,nptt
676 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
677
678 ip = ir + ( (is-1) + (it-1)*npts )*nptr
679 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
680
682 1 offl, off, voln, ngl,
683 2 a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),wi,
684 3 pxc1, pxc2, pxc3, pxc4,
685 4 pyc1, pyc2, pyc3, pyc4,
686 5 pzc1, pzc2, pzc3, pzc4,
687 6 px1h1, px1h2, px1h3, px1h4,
688 7 px2h1, px2h2, px2h3, px2h4,
689 8 px3h1, px3h2, px3h3, px3h4,
690 9 px4h1, px4h2, px4h3, px4h4,
691 a hx, hy, hz, px1,
692 b px2, px3, px4, px5,
693 c px6, px7, px8, py1,
694 d py2, py3, py4, py5,
695 e py6, py7, py8, pz1,
696 f pz2, pz3, pz4, pz5,
697 g pz6, pz7, pz8, pxy1,
698 h pxy2, pxy3, pxy4, pxy5,
699 i pxy6, pxy7, pxy8, pyx1,
700 j pyx2, pyx3, pyx4, pyx5,
701 k pyx6, pyx7, pyx8, pxz1,
702 l pxz2, pxz3, pxz4, pxz5,
703 m pxz6, pxz7, pxz8, pzx1,
704 n pzx2, pzx3, pzx4, pzx5,
705 o pzx6, pzx7, pzx8, pyz1,
706 p pyz2, pyz3, pyz4, pyz5,
707 q pyz6, pyz7, pyz8, pzy1,
708 r pzy2, pzy3, pzy4, pzy5,
709 s pzy6, pzy7, pzy8, bxy1,
710 t bxy2, bxy3, bxy4, bxy5,
711 u bxy6, bxy7, bxy8, byx1,
712 v byx2, byx3, byx4, byx5,
713 w byx6, byx7, byx8, bxz1,
714 x bxz2, bxz3, bxz4, bxz5,
715 y bxz6, bxz7, bxz8, bzx1,
716 z bzx2, bzx3, bzx4, bzx5,
717 1 bzx6, bzx7, bzx8, byz1,
718 2 byz2, byz3, byz4, byz5,
719 3 byz6, byz7, byz8, bzy1,
720 4 bzy2, bzy3, bzy4, bzy5,
721 5 bzy6, bzy7, bzy8, ajc1,
722 6 ajc2, ajc3, ajc4, ajc5,
723 7 ajc6, ajc7, ajc8, ajc9,
724 8 aj1, aj2, aj3, aj4,
725 9 aj5, aj6, smax, deltax,
726 a nu, icp, ideg, lbuf%JAC_I,
727 b nel, mtn, ismstr, jhbe)
729 1 px1, px2, px3, px4,
730 2 px5, px6, px7, px8,
731 3 py1, py2, py3, py4,
732 4 py5, py6, py7, py8,
733 5 pz1, pz2, pz3, pz4,
734 6 pz5, pz6, pz7, pz8,
735 7 pxy1, pxy2, pxy3, pxy4,
736 8 pxy5, pxy6, pxy7, pxy8,
737 9 pyx1, pyx2, pyx3, pyx4,
738 a pyx5, pyx6, pyx7, pyx8,
739 b pxz1, pxz2, pxz3, pxz4,
740 c pxz5, pxz6, pxz7, pxz8,
741 d pzx1, pzx2, pzx3, pzx4,
742 e pzx5, pzx6, pzx7, pzx8,
743 f pyz1, pyz2, pyz3, pyz4,
744 g pyz5, pyz6, pyz7, pyz8,
745 h pzy1, pzy2, pzy3, pzy4,
746 i pzy5, pzy6, pzy7, pzy8,
747 j bxy1, bxy2, bxy3, bxy4,
748 k bxy5, bxy6, bxy7, bxy8,
749 l byx1, byx2, byx3, byx4,
750 m byx5, byx6, byx7, byx8,
751 n bxz1, bxz2, bxz3, bxz4,
752 o bxz5, bxz6, bxz7, bxz8,
753 p bzx1, bzx2, bzx3, bzx4,
754 q bzx5, bzx6, bzx7, bzx8,
755 r byz1, byz2, byz3, byz4,
756 s byz5, byz6, byz7, byz8,
757 t bzy1, bzy2, bzy3, bzy4,
758 u bzy5, bzy6, bzy7, bzy8,
759 v vx0(1,1), vx0(1,2), vx0(1,3), vx0(1,4),
760 w vx0(1,5), vx0(1,6), vx0(1,7), vx0(1,8),
761 x vy0(1,1), vy0(1,2), vy0(1,3), vy0(1,4),
762 y vy0(1,5), vy0(1,6), vy0(1,7), vy0(1,8),
763 z vz0(1,1), vz0(1,2), vz0(1,3), vz0(1,4),
764 1 vz0(1,5), vz0(1,6), vz0(1,7), vz0(1,8),
765 2 mfxx(1,ip),mfxy(1,ip),mfxz(1,ip),mfyx(1,ip),
766 3 mfyy(1,ip),mfyz(1,ip),mfzx(1,ip),mfzy(1,ip),
767 4 mfzz(1,ip),icp, detf0, jfac(1,ip),
768 5 nu, ideg, nel)
769
770 IF (jcvt == 2.OR.ismstr==10.OR.ismstr==12) THEN
771 CALL sordeft3(lft,llt,mfxx(1,ip), mfxy(1,ip), mfxz(1,ip),
772 . mfyx(1,ip), mfyy(1,ip), mfyz(1,ip),
773 . mfzx(1,ip), mfzy(1,ip), mfzz(1,ip),
774 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
775 ENDIF
776 ENDDO
777 ENDDO
778 ENDDO
779 ENDIF
780
781 IF (jcvt == 2) THEN
783 1 lft, llt, nel, g1x,
784 2 g1y, g1z, g2x, g2y,
785 3 g2z, g3x, g3y, g3z,
786 4 gbuf%GAMA,isorth)
787 ENDIF
788 IF (ismstr/=11) THEN
790 1 offl, volg, ngl, xd1,
791 2 xd2, xd3, xd4, xd5,
792 3 xd6, xd7, xd8, yd1,
793 4 yd2, yd3, yd4, yd5,
794 5 yd6, yd7, yd8, zd1,
795 6 zd2, zd3, zd4, zd5,
796 7 zd6, zd7, zd8, pxc1,
797 8 pxc2, pxc3, pxc4, pyc1,
798 9 pyc2, pyc3, pyc4, pzc1,
799 a pzc2, pzc3, pzc4, px1h1,
800 b px1h2, px1h3, px1h4, px2h1,
801 c px2h2, px2h3, px2h4, px3h1,
802 d px3h2, px3h3, px3h4, px4h1,
803 e px4h2, px4h3, px4h4, hx,
804 f hy, hz, ajc1, ajc2,
805 g ajc3, ajc4, ajc5, ajc6,
806 h ajc7, ajc8, ajc9, smax,
807 i gbuf%SMSTR,gbuf%OFF, nel, ismstr,
808 j jlag)
809 IF (idts6>0) THEN
811 1 volg, deltax, x1, x2,
812 2 x3, x4, x5, x6,
813 3 x7, x8, y1, y2,
814 4 y3, y4, y5, y6,
815 5 y7, y8, z1, z2,
816 6 z3, z4, z5, z6,
817 7 z7, z8, ixs(1,nf1),ideg,
818 8 nel)
819 END IF
820 END IF
821
822 nnega = 0
823
824
825 DO ir=1,nptr
826 DO is=1,npts
827 DO it=1,nptt
828 ip = ir + ( (is-1) + (it-1)*npts )*nptr
829
830 zr = a_gauss(ir,nptr)
831 zs = a_gauss(is,npts)
832 zt = a_gauss(it,nptt)
833 wt = w_gauss(it,nptt)
834 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*wt
835
837 1 gbuf%OFF, volp(1,ip),ngl, zr,
838 2 zs, zt, wi, ajc1,
839 3 ajc2, ajc3, ajc4, ajc5,
840 4 ajc6, ajc7, ajc8, ajc9,
841 5 hx, hy, hz, aj1,
842 6 aj2, aj3, aj4, aj5,
843 7 aj6, aji1(1,ip),aji2(1,ip),aji3(1,ip),
844 8 aji4(1,ip),aji5(1,ip),aji6(1,ip),aji7(1,ip),
845 9 aji8(1,ip),aji9(1,ip),nnega, index,
846 a ip, nel)
847 ENDDO
848 ENDDO
849 ENDDO
850
851 IF (nnega>0) THEN
853 1 volg, ngl, xd1, xd2,
854 2 xd3, xd4, xd5, xd6,
855 3 xd7, xd8, yd1, yd2,
856 4 yd3, yd4, yd5, yd6,
857 5 yd7, yd8, zd1, zd2,
858 6 zd3, zd4, zd5, zd6,
859 7 zd7, zd8, pxc1, pxc2,
860 8 pxc3, pxc4, pyc1, pyc2,
861 9 pyc3, pyc4, pzc1, pzc2,
862 a pzc3, pzc4, px1h1, px1h2,
863 b px1h3, px1h4, px2h1, px2h2,
864 c px2h3, px2h4, px3h1, px3h2,
865 d px3h3, px3h4, px4h1, px4h2,
866 e px4h3, px4h4, hx, hy,
867 f hz, ajc1, ajc2, ajc3,
868 g ajc4, ajc5, ajc6, ajc7,
869 h ajc8, ajc9, smax, gbuf%SMSTR,
870 i gbuf%OFF, nnega, index, nel,
871 j ismstr)
872 DO ir=1,nptr
873 DO is=1,npts
874 DO it=1,nptt
875 ip = ir + ( (is-1) + (it-1)*npts )*nptr
876
877 zr = a_gauss(ir,nptr)
878 zs = a_gauss(is,npts)
879 zt = a_gauss(it,nptt)
880 wt = w_gauss(it,nptt)
881 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*wt
882
884 . zr,zs,zt,wi,
885 . hx, hy, hz,
886 . ajc1,ajc2,ajc3,
887 . ajc4,ajc5,ajc6,
888 . ajc7,ajc8,ajc9,
889 . aj1,aj2,aj3,
890 . aj4,aj5,aj6,
891 . aj7,aj8,aj9,
892 . aji1(1,ip),aji2(1,ip),aji3(1,ip),
893 . aji4(1,ip),aji5(1,ip),aji6(1,ip),
894 . aji7(1,ip),aji8(1,ip),aji9(1,ip),nnega,index)
895 ENDDO
896 ENDDO
897 ENDDO
898 IF (ineg_v ==0) THEN
899
900 CALL ancmsg(msgid=280,anmode=aninfo)
901 mstop = 1
902 END IF
903 END IF
904
905
906
907
908 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
910 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
911 2 xd3, xd4, xd5, xd6,
912 3 xd7, xd8, yd1, yd2,
913 4 yd3, yd4, yd5, yd6,
914 5 yd7, yd8, zd1, zd2,
915 6 zd3, zd4, zd5, zd6,
916 7 zd7, zd8, nel)
917 END IF
918
919 IF (icp == 2) THEN
920 CALL s8zsigp3(lft ,llt ,gbuf%SIG,e0 ,gbuf%PLA,
921 2 fac ,gbuf%G_PLA,nel )
922 DO i=lft,llt
923 nu1(i)=nu(i)+(half-nu(i))*fac(i)
924 ENDDO
925 ELSE
926 DO i=lft,llt
927 nu1(i)=nu(i)
928 ENDDO
929 ENDIF
930
931
932 IF (ismstr <10.AND.icp==1) THEN
934 1 ixs(1,nf1),ideg, nel)
935 DO i=lft,llt
936 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
937 ENDDO
938 END IF
939
940 CALL sz_dt1(
941 1 pxc1, pxc2, pxc3, pxc4,
942 2 pyc1, pyc2, pyc3, pyc4,
943 3 pzc1, pzc2, pzc3, pzc4,
944 4 fac_nu, deltaxi, nel )
945
946
947
949 1 f11, f21, f31, f12,
950 2 f22, f32, f13, f23,
951 3 f33, f14, f24, f34,
952 4 f15, f25, f35, f16,
953 5 f26, f36, f17, f27,
954 6 f37, f18, f28, f38,
955 7 gbuf%SIG, gbuf%EINT, gbuf%RHO, gbuf%QVIS,
956 8 gbuf%PLA, gbuf%EPSD, stin, pp,
957 9 gbuf%G_PLA, gbuf%G_EPSD,iexpan, gbuf%EINTTH,
958 a nel, conden)
959
960
961
962 IF(jthe < 0) THEN
963 DO i=lft,llt
964 IF(gbuf%OFF(i) == zero) cycle
965 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
966 . + temp(nc3(i)) + temp(nc4(i))
967 . + temp(nc5(i)) + temp(nc6(i))
968 . + temp(nc7(i)) + temp(nc8(i)))
969 gbuf%TEMP(i) = tempel(i)
970 ENDDO
971 ENDIF
972
973 ioffs=0
974 offs(lft:llt)=ep20
975 IF(jthe<0) them(lft:llt,1:8) = zero
976
977
978
979 IF (inloc > 0) THEN
980 l_nloc = nloc_dmg%L_NLOC
981 dnl => nloc_dmg%DNL(1:l_nloc)
982 DO ir=1,nptr
983 DO is=1,npts
984 DO it=1,nptt
985 zr = a_gauss(ir,nptr)
986 zs = a_gauss(is,npts)
987 zt = a_gauss(it,nptt)
988 ip = ir + ( (is-1) + (it-1)*npts )*nptr
989 CALL basis8 (zr,zs,zt,h,pr,ps,pt)
990 DO i=lft,llt
991 inod(1) = nloc_dmg%IDXI(nc1(i))
992 inod(2) = nloc_dmg%IDXI(nc2(i))
993 inod(3) = nloc_dmg%IDXI(nc3(i))
994 inod(4) = nloc_dmg%IDXI(nc4(i))
995 inod(5) = nloc_dmg%IDXI(nc5(i))
996 inod(6) = nloc_dmg%IDXI(nc6(i))
997 inod(7) = nloc_dmg%IDXI(nc7(i))
998 inod(8) = nloc_dmg%IDXI(nc8(i))
999 DO j = 1, 8
1000 ipos(j) = nloc_dmg%POSI(inod(j))
1001 ENDDO
1002 var_reg(i,ip) = h(1)*dnl(ipos(1)) + h(2)*dnl(ipos(2)) + h(3)*dnl(ipos(3))
1003 . + h(4)*dnl(ipos(4)) + h(5)*dnl(ipos(5)) + h(6)*dnl(ipos(6))
1004 . + h(7)*dnl(ipos(7)) + h(8)*dnl(ipos(8))
1005 ENDDO
1006 ENDDO
1007 ENDDO
1008 ENDDO
1009 ENDIF
1010
1011
1012
1013
1014 DO ir=1,nptr
1015 DO is=1,npts
1016 DO it=1,nptt
1017 ip = ir + ( (is-1) + (it-1)*npts )*nptr
1018 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1019
1020
1021 IF (ioffs == 1)THEN
1022 DO i=lft,llt
1023 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
1024 ENDDO
1025 END IF
1026
1027
1028
1029 zr = a_gauss(ir,nptr)
1030 zs = a_gauss(is,npts)
1031 zt = a_gauss(it,nptt)
1032 wt = w_gauss(it,nptt)
1033 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*wt
1034
1036 1 offl, off, voln, ngl,
1037 2 zr, zs, zt, wi,
1038 3 pxc1, pxc2, pxc3, pxc4,
1039 4 pyc1, pyc2, pyc3, pyc4,
1040 5 pzc1, pzc2, pzc3, pzc4,
1041 6 px1h1, px1h2, px1h3, px1h4,
1042 7 px2h1, px2h2, px2h3, px2h4,
1043 8 px3h1, px3h2, px3h3, px3h4,
1044 9 px4h1, px4h2, px4h3, px4h4,
1045 a px1, px2, px3, px4,
1046 b px5, px6, px7, px8,
1047 c py1, py2, py3, py4,
1048 d py5, py6, py7, py8,
1049 e pz1, pz2, pz3, pz4,
1050 f pz5, pz6, pz7, pz8,
1051 g pxy1, pxy2, pxy3, pxy4,
1052 h pxy5, pxy6, pxy7, pxy8,
1053 i pyx1, pyx2, pyx3, pyx4,
1054 j pyx5, pyx6, pyx7, pyx8,
1055 k pxz1, pxz2, pxz3, pxz4,
1056 l pxz5, pxz6, pxz7, pxz8,
1057 m pzx1, pzx2, pzx3, pzx4,
1058 n pzx5, pzx6, pzx7, pzx8,
1059 o pyz1, pyz2, pyz3, pyz4,
1060 p pyz5, pyz6, pyz7, pyz8,
1061 q pzy1, pzy2, pzy3, pzy4,
1062 r pzy5, pzy6, pzy7, pzy8,
1063 s bxy1, bxy2, bxy3, bxy4,
1064 t bxy5, bxy6, bxy7, bxy8,
1065 u byx1, byx2, byx3, byx4,
1066 v byx5, byx6, byx7, byx8,
1067 w bxz1, bxz2, bxz3, bxz4,
1068 x bxz5, bxz6, bxz7, bxz8,
1069 y bzx1, bzx2, bzx3, bzx4,
1070 z bzx5, bzx6, bzx7, bzx8,
1071 1 byz1, byz2, byz3, byz4,
1072 2 byz5, byz6, byz7, byz8,
1073 3 bzy1, bzy2, bzy3, bzy4,
1074 4 bzy5, bzy6, bzy7, bzy8,
1075 5 ajc1, ajc2, ajc3, ajc4,
1076 6 ajc5, ajc6, ajc7, ajc8,
1077 7 ajc9, hx, hy, hz,
1078 8 aj1, aj2, aj3, aj4,
1079 9 aj5, aj6, aji1(1,ip),aji2(1,ip),
1080 a aji3(1,ip),aji4(1,ip),aji5(1,ip),aji6(1,ip),
1081 b aji7(1,ip),aji8(1,ip),aji9(1,ip),smax,
1082 c deltax, nu1, icp, ideg,
1083 d volp(1,ip),nel, mtn, ismstr,
1084 e jhbe)
1085
1087 1 pxc1, pxc2, pxc3, pxc4,
1088 2 pyc1, pyc2, pyc3, pyc4,
1089 3 pzc1, pzc2, pzc3, pzc4,
1090 4 px1, px2, px3, px4,
1091 5 px5, px6, px7, px8,
1092 6 py1, py2, py3, py4,
1093 7 py5, py6, py7, py8,
1094 8 pz1, pz2, pz3, pz4,
1095 9 pz5, pz6, pz7, pz8,
1096 a pxy1, pxy2, pxy3, pxy4,
1097 b pxy5, pxy6, pxy7, pxy8,
1098 c pyx1, pyx2, pyx3, pyx4,
1099 d pyx5, pyx6, pyx7, pyx8,
1100 e pxz1, pxz2, pxz3, pxz4,
1101 f pxz5, pxz6, pxz7, pxz8,
1102 g pzx1, pzx2, pzx3, pzx4,
1103 h pzx5, pzx6, pzx7, pzx8,
1104 i pyz1, pyz2, pyz3, pyz4,
1105 j pyz5, pyz6, pyz7, pyz8,
1106 k pzy1, pzy2, pzy3, pzy4,
1107 l pzy5, pzy6, pzy7, pzy8,
1108 m bxy1, bxy2, bxy3, bxy4,
1109 n bxy5, bxy6, bxy7, bxy8,
1110 o byx1, byx2, byx3, byx4,
1111 p byx5, byx6, byx7, byx8,
1112 q bxz1, bxz2, bxz3, bxz4,
1113 r bxz5, bxz6, bxz7, bxz8,
1114 s bzx1, bzx2, bzx3, bzx4,
1115 t bzx5, bzx6, bzx7, bzx8,
1116 u byz1, byz2, byz3, byz4,
1117 v byz5, byz6, byz7, byz8,
1118 w bzy1, bzy2, bzy3, bzy4,
1119 x bzy5, bzy6, bzy7, bzy8,
1120 y vx1, vx2, vx3, vx4,
1121 z vx5, vx6, vx7, vx8,
1122 1 vy1, vy2, vy3, vy4,
1123 2 vy5, vy6, vy7, vy8,
1124 3 vz1, vz2, vz3, vz4,
1125 4 vz5, vz6, vz7, vz8,
1126 5 dxx, dxy, dxz, dyx,
1127 6 dyy, dyz, dzx, dzy,
1128 7 dzz, d4, d5, d6,
1129 8 wxx, wyy, wzz, lbuf%VOL,
1130 9 off, lbuf%EINT, gbuf%OFF, dsv,
1131 a icp, icr, ics, ict,
1132 b dti, smr(1,ip), sms(1,ip), smt(1,ip),
1133 c ngl, ideg, lbuf%VOL0DP,nel,
1134 d ismstr, jcvt)
1135
1136 mx = mxt(lft)
1137 DO i=lft,llt
1138 rhoo(i) = lbuf%RHO(i)
1139 tempel(i) = pm(79,mx)
1140 ENDDO
1141
1142 IF (jcvt == 2) THEN
1143 CALL szordef3(lft,llt,dxx,dyy,dzz,d4,d5,d6,
1144 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
1145 ENDIF
1146 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+dsv(1:nel)
1148 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
1149 2 divde, flux(1,nf1),flu1(nf1), voln,
1150 3 dvol, ngl, mxt, off,
1151 4 0, gbuf%TAG22, volp(1,ip), lbuf%VOL0DP,
1152 5 amu, gbuf%OFF, nel, mtn,
1153 6 jale, ismstr, jeul, jlag)
1154
1155
1156 IF (jcvt == 0) THEN
1158 1 lbuf%SIG,s1, s2, s3,
1159 2 s4, s5, s6, wxx,
1160 3 wyy, wzz, nel, mtn,
1161 4 ismstr)
1162 ELSE
1163
1164
1165 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
1166 . gbuf%OFF,off,nel)
1167 ENDIF
1168
1169
1170
1171
1172 IF (jthe < 0 ) THEN
1174 1 zr,zs,zt,
1175 2 nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
1176 3 temp,tempel)
1177 ENDIF
1178 deltaxi(1:nel) = deltax(1:nel)
1179 IF (fac_nu<one) deltaxi(1:nel) =
max(deltaxi(1:nel),nu_sp*deltax(1:nel))
1180
1181
1182
1183
1184 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
1185
1186 IF (iboltp /= 0)
1187 .
CALL boltst(ip ,bpreld ,lbuf%SIG ,tt ,nel ,
1188 . npt ,sensors%NSENSOR,sensors%SENSOR_TAB)
1189
1190 CALL mmain(timers, output,
1191 1 elbuf_tab, ng, pm, geo,
1192 2 ale_connect, ixs, iparg,
1193 3 v, tf, npf, bufmat,
1194 4 sti, x, dt2t, neltst,
1195 5 ityptst, offset, nel, w,
1196 6 off, ngeo, mxt, ngl,
1197 7 voln, vd2, dvol, deltaxi,
1198 8 vis, qvis, cxx, s1,
1199 9 s2, s3, s4, s5,
1200 a s6, dxx, dyy, dzz,
1201 b d4, d5, d6, wxx,
1202 c wyy, wzz, aj1, aj2,
1203 d aj3, aj4, aj5, aj6,
1204 e vdx, vdy, vdz, muvoid,
1205 f ssp_eq, aire, sigy, et,
1206 g r1_free, lbuf%PLA, r3_free, amu,
1207 h mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip),
1208 i mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
1209 j mfzz(1,ip), ipm, gama, bid,
1210 k bid, bid, bid, bid,
1211 l bid, bid, istrain, tempel,
1212 m die, iexpan, ilay, mssa,
1213 n dmels, ir, is, it,
1214 o table, bid, bid, bid,
1215 p bid, iparg(1,ng), igeo, conde,
1216 q itask, nloc_dmg, var_reg(1,ip),mat_elem,
1217 r h3d_strain, jplasol, jsph, sz_r1_free,
1218 t snpc, stf, sbufmat, glob_therm,
1219 u svis, sz_ix, iresp,
1220 v n2d, th_strain, ngroup, tt,
1221 . dt1, ntable, numelq, nummat,
1222 . numgeo, numnod, numels,
1223 . idel7nok, idtmin, maxfunc,
1224 . imon_mat, userl_avail, impl_s,
1225 . idyna, dt, fheat ,sensors)
1226
1227 IF (istrain == 1) THEN
1229 1 dxx, dyy, dzz, d4,
1230 2 d5, d6, lbuf%STRA,wxx,
1231 3 wyy, wzz, off, nel,
1232 4 jcvt)
1233 ENDIF
1234
1235 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
1236
1237 IF (jcvt == 2) THEN
1238 CALL sroto3(lft,llt,lbuf%SIG,sign,
1239 . g1x, g2x, g3x, g1y, g2y, g3y, g1z, g2z, g3z,nel)
1241 1 sign, sign, px1, px2,
1242 2 px3, px4, py1, py2,
1243 3 py3, py4, pz1, pz2,
1244 4 pz3, pz4, px5, px6,
1245 5 px7, px8, py5, py6,
1246 6 py7, py8, pz5, pz6,
1247 7 pz7, pz8, pxy1, pxy2,
1248 8 pxy3, pxy4, pxy5, pxy6,
1249 9 pxy7, pxy8, pyx1, pyx2,
1250 a pyx3, pyx4, pyx5, pyx6,
1251 b pyx7, pyx8, pxz1, pxz2,
1252 c pxz3, pxz4, pxz5, pxz6,
1253 d pxz7, pxz8, pzx1, pzx2,
1254 e pzx3, pzx4, pzx5, pzx6,
1255 f pzx7, pzx8, pyz1, pyz2,
1256 g pyz3, pyz4, pyz5, pyz6,
1257 h pyz7, pyz8, pzy1, pzy2,
1258 i pzy3, pzy4, pzy5, pzy6,
1259 j pzy7, pzy8, bxy1, bxy2,
1260 k bxy3, bxy4, bxy5, bxy6,
1261 l bxy7, bxy8, byx1, byx2,
1262 m byx3, byx4, byx5, byx6,
1263 n byx7, byx8, bxz1, bxz2,
1264 o bxz3, bxz4, bxz5, bxz6,
1265 p bxz7, bxz8, bzx1, bzx2,
1266 q bzx3, bzx4, bzx5, bzx6,
1267 r bzx7, bzx8, byz1, byz2,
1268 s byz3, byz4, byz5, byz6,
1269 t byz7, byz8, bzy1, bzy2,
1270 u bzy3, bzy4, bzy5, bzy6,
1271 v bzy7, bzy8, f11, f21,
1272 w f31, f12, f22, f32,
1273 x f13, f23, f33, f14,
1274 y f24, f34, f15, f25,
1275 z f35, f16, f26, f36,
1276 1 f17, f27, f37, f18,
1277 2 f28, f38, voln, qvis,
1278 3 pp, lbuf%EINT, lbuf%RHO, lbuf%QVIS,
1279 4 lbuf%PLA, lbuf%EPSD, gbuf%EPSD, gbuf%SIG,
1280 5 gbuf%EINT, gbuf%RHO, gbuf%QVIS, gbuf%PLA,
1281 6 volg, sti, stin, icp,
1282 7 off, lbuf%VOL, gbuf%VOL, gbuf%G_PLA,
1283 8 gbuf%G_EPSD,jfac(1,ip), lbuf%EINTTH,gbuf%EINTTH,
1284 9 iexpan, nel, ideg, conde,
1285 a conden, mtn, ismstr,svis,glob_therm%NODADT_THERM,
1286 b gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA)
1287 ELSE
1288
1289
1290
1292 1 lbuf%SIG, lbuf%SIG, px1, px2,
1293 2 px3, px4, py1, py2,
1294 3 py3, py4, pz1, pz2,
1295 4 pz3, pz4, px5, px6,
1296 5 px7, px8, py5, py6,
1297 6 py7, py8, pz5, pz6,
1298 7 pz7, pz8, pxy1, pxy2,
1299 8 pxy3, pxy4, pxy5, pxy6,
1300 9 pxy7, pxy8, pyx1, pyx2,
1301 a pyx3, pyx4, pyx5, pyx6,
1302 b pyx7, pyx8, pxz1, pxz2,
1303 c pxz3, pxz4, pxz5, pxz6,
1304 d pxz7, pxz8, pzx1, pzx2,
1305 e pzx3, pzx4, pzx5, pzx6,
1306 f pzx7, pzx8, pyz1, pyz2,
1307 g pyz3, pyz4, pyz5, pyz6,
1308 h pyz7, pyz8, pzy1, pzy2,
1309 i pzy3, pzy4, pzy5, pzy6,
1310 j pzy7, pzy8, bxy1, bxy2,
1311 k bxy3, bxy4, bxy5, bxy6,
1312 l bxy7, bxy8, byx1,
1313 m byx3, byx4, byx5, byx6,
1314 n byx7, byx8, bxz1, bxz2,
1315 o bxz3, bxz4, bxz5, bxz6,
1316 p bxz7, bxz8, bzx1, bzx2,
1317 q bzx3, bzx4, bzx5, bzx6,
1318 r bzx7, bzx8, byz1, byz2,
1319 s byz3, byz4, byz5, byz6,
1320 t byz7, byz8, bzy1, bzy2,
1321 u bzy3, bzy4, bzy5, bzy6,
1322 v bzy7, bzy8, f11, f21,
1323 w f31, f12, f22, f32,
1324 x f13, f23, f33, f14,
1325 y f24, f34, f15, f25,
1326 z f35, f16, f26, f36,
1327 1 f17, f27, f37, f18,
1328 2 f28, f38, voln, qvis,
1329 3 pp, lbuf%EINT, lbuf%RHO, lbuf%QVIS,
1330 4 lbuf%PLA, lbuf%EPSD, gbuf%EPSD, gbuf%SIG,
1331 5 gbuf%EINT, gbuf%RHO, gbuf%QVIS, gbuf%PLA,
1332 6 volg, sti, stin, icp,
1333 7 off, lbuf%VOL, gbuf%VOL, gbuf%G_PLA,
1334 8 gbuf%G_EPSD,jfac(1,ip), lbuf%EINTTH,gbuf%EINTTH,
1335 9 iexpan, nel, ideg, conde,
1336 a conden, mtn, ismstr, svis,glob_therm%NODADT_THERM,
1337 b gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA)
1338 ENDIF
1339
1340
1341
1342 IF (inloc > 0) THEN
1343 imat = mxt(lft)
1344 CALL basis8 (zr,zs,zt,h,pr,ps,pt)
1346 1 nloc_dmg, var_reg(1,ip),nel, gbuf%OFF,
1347 2 voln, nc1, nc2, nc3,
1348 3 nc4, nc5, nc6, nc7,
1349 4 nc8, px1, px2, px3,
1350 5 px4, px5, px6, px7,
1351 6 px8, py1, py2, py3,
1352 7 py4, py5, py6, py7,
1353 8 py8, pz1, pz2, pz3,
1354 9 pz4, pz5, pz6, pz7,
1355 a pz8, imat, h, wi,
1356 b ip, itask, dt2t, gbuf%VOL,
1357 c nft)
1358 ENDIF
1359
1360 DO i=lft,llt
1361 offl(i)=
min(offl(i),off(i))
1362 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one) THEN
1363 offs(i)=
min(lbuf%OFF(i),offs(i))
1364 ioffs =1
1365 END IF
1366 ENDDO
1367
1368
1369
1370 IF (jthe < 0) THEN
1371 imat = mxt(1)
1372 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
1374 1 pm, imat, voln, ni,
1375 2 nc1, nc2, nc3, nc4,
1376 3 nc5, nc6, nc7, nc8,
1377 4 px1, px2, px3, px4,
1378 5 py1, py2, py3, py4,
1379 6 pz1, pz2, pz3, pz4,
1380 7 px5, px6, px7, px8,
1381 8 py5, py6, py7, py8,
1382 9 pz5, pz6, pz7, pz8,
1383 a dt1, temp, tempel, fheat ,
1384 b them, gbuf%OFF,lbuf%OFF,partsav,
1385 c iparts, lbuf%VOL,nel,glob_therm%THEACCFACT)
1386 ELSE
1388 1 pm, imat, voln, ni,
1389 2 nc1, nc2, nc3, nc4,
1390 3 nc5, nc6, nc7, nc8,
1391 4 px1, px2, px3, px4,
1392 5 py1, py2, py3, py4,
1393 6 pz1, pz2, pz3, pz4,
1394 7 px5, px6, px7, px8,
1395 8 py5, py6, py7, py8,
1396 9 pz5, pz6, pz7, pz8,
1397 a dt1, temp, tempel, die ,
1398 b them, gbuf%OFF,lbuf%OFF,partsav,
1399 c iparts, lbuf%VOL,nel,glob_therm%THEACCFACT)
1400 END IF
1401 ENDIF
1402
1403 ENDDO
1404 ENDDO
1405 ENDDO
1406
1407
1408
1409 IF (ioffs == 1) THEN
1410 DO i=lft,llt
1411 IF (offs(i) <= two) gbuf%OFF(i)=offs(i)
1412 END DO
1413
1414 DO ir=1,nptr
1415 DO is=1,npts
1416 DO it=1,nptt
1417 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1418 DO i=lft,llt
1419 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
1420 END DO
1421 END DO
1422 END DO
1423 END DO
1424 END IF
1425
1426 IF (icp == 1.AND.ismstr/=10.AND.ismstr/=12) THEN
1428 1 pxc1, pxc2, pxc3, pxc4,
1429 2 pyc1, pyc2, pyc3, pyc4,
1430 3 pzc1, pzc2, pzc3, pzc4,
1431 4 f11, f21, f31, f12,
1432 5 f22, f32, f13, f23,
1433 6 f33, f14, f24, f34,
1434 7 f15, f25, f35, f16,
1435 8 f26, f36, f17, f27,
1436 9 f37, f18, f28, f38,
1437 a volg, pp, ideg, nel)
1438 ENDIF
1439 itet = 0
1440 IF (nn_del >0) THEN
1442 1 x1, x2, x3, x4,
1443 2 x5, x6, x7, x8,
1444 3 y1, y2, y3, y4,
1445 4 y5, y6, y7, y8,
1446 5 z1, z2, z3, z4,
1447 6 z5, z6, z7, z8,
1448 7 nel)
1449 CALL sgeodel3(ngl,gbuf%OFF,volg,deltax,gbuf%VOL,geo(
1450 END IF
1451
1452
1453
1454 CALL smallb3(gbuf%OFF,offl,nel,ismstr)
1455 CALL smallgeo3(ngl, gbuf%OFF ,volg ,deltax, gbuf%VOL ,itet,nel,ismstr,dt)
1456 IF (ismstr==11.OR.(ismstr == 12.AND.idtmin(1)==3)) THEN
1458 1 pxc1, pxc2, pxc3, pxc4,
1459 2 pyc1, pyc2, pyc3, pyc4,
1460 3 pzc1, pzc2, pzc3, pzc4,
1461 4 vx1, vx2, vx3, vx4,
1462 5 vx5, vx6, vx7, vx8,
1463 6 vy1, vy2, vy3, vy4,
1464 7 vy5, vy6, vy7, vy8,
1465 8 vz1, vz2, vz3, vz4,
1466 9 vz5, vz6, vz7, vz8,
1467 a wxx0, wyy0, wzz0, nel)
1469 1 gbuf%SMSTR,gbuf%OFF, wxx0, wyy0,
1470 2 wzz0, r11, r12, r13,
1471 3 r21, r22, r23, r31,
1472 4 r32, r33, nel, ismstr,
1473 5 jcvt)
1474 END IF
1475 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1476 ioffs =0
1477 DO i=lft,llt
1478 IF(gbuf%OFF(i)/=offg0(i).AND.abs(gbuf%OFF(i)) > one ) ioffs=1
1479 ENDDO
1480 IF (ioffs == 1) THEN
1482 1 gbuf%OFF, offg0, gbuf%SMSTR,x,
1483 2 xdp, nc1, nc2, nc3,
1484 3 nc4, nc5, nc6, nc7,
1485 4 nc8, nel, jcvt)
1486 IF (ism12_11>0 .AND. isorth == 0) THEN
1487 CALL s8fupd11t12(elbuf_tab(ng),gbuf%OFF,offg0 ,x ,xdp ,
1488 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,nc7 ,nc8, nel)
1489 END IF
1490 DO ir=1,nptr
1491 DO is=1,npts
1492 DO it=1,nptt
1493 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1494 DO i=lft,llt
1495 IF (abs(gbuf%OFF(i)) > one) lbuf%OFF(i)=gbuf%OFF(i)
1496 END DO
1497 END DO
1498 END DO
1499 END DO
1500 END IF
1501 ENDIF
1502
1503
1504
1505 iflag=mod(ncycle,ncpri)
1506 IF(ioutprt>0)THEN
1507 IF (jcvt == 0) THEN
1508 ifvm22 = 0
1509 CALL sbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1510 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1511 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1512 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1513 . volg,iparts , gresav,grth,igrth,gbuf%OFF,
1514 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1515 . x1, x2, x3, x4, x5, x6, x7, x8,
1516 . y1, y2, y3, y4, y5, y6, y7, y8,
1517 . z1, z2, z3, z4, z5, z6, z7, z8,
1518 . itask,iparg(1,ng),sensors,gbuf%G_WPLA,gbuf%WPLA)
1519 ELSE
1520 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1521 . vgxa, vgya, vgza, vga2, volg,iparts,
1522 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1523 . gbuf%FILL,xgxa, xgya, xgza,
1524 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1525 . nel,gbuf%G_WPLA,gbuf%WPLA)
1526 ENDIF
1527 ENDIF
1528
1529
1530
1531 IF (jcvt/=0) THEN
1533 1 r11, r21, r31, r12,
1534 2 r22, r32, r13, r23,
1535 3 r33, f11, f12, f13,
1536 4 f14, f15, f16, f17,
1537 5 f18, f21, f22, f23,
1538 6 f24, f25, f26, f27,
1539 7 f28, f31, f32, f33,
1540 8 f34, f35, f36, f37,
1541 9 f38, nel)
1542 ENDIF
1543
1545 1 gbuf%FILL,stin, f11, f21,
1546 2 f31, f12, f22, f32,
1547 3 f13, f23, f33, f14,
1548 4 f24, f34, f15, f25,
1549 5 f35, f16, f26, f36,
1550 6 f17, f27, f37, f18,
1551 7 f28, f38, nel)
1552
1553 IF(iparit == 0)THEN
1555 1 gbuf%OFF,a, nc1, nc2,
1556 2 nc3, nc4, nc5, nc6,
1557 3 nc7, nc8, stifn, stin,
1558 4 f11, f21, f31, f12,
1559 5 f22, f32, f13, f23,
1560 6 f33, f14, f24, f34,
1561 7 f15, f25, f35, f16,
1562 8 f26, f36, f17, f27,
1563 9 f37, f18, f28, f38,
1564 a nvc, bid, bid, bid,
1565 b bid, bid, bid, bid,
1566 c bid, bid, bid, bid,
1567 d bid, bid, bid, bid,
1568 e bid, bid, bid, bid,
1569 f bid, bid, bid, bid,
1570 g bid, bid, bid, bid,
1571 h them, fthe, condn, conden,
1572 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1573 ELSE
1575 1 gbuf%OFF,stin, fsky, fsky,
1576 2 iads, f11, f21, f31,
1577 3 f12, f22, f32, f13,
1578 4 f23, f33, f14, f24,
1579 5 f34, f15, f25, f35,
1580 6 f16, f26, f36, f17,
1581 7 f27, f37, f18, f28,
1582 8 f38, nc1, nc2, nc3,
1583 9 nc4, nc5, nc6, nc7,
1584 a nc8, bid, bid, bid,
1585 b bid, bid, bid, bid,
1586 c bid, bid, bid, bid,
1587 d bid, bid, bid, bid,
1588 e bid, bid, bid, bid,
1589 f bid, bid, bid, bid,
1590 g bid, bid, bid, bid,
1591 h them, fthesky, condnsky,conden,
1592 i nel, nft, jthe, isrot,
1593 j ipartsph,glob_therm%NODADT_THERM)
1594 ENDIF
1595
1596 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1597 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 jacob_f0(det0, 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, div0, nel)
subroutine mmain(pm, elbuf_str, ix, nix, x, geo, iparg, nel, skew, bufmat, ipart, ipartel, nummat, matparam, imat, ipm, ngl, pid, npf, tf, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, rx, ry, rz, sx, sy, sz, gama, voln, dvol, s1, s2, s3, s4, s5, s6, dxx, dyy, dzz, d4, d5, d6, wxx, wyy, wzz)
subroutine s8edefw3(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, wxx, wyy, wzz, 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 s8fupd11t12(elbuf_tab, offg, offg0, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel)
subroutine s8sav12(offg, offg0, sav, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel, jcvt)
subroutine s8sav3(offg, sav, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, nel)
subroutine s8zdefo3(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, jcvt)
subroutine s8zdefot3(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, icp, det0, jfac, nu, ideg, nel)
subroutine s8zdericm3(det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, sav, offg, nnega, index, nel, ismstr)
subroutine s8zderict3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, nel)
subroutine s8zdericto3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, jac_i, nel, ismstr)
subroutine s8zderim3(offg, off, vol, ngl, ksi, eta, zeta, wi, pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, 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, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, smax, deltax, nu, icp, ideg, voldp, nel, mtn, ismstr, jhbe)
subroutine s8zderims3(voldp, ksi, eta, zeta, wi, hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, nnega, index)
subroutine s8zderipr3(offg, voldp, ngl, ksi, eta, zeta, wi, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, nnega, index, ipt, nel)
subroutine s8zderit3(offg, off, vol, ngl, ksi, eta, zeta, wi, pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, 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, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac4, jac5, jac6, jac7, jac8, jac9, smax, deltax, nu, icp, ideg, jac_i, nel, mtn, ismstr, jhbe)
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 s8zfint_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, h, wi, ip, itask, dt2t, vol0, nft)
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 s8zsigp3(lft, llt, sig, e0, defp, fac, g_pla, 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 scoor_cp2sp(x0, y0, z0, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
subroutine scumu3(offg, e, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, stifn, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nvc, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthe, condn, conde, nel, jthe, isrot, ipartsph, nodadt_therm)
subroutine scumu3p(offg, sti, fsky, fskyv, iads, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthesky, condnsky, conde, nel, nft, jthe, isrot, ipartsph, nodadt_therm)
subroutine 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 sdlen_sm11(volg, deltax, smax, idege, nel)
subroutine sdlenmax(lm_max, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
subroutine sfillopt(fill, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel)
subroutine sgcoor3(time, npe, x, ixs, x0, y0, z0, vx0, vy0, vz0, sav, d, off, off0, nel, xdp, mtn, ismstr)
subroutine sgeodel3(ngl, offg, volg, deltax, volg0, geo, l_max, dt, nel, idel7nok)
subroutine smallb3(offg, off, nel, ismstr)
subroutine smallg3(sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr, jcvt)
subroutine smallgeo3(ngl, offg, volg, deltax, volg0, itet, nel, ismstr, dt)
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 sordeft3(nel, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
subroutine srota3(sig, s1, s2, s3, s4, s5, s6, wxx, wyy, wzz, nel, mtn, ismstr)
subroutine srrotadp(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
subroutine basis8(r, s, t, h, pr, ps, pt)
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 ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
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 sztorth3(jft, jlt, isorth, nel, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gama)