102 2 A ,V ,MS ,W ,FLUX ,
103 3 FLU1 ,VEUL ,FV ,ALE_CONNECT ,IPARG ,
104 4 TF ,NPF ,BUFMAT ,PARTSAV ,NLOC_DMG,
105 5 DT2T ,NELTST ,ITYPTST,STIFN ,FSKY ,
106 6 IADS ,OFFSET ,EANI ,IPARTS ,ICP ,
107 7 F11 ,F21 ,F31 ,F12 ,F22 ,
108 8 F32 ,F13 ,F23 ,F33 ,F14 ,
109 9 F24 ,F34 ,F15 ,F25 ,F35 ,
110 A F16 ,F26 ,F36 ,F17 ,F27 ,
111 B F37 ,F18 ,F28 ,F38 ,NEL ,
112 F ICSIG ,SMR ,SMS ,SMT ,MFXX ,
113 G MFXY ,MFXZ ,MFYX ,MFYY ,MFYZ ,
114 H MFZX ,MFZY ,MFZZ ,NVC ,IPM ,
115 I ITASK ,ISTRAIN,TEMP ,FTHE ,
116 J FTHESKY ,IEXPAN ,IGEO ,NNPT ,GRESAV ,
117 K GRTH ,IGRTH ,MSSA ,DMELS ,TABLE ,
118 L XDP ,VOLN ,CONDN ,CONDNSKY ,JFAC,
119 M D ,SENSORS,IOUTPRT,MAT_ELEM,H3D_STRAIN,
120 N DT ,SNPC ,STF,SBUFMAT,SVIS,NSVOIS,IDTMINS,
121 O IRESP ,MAXFUNC , USERL_AVAIL, GLOB_THERM,
127 USE output_mod,
only : output_
138 USE sz_dt1_mod,
only : sz_dt1
142#include "implicit_f.inc"
146#include "mvsiz_p.inc"
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"
163 TYPE(timer_),
INTENT(INOUT) ::
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
179 INTEGER NELTST,ITYPTST,OFFSET,NEL,ICP,NG,
180 . ICSIG, NVC, ITASK, ISTRAIN, IEXPAN ,NNPT,H3D_STRAIN
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),
206 . temp(*), fthe(*), fthesky(*),gresav(*), mssa(*), dmels(*),voln(mvsiz),
207 . condn(*),condnsky(*),d(*)
208 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
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) :: MAT_ELEM
214 TYPE (SENSORS_) ,
INTENT(INOUT) :: SENSORS
215 TYPE(DT_),
INTENT(INOUT) :: DT
216 type (glob_therm_) ,
intent(inout) :: glob_therm
220 INTEGER I,J,N,NF1,IFLAG,ILAY,NLAY,
221 . IP,IR,IS,IT,NPTR,NPTS,NPTT,ICR,ICS,ICT,PID,
222 . ipmat,nlymax,mid,ipang,ibid,mx
225 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(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), YD3(MVSIZ), YD4(MVSIZ),
229 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
230 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
231 . zd5(mvsiz), zd6(mvsiz), zd7
232 INTEGER 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) ,
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
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
252 . sti(mvsiz),stin(mvsiz),gama(mvsiz,6),
253 . wxx0(mvsiz) , wyy0(mvsiz) , wzz0(mvsiz),
254 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
258 INTEGER IOFFS,ITET,IFVM22
260 . OFFS(MVSIZ),DSV(MVSIZ)
263 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
264 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
267 . OFF(MVSIZ) ,OFFL(MVSIZ) , RHOO(MVSIZ),
268 . X1(MVSIZ), X2(MVSIZ), X3(MVSIZ), X4(),
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),pyz7(mvsiz),pyz8(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),vdz3(mvsiz),vdz4(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(mvsiz),nu(mvsiz),pp(mvsiz),usb(mvsiz),
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)
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)
371 INTEGER IBOLTP,NBPRELD,ISM12_11
373 .
DIMENSION(:),
POINTER :: bpreld
375 TYPE(g_bufel_) ,
POINTER :: GBUF
376 TYPE(L_BUFEL_) ,
POINTER :: LBUF
378 parameter(nlymax = 200,ipmat = 100,ipang = 200)
381 . w_gauss(9,9),a_gauss(9,9)
390 3 0.555555555555556d0,0.888888888888889d0,0.555555555555556d0,
393 4 0.347854845137454d0,0.652145154862546d0,0.652145154862546d0,
394 4 0.347854845137454d0,0.d0 ,0.d0 ,
396 5 0.236926885056189d0,0.478628670499366d0,0.568888888888889d0,
397 5 0.478628670499366d0,0.236926885056189d0,0.d0 ,
399 6 0.171324492379170d0,0.360761573048139d0,0.467913934572691d0,
400 6 0.467913934572691d0,0.360761573048139d0,0.171324492379170d0,
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/
416 2 -.577350269189625d0,0.577350269189625d0,0.d0 ,
419 3 -.774596669241483d0,0.d0 ,0.774596669241483d0,
422 4 -.861136311594053d0,-.339981043584856d0,0.339981043584856d0,
423 4 0.861136311594053d0,0.d0 ,0.d0 ,
425 5 -.906179845938664d0,-.538469310105683d0,0.d0 ,
426 5 0.538469310105683d0,0.906179845938664d0,0.d0 ,
428 6 -.932469514203152d0,-.661209386466265d0,-.238619186083197d0,
429 6 0.238619186083197d0,0.661209386466265d0,0.932469514203152d0,
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/
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
453 iboltp = iparg(72,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
462 sz_ix=numelq+numels+nsvois
468 IF (jcvt==1 .AND. isorth==1) jcvt=2
469 IF (igtyp /= 22) isorthg = 0
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)
500 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%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),
520 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
522 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
526 IF (ismstr >= 10.AND.ismstr <= 12)
THEN
528 1 tt, 8, x, ixs(1,nf1),
530 3 vy0, vz0, gbuf%SMSTR,d,
531 4 gbuf%OFF, offg0, nel, xdp,
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),
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),
560 nu(i)=
min(half,pm(21,mx))
563 e0(i) =three*(one-two*nu(i))*c1
568 icp0=mat_elem%MAT_PARAM(mx)%COMPRESSIBILITY
572 IF (idt1sol == 1.AND.(mtn
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)
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,
609 1 volg, deltax, x1, x2,
615 7 z7, z8, ixs(1,nf1),ideg,
619 1 volg, deltax, smax, ideg,
623 1 lft, llt, nel, g1x,
624 2 g1y, g1z, g2x, g2y,
625 3 g2z, g3x, g3y, g3z,
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)
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)
668 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
676 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
678 ip = ir + ( (is-1) + (it-1)*npts )*nptr
679 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
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,
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),
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)
783 1 lft, llt, nel, g1x,
784 2 g1y, g1z, g2x, g2y,
785 3 g2z, g3x, g3y, g3z,
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,
811 1 volg, deltax, x1, x2,
817 7 z7, z8, ixs(1,nf1),ideg,
828 ip = ir + ( (is-1) + (it-1)*npts )*nptr
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
837 1 gbuf%OFF, volp(1,ip),ngl, zr,
839 3 ajc2, ajc3, ajc4, ajc5,
840 4 ajc6, ajc7, ajc8, ajc9,
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,
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,
875 ip = ir + ( (is-1) + (it-1)*npts )*nptr
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
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)
900 CALL ancmsg(msgid=280,anmode=aninfo)
908 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0))
THEN
910 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
912 3 xd7, xd8, yd1, yd2,
913 4 yd3, yd4, yd5, yd6,
914 5 yd7, yd8, zd1, zd2,
915 6 zd3, zd4, zd5, zd6,
920 CALL s8zsigp3(lft ,llt ,gbuf%SIG,e0 ,gbuf%PLA,
921 2 fac ,gbuf%G_PLA,nel )
923 nu1(i)=nu(i)+(half-nu(i))*fac(i)
932 IF (ismstr <10.AND.icp==1)
THEN
934 1 ixs(1,nf1),ideg, nel)
936 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
941 1 pxc1, pxc2, pxc3, pxc4,
942 2 pyc1, pyc2, pyc3, pyc4,
943 3 pzc1, pzc2, pzc3, pzc4,
944 4 fac_nu, deltaxi, nel )
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,
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)
975 IF(jthe<0) them(lft:llt,1:8) = zero
980 l_nloc = nloc_dmg%L_NLOC
981 dnl => nloc_dmg%DNL(1:l_nloc)
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)
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))
1000 ipos(j) = nloc_dmg%POSI(inod(j))
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))
1017 ip = ir + ( (is-1) + (it-1)*npts )*nptr
1018 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1023 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
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
1036 1 offl, off, voln, ngl,
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,
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,
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,
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,
1138 rhoo(i) = lbuf%RHO(i)
1139 tempel(i) = pm(79,mx)
1143 CALL szordef3(lft,llt,dxx,dyy,dzz,d4,d5,d6,
1144 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
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)
1158 1 lbuf%SIG,s1, s2, s3,
1160 3 wyy, wzz, nel, mtn,
1165 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
1175 2 nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
1178 deltaxi(1:nel) = deltax(1:nel)
1179 IF (fac_nu<one) deltaxi(1:nel) =
max(deltaxi(1:nel),nu_sp*deltax(1:nel))
1184 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
1187 .
CALL boltst(ip ,bpreld ,lbuf%SIG ,tt ,nel ,
1188 . npt ,sensors%NSENSOR,sensors%SENSOR_TAB)
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,
1200 a s6, dxx, dyy, dzz,
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)
1227 IF (istrain == 1)
THEN
1229 1 dxx, dyy, dzz, d4,
1230 2 d5, d6, lbuf%STRA,wxx,
1231 3 wyy, wzz, off, nel,
1235 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
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,
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)
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, byx2,
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)
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,
1356 b ip, itask, dt2t, gbuf%VOL,
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))
1372 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1)
THEN
1375 2 nc1, nc2, nc3, nc4,
1376 3 nc5, nc6, nc7, nc8,
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)
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)
1409 IF (ioffs == 1)
THEN
1411 IF (offs(i) <= two) gbuf%OFF(i)=offs(i)
1417 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1419 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
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)
1449 CALL sgeodel3(ngl,gbuf%OFF,volg,deltax,gbuf%VOL,geo(1,ngeo(1)),l_max,dt,nel,idel7nok)
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,
1475 IF (ismstr == 12.AND.idtmin(1)==3)
THEN
1478 IF(gbuf%OFF(i)/=offg0(i).AND.abs(gbuf%OFF(i)) > one ) ioffs=1
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,
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)
1493 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1495 IF (abs(gbuf%OFF(i)) > one) lbuf%OFF(i)=gbuf%OFF(i)
1505 iflag=mod(ncycle,ncpri)
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)
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)
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,
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,
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)
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)
1596 IF (
ALLOCATED(var_reg))
DEALLOCATE(var_reg)