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