79 SUBROUTINE s8sforc3(TIMERS, OUTPUT, ELBUF_TAB,NG ,
82 3 FLU1 ,VEUL ,FV ,ALE_CONNECT ,IPARG ,
83 4 TF ,NPF ,BUFMAT ,PARTSAV ,NLOC_DMG,
84 5 DT2T ,NELTST ,ITYPTST ,STIFN ,FSKY ,
85 6 IADS ,OFFSET ,EANI ,IPARTS ,ICP ,
86 7 F11 ,F21 ,F31 ,F12 ,F22 ,
87 8 F32 ,F13 ,F23 ,F33 ,F14 ,
88 9 F24 ,F34 ,F15 ,F25 ,F35 ,
89 A F16 ,F26 ,F36 ,F17 ,F27 ,
90 B F37 ,F18 ,F28 ,F38 ,NEL ,
91 C NVC ,IPM ,ITASK ,ISTRAIN ,
92 D TEMP ,FTHE ,FTHESKY ,IEXPAN ,GRESAV ,
93 E GRTH ,IGRTH ,MSSA ,DMELS ,TABLE ,
94 F IGEO ,XDP ,VOLN ,CONDN ,CONDNSKY,
95 G D ,IOUTPRT,MAT_ELEM,H3D_STRAIN,SNPC,STF,
96 H SBUFMAT ,SVIS,NSVOIS,IDTMINS,IRESP,IDTMIN,MAXFUNC,
97 I USERL_AVAIL,DT ,GLOB_THERM,SENSORS)
102 USE output_mod,
only : output_
116#include "implicit_f.inc"
120#include
"mvsiz_p.inc"
124#include "com01_c.inc"
125#include "com04_c.inc"
126#include "com08_c.inc"
127#include "scr07_c.inc"
128#include "vect01_c.inc"
129#include "parit_c.inc"
130#include "param_c.inc"
131#include "timeri_c.inc"
132#include "impl1_c.inc"
133#include "scr17_c.inc"
137 TYPE(timer_) ,
INTENT(INOUT) :: TIMERS
138 TYPE(OUTPUT_),
INTENT(INOUT) :: OUTPUT
139 INTEGER,
INTENT(IN) :: SNPC
140 INTEGER,
INTENT(IN) :: STF
141 INTEGER,
INTENT(IN) :: SBUFMAT
142 INTEGER,
INTENT(IN) :: NSVOIS
143 INTEGER,
INTENT(IN) ::
144 INTEGER ,
INTENT(IN) :: IRESP
145 integer,
dimension(102) :: IDTMIN
146 INTEGER ,
INTENT(IN) :: MAXFUNC
147 INTEGER,
INTENT(IN) :: USERL_AVAIL
149 INTEGER IXS(,*), IPARG(NPARG,NGROUP),NPF(*),
150 . IADS(8,*),IPARTS(*), IPM(NPROPMI,*),GRTH(*),IGRTH(*),IGEO(*),
153 INTEGER NELTST,ITYPTST,OFFSET,NEL,ICP,
154 . ICSIG, NVC ,ITASK, , IEXPAN,NG,H3D_STRAIN
162 . pm(npropm,*), geo(*), x(*), a(*), v(*), ms(*), w
163 . flux(6,*),flu1(*), veul(*), fv(*), tf(*),
164 . partsav(*),stifn(*), fsky(*),eani(*),bufmat(*),
165 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
166 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
167 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
168 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
169 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
170 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
171 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
172 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
173 . temp(*),fthe(*),fthesky(*),gresav(*), mssa(*), dmels(*), voln(mvsiz),
174 . condn(*),condnsky(*),d(*)
175 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
177 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
178 TYPE (NLOCAL_STR_) ,
TARGET :: NLOC_DMG
180 TYPE () ,
INTENT(INOUT) :: MAT_ELEM
181 TYPE (DT_),
INTENT(IN) :: DT
182 type (glob_therm_) ,
intent(inout) :: glob_therm
183 type (sensors_),
INTENT(INOUT) :: SENSORS
187 INTEGER LCO, , IFLAG, I,
188 . ILAY,IP,IR,IS,IT,MPT,NPTR,NPTS,NPTT,ICR,ICS,ICT,j
189 INTEGER IBID,IBIDV(1), MX, IFVM22
190 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ)
192 . VD2(MVSIZ) , DVOL(MVSIZ),DELTAX(MVSIZ),
193 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
194 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
195 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
196 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
197 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
198 . ajc1(mvsiz) , ajc2(mvsiz) , ajc3(mvsiz) ,
199 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
200 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
201 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
202 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz) ,
203 . ajp1(mvsiz,8) , ajp2(mvsiz,8) , ajp3(mvsiz,8) ,
204 . ajp4(mvsiz,8) , ajp5(mvsiz,8) , ajp6(mvsiz,8) ,
205 . ajp7(mvsiz,8) , ajp8(mvsiz,8) , ajp9(mvsiz,8) ,
206 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
207 . e0(mvsiz),c1,fac(mvsiz) ,pr(8,8),ps(8,8),pt(8,8)
211 . sti(mvsiz),stin(mvsiz),gama(mvsiz,6),
212 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz),
213 . wxx0(mvsiz) , wyy0(mvsiz) , wzz0(mvsiz),
214 . conde(mvsiz), conden(mvsiz),divde(mvsiz)
218 INTEGER IOFFS, N,ITET
220 . OFFS(MVSIZ),DSV(MVSIZ),SDV(MVSIZ)
224 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
225 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ),
229 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
230 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
231 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
232 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
233 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
234 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz),
235 . x0(mvsiz,8),y0(mvsiz,8),z0(mvsiz,8)
238 . off(mvsiz) ,offg(mvsiz) , rhoo(mvsiz),
239 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
240 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
241 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
242 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
243 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
244 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
245 . vx1(mvsiz),vx2(mvsiz),vx3
246 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
247 . vy1(mvsiz),vy2(mvsiz),vy3
248 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
249 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
250 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
251 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
252 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
253 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
254 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
255 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
256 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
257 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
258 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
259 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
260 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
261 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),offg0(mvsiz),
262 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
263 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
264 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
266 . dxy(mvsiz),dyx(mvsiz),
267 . dyz(mvsiz),dzy(mvsiz),
268 . dzx(mvsiz),dxz(mvsiz)
270 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
271 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
272 . r31(mvsiz),r32(mvsiz),r33(mvsiz)
274 . wi,smax(mvsiz),volg(mvsiz),pp(mvsiz),bid(mvsiz)
276 . sigy(mvsiz), et(mvsiz), nu(mvsiz),nu1(mvsiz),
277 . r1_free(mvsiz),r3_free(mvsiz),r4_free(mvsiz)
279 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8),
280 . tempel(mvsiz),them(mvsiz,8),die(mvsiz)
281 INTEGER NNPT,IDEG(MVSIZ)
284 . mfxx(mvsiz,nnpt),mfxy(mvsiz,nnpt),mfyx(mvsiz,nnpt),
285 . mfyy(mvsiz,nnpt),mfyz(mvsiz,nnpt),mfzy(mvsiz,nnpt),
286 . mfzz(mvsiz,nnpt),mfzx(mvsiz,nnpt),mfxz(mvsiz,nnpt
287 . bxx(mvsiz,nnpt),byy(mvsiz,nnpt),bzz(mvsiz,nnpt),
288 . bxy(mvsiz,nnpt),byz(mvsiz,nnpt),bxz(mvsiz,nnpt),
289 . ni(8),detf0(mvsiz),jfac(mvsiz,nnpt)
291 TYPE(g_bufel_) ,
POINTER :: GBUF
292 TYPE(L_BUFEL_) ,
POINTER :: LBUF
295 . bxy1(mvsiz),bxy2(mvsiz),bxy3(mvsiz),bxy4(mvsiz),
296 . bxy5(mvsiz),bxy6(mvsiz),bxy7(mvsiz),bxy8(mvsiz),
297 . byx1(mvsiz),byx2(mvsiz),byx3(mvsiz),byx4(mvsiz),
298 . byx5(mvsiz),byx6(mvsiz),byx7(mvsiz),byx8(mvsiz),
299 . bxz1(mvsiz),bxz2(mvsiz),bxz3(mvsiz),bxz4(mvsiz),
300 . bxz5(mvsiz),bxz6(mvsiz),bxz7(mvsiz),bxz8(mvsiz),
301 . bzx1(mvsiz),bzx2(mvsiz),bzx3(mvsiz),bzx4(mvsiz),
302 . bzx5(mvsiz),bzx6(mvsiz),bzx7(mvsiz),bzx8(mvsiz),
303 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
304 . byz5(mvsiz),byz6(mvsiz),byz7(mvsiz),byz8(mvsiz),
305 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
306 . bzy5(mvsiz),bzy6(mvsiz),bzy7(mvsiz),bzy8(mvsiz),
307 . bxx1(mvsiz),bxx2(mvsiz),bxx3(mvsiz),bxx4(mvsiz),
308 . bxx5(mvsiz),bxx6(mvsiz),bxx7(mvsiz),bxx8(mvsiz),
309 . byy1(mvsiz),byy2(mvsiz),byy3(mvsiz),byy4(mvsiz),
310 . byy5(mvsiz),byy6(mvsiz),byy7(mvsiz),byy8(mvsiz),
311 . bzz1(mvsiz),bzz2(mvsiz),bzz3(mvsiz),bzz4(mvsiz),
312 . bzz5(mvsiz),bzz6(mvsiz),bzz7(mvsiz),bzz8(mvsiz)
314 INTEGER NNEGA,INDEX(MVSIZ),ISELECT,iel,ipr
316 . PXY1(MVSIZ),PXY2(MVSIZ),PXY3(MVSIZ),PXY4(MVSIZ),
317 . PXY5(MVSIZ),PXY6(MVSIZ),PXY7(MVSIZ),PXY8(MVSIZ),
318 . PYX1(MVSIZ),PYX2(MVSIZ),PYX3(MVSIZ),PYX4(MVSIZ),
319 . PYX5(MVSIZ),PYX6(MVSIZ),PYX7(MVSIZ),PYX8(MVSIZ),
320 . PXZ1(MVSIZ),PXZ2(MVSIZ),PXZ3(MVSIZ),PXZ4(MVSIZ),
321 . PXZ5(MVSIZ),PXZ6(MVSIZ),PXZ7(MVSIZ),PXZ8(MVSIZ),
322 . PZX1(MVSIZ),PZX2(MVSIZ),PZX3(MVSIZ),PZX4(MVSIZ),
323 . PZX5(MVSIZ),PZX6(MVSIZ),PZX7(MVSIZ),PZX8(MVSIZ),
324 . PYZ1(MVSIZ),PYZ2(MVSIZ),PYZ3(MVSIZ),PYZ4(MVSIZ),
325 . PYZ5(MVSIZ),PYZ6(MVSIZ),PYZ7(MVSIZ),PYZ8(MVSIZ),
326 . PZY1(MVSIZ),PZY2(MVSIZ),PZY3(MVSIZ),PZY4(MVSIZ),
327 . PZY5(MVSIZ),PZY6(MVSIZ),PZY7(MVSIZ),PZY8(MVSIZ),
328 . AJI1(MVSIZ,NNPT) , AJI2(MVSIZ,NNPT) , AJI3(MVSIZ,NNPT) ,
329 . AJI4(MVSIZ,NNPT) , AJI5(MVSIZ,NNPT) , AJI6(MVSIZ,NNPT) ,
330 . AJI7(MVSIZ,NNPT) , AJI8(MVSIZ,NNPT) , AJI9(MVSIZ,NNPT),
331 . PX1(MVSIZ,NNPT),PX2(MVSIZ,NNPT),PX3(MVSIZ,NNPT),PX4(MVSIZ,NNPT),
332 . px5(mvsiz,nnpt),px6(mvsiz,nnpt),px7(mvsiz,nnpt),px8(mvsiz,nnpt),
333 . py1(mvsiz,nnpt),py2(mvsiz,nnpt),py3(mvsiz,nnpt),py4(mvsiz,nnpt),
334 . py5(mvsiz,nnpt),py6
335 . pz1(mvsiz,nnpt),pz2(mvsiz,nnpt),pz3(mvsiz,nnpt),pz4(mvsiz,nnpt),
336 . pz5(mvsiz,nnpt),pz6(mvsiz,nnpt),pz7(mvsiz,nnpt),pz8(mvsiz,nnpt),
337 . p0xy1(mvsiz,2),p0xy2(mvsiz,2),p0xy3(mvsiz,2),p0xy4(mvsiz,2),
338 . p0xy5(mvsiz,2),p0xy6(mvsiz,2),p0xy7(mvsiz,2),p0xy8(mvsiz,2),
339 . p0yx1(mvsiz,2),p0yx2(mvsiz,2),p0yx3(mvsiz,2),p0yx4(mvsiz,2),
340 . p0yx5(mvsiz,2),p0yx6(mvsiz,2),p0yx7(mvsiz,2),p0yx8(mvsiz,2),
341 . p0xz1(mvsiz,2),p0xz2(mvsiz,2),p0xz3(mvsiz,2),p0xz4(mvsiz,2),
342 . p0xz5(mvsiz,2),p0xz6(mvsiz,2),p0xz7(mvsiz,2),p0xz8(mvsiz,2),
343 . p0zx1(mvsiz,2),p0zx2(mvsiz,2),p0zx3(mvsiz,2),p0zx4(mvsiz,2),
344 . p0zx5(mvsiz,2),p0zx6(mvsiz,2),p0zx7(mvsiz,2),p0zx8(mvsiz,2),
345 . p0yz1(mvsiz,2),p0yz2(mvsiz,2),p0yz3(mvsiz,2),p0yz4(mvsiz,2),
346 . p0yz5(mvsiz,2),p0yz6(mvsiz,2),p0yz7(mvsiz,2),p0yz8(mvsiz,2),
347 . p0zy1(mvsiz,2),p0zy2(mvsiz,2),p0zy3(mvsiz,2),p0zy4(mvsiz,2),
348 . p0zy5(mvsiz,2),p0zy6(mvsiz,2),p0zy7(mvsiz,2),p0zy8(mvsiz,2),
349 . px1h1(mvsiz), px1h2(mvsiz), px1h3(mvsiz), px1h4(mvsiz),
350 . px2h1(mvsiz), px2h2(mvsiz), px2h3(mvsiz), px2h4(mvsiz),
351 . px3h1(mvsiz), px3h2(mvsiz), px3h3(mvsiz), px3h4(mvsiz),
352 . px4h1(mvsiz), px4h2(mvsiz), px4h3(mvsiz), px4h4(mvsiz),
353 . jr_1(mvsiz),js_1(mvsiz),jt_1(mvsiz),
354 . bb(6,24,mvsiz),amu(mvsiz)
361 .
DIMENSION(:,:),
ALLOCATABLE :: var_reg
362 INTEGER :: INLOC, L_NLOC, INOD(8), IPOS(8), IMAT
364 .
DIMENSION(:),
POINTER :: DNL
366 . H(8),PS2(8),PR2(8),PT2(8), ZR,ZS,ZT
369 . ULX1(MVSIZ), ULX2(MVSIZ), ULX3(MVSIZ), ULX4(MVSIZ),
370 . ULX5(MVSIZ), ULX6(MVSIZ), ULX7(MVSIZ), ULX8(MVSIZ),
371 . ULY1(MVSIZ), ULY2(MVSIZ), ULY3(MVSIZ), ULY4(MVSIZ),
372 . ULY5(MVSIZ), ULY6(MVSIZ), ULY7(MVSIZ), ULY8(MVSIZ),
373 . ulz1(mvsiz), ulz2(mvsiz), ulz3(mvsiz), ulz4(mvsiz),
374 . ulz5(mvsiz), ulz6(mvsiz), ulz7(mvsiz), ulz8(mvsiz),
375 . dn_x(mvsiz,8),dn_y(mvsiz,8),dn_z(mvsiz,8) ,
376 . trm(nel,24,24),dn_r(8),dn_s(8),dn_t(8),invj(9,mvsiz)
378 . a11(mvsiz), a12(mvsiz), a13(mvsiz),
380 . a31(mvsiz), a32(mvsiz), a33(mvsiz)
384 . w_gauss(9,9),a_gauss(9,9)
392 3 0.555555555555556,0.888888888888889,0.555555555555556,
395 4 0.347854845137454,0.652145154862546,0.652145154862546,
396 4 0.347854845137454,0. ,0. ,
398 5 0.236926885056189,0.478628670499366,0.568888888888889,
399 5 0.478628670499366,0.236926885056189,0. ,
401 6 0.171324492379170,0.360761573048139,0.467913934572691,
402 6 0.467913934572691,0.360761573048139,0.171324492379170,
404 7 0.129484966168870,0.279705391489277,0.381830050505119,
405 7 0.417959183673469,0.381830050505119,0.279705391489277,
406 7 0.129484966168870,0. ,0. ,
407 8 0.101228536290376,0.222381034453374,0.313706645877887,
408 8 0.362683783378362,0.362683783378362,0.313706645877887,
409 8 0.222381034453374,0.101228536290376,0. ,
410 9 0.081274388361574,0.180648160694857,0.260610696402935,
411 9 0.312347077040003,0.330239355001260,0.312347077040003,
412 9 0.260610696402935,0.180648160694857,0.081274388361574/
417 2 -.577350269189626,0.577350269189626,0. ,
420 3 -.774596669241483,0. ,0.774596669241483,
423 4 -.861136311594053,-.339981043584856,0.339981043584856,
424 4 0.861136311594053,0. ,0. ,
426 5 -.906179845938664,-.538469310105683,0. ,
427 5 0.538469310105683,0.906179845938664,0. ,
429 6 -.932469514203152,-.661209386466265,-.238619186083197,
430 6 0.238619186083197,0.661209386466265,0.932469514203152,
432 7 -.949107912342759,-.741531185599394,-.405845151377397,
433 7 0. ,0.405845151377397,0.741531185599394,
434 7 0.949107912342759,0. ,0. ,
435 8 -.960289856497536,-.796666477413627,-.525532409916329,
436 8 -.183434642495650,0.183434642495650,0.525532409916329,
437 8 0.796666477413627,0.960289856497536,0. ,
438 9 -.968160239507626,-.836031107326636,-.613371432700590,
439 9 -.324253423403809,0. ,0.324253423403809,
440 9 0.613371432700590,0.836031107326636,0.968160239507626/
443 INTEGER IBOLTP,NBPRELD
445 .
DIMENSION(:),
POINTER :: BPRELD
449 NPTR = elbuf_tab(ng)%NPTR
450 npts = elbuf_tab(ng)%NPTS
451 nptt = elbuf_tab(ng)%NPTT
452 gbuf => elbuf_tab(ng)%GBUF
454 iboltp = iparg(72,ng)
456 ALLOCATE(var_reg(nel,nptr*npts*nptt))
457 nbpreld = gbuf%G_BPRELD
458 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
462 sz_ix=numelq+numels+nsvois
475 . x1, x2, x3, x4, x5, x6, x7, x8,
476 . y1, y2, y3, y4, y5, y6, y7, y8,
477 . z1, z2, z3, z4, z5, z6, z7, z8,
478 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
479 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
480 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
481 . vd2,vis,gbuf%OFF,offg,gbuf%SMSTR,gbuf%RHO,rhoo, gbuf%COR_FR,
482 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
483 . ngl,mxt,ngeo,ioutprt, vgxa, vgya, vgza, vga2,
484 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
485 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
486 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
487 . xdp, x0 , y0 , z0 , nel, trm, gbuf%COR_XR,
488 . ulx1 ,ulx2 ,ulx3 ,ulx4 ,ulx5 ,ulx6 ,ulx7 ,ulx8 ,
489 . uly1 ,uly2 ,uly3 ,uly4 ,uly5 ,uly6 ,uly7 ,uly8 ,
490 . ulz1 ,ulz2 ,ulz3 ,ulz4 ,ulz5 ,ulz6 ,ulz7 ,ulz8 ,
491 . xgxa ,xgya ,xgza, xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng))
503 IF(jthe < 0) them(1:nel,1:8) =zero
511 1 offg, volg, ngl, xd1,
512 2 xd2, xd3, xd4, xd5,
513 3 xd6, xd7, xd8, yd1,
514 4 yd2, yd3, yd4, yd5,
515 5 yd6, yd7, yd8, zd1,
516 6 zd2, zd3, zd4, zd5,
517 7 zd6, zd7, zd8, pxc1,
519 9 pyc2, pyc3, pyc4, pzc1,
520 a pzc2, pzc3, pzc4, px1h1,
521 b px1h2, px1h3, px1h4, px2h1,
522 c px2h2, px2h3, px2h4, px3h1,
523 d px3h2, px3h3, px3h4, px4h1,
524 e px4h2, px4h3, px4h4, hx,
525 f hy, hz, jr_1, js_1,
526 g jt_1, ajc1, ajc2, ajc3,
527 h ajc4, ajc5, ajc6, ajc7,
528 i ajc8, ajc9, smax, gbuf%SMSTR,
529 j gbuf%OFF, nel, ismstr, jlag)
532 2 ajc2, ajc3, ajc4, ajc5,
533 3 ajc6, ajc7, ajc8, ajc9,
534 4 ajp1, ajp2, ajp3, ajp4,
535 5 ajp5, ajp6, ajp7, ajp8,
539 1 volg, deltax, x1, x2,
545 7 z7, z8, ixs(1,nf1),ideg,
556 ip = ir + ( (is-1) + (it-1)*npts )*nptr
557 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
560 1 gbuf%OFF, volp(1,ip),ngl, wi,
561 2 ajp1(1,ip),ajp2(1,ip),ajp3(1,ip),ajp4(1,ip),
562 3 ajp5(1,ip),ajp6(1,ip),ajp7(1,ip),ajp8(1,ip),
563 4 ajp9(1,ip),aji1(1,ip),aji2(1,ip),aji3(1,ip),
564 5 aji4(1,ip),aji5(1,ip),aji6(1,ip),aji7(1,ip),
565 6 aji8(1,ip),aji9(1,ip),nnega, index,
573 1 volg, ngl, xd1, xd2,
574 2 xd3, xd4, xd5, xd6,
575 3 xd7, xd8, yd1, yd2,
576 4 yd3, yd4, yd5, yd6,
577 5 yd7, yd8, zd1, zd2,
578 6 zd3, zd4, zd5, zd6,
579 7 zd7, zd8, pxc1, pxc2,
580 8 pxc3, pxc4, pyc1, pyc2,
581 9 pyc3, pyc4, pzc1, pzc2,
582 a pzc3, pzc4, hx, hy,
583 b hz, ajc1, ajc2, ajc3,
584 c ajc4, ajc5, ajc6, ajc7,
585 d ajc8, ajc9, smax, gbuf%SMSTR,
586 e gbuf%OFF, nnega, index, nel,
591 ip = ir + ( (is-1) + (it-1)*npts )*nptr
592 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
595 . a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),wi,
600 . ajp1(1,ip),ajp2(1,ip),ajp3(1,ip),
601 . ajp4(1,ip),ajp5(1,ip),ajp6(1,ip),
602 . ajp7(1,ip),ajp8(1,ip),ajp9(1,ip),
603 . aji1(1,ip),aji2(1,ip),aji3(1,ip),
604 . aji4(1,ip),aji5(1,ip),aji6(1,ip),
605 . aji7(1,ip),aji8(1,ip),aji9(1,ip),nnega,index)
611 CALL ancmsg(msgid=280,anmode=aninfo)
620 IF (icp==1.OR.icp==2)
THEN
622 1 pxc1, pxc2, pxc3, pxc4,
623 2 pyc1, pyc2, pyc3, pyc4,
624 3 pzc1, pzc2, pzc3, pzc4,
625 4 vx1, vx2, vx3, vx4,
626 5 vx5, vx6, vx7, vx8,
627 6 vy1, vy2, vy3, vy4,
628 7 vy5, vy6, vy7, vy8,
629 8 vz1, vz2, vz3, vz4,
630 9 vz5, vz6, vz7, vz8,
634 1 ixs(1,nf1),ideg, nel)
635 IF (icp==1.AND.mtn==28)
THEN
637 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
645 1 f11, f21, f31, f12,
646 2 f22, f32, f13, f23,
647 3 f33, f14, f24, f34,
648 4 f15, f25, f35, f16,
649 5 f26, f36, f17, f27,
650 6 f37, f18, f28, f38,
651 7 gbuf%SIG, gbuf%EINT, gbuf%RHO, gbuf%QVIS,
652 8 gbuf%PLA, gbuf%EPSD, stin, pp,
653 9 gbuf%G_PLA, gbuf%G_EPSD,iexpan, gbuf%EINTTH,
660 IF(gbuf%OFF(i) == zero) cycle
661 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
662 . + temp(nc3(i)) + temp(nc4(i))
663 . + temp(nc5(i)) + temp(nc6(i))
664 . + temp(nc7(i)) + temp(nc8(i)))
665 gbuf%TEMP(i) = tempel(i)
672 l_nloc = nloc_dmg%L_NLOC
673 dnl => nloc_dmg%DNL(1:l_nloc)
677 zr = a_gauss(ir,nptr)
678 zs = a_gauss(is,npts)
679 zt = a_gauss(it,nptt)
680 ip = ir + ( (is-1) + (it-1)*npts )*nptr
681 CALL basis8 (zr,zs,zt,h,pr2,ps2,pt2)
683 inod(1) = nloc_dmg%IDXI(nc1(i))
684 inod(2) = nloc_dmg%IDXI(nc2(i))
685 inod(3) = nloc_dmg%IDXI(nc3(i))
686 inod(4) = nloc_dmg%IDXI(nc4(i))
687 inod(5) = nloc_dmg%IDXI(nc5(i))
688 inod(6) = nloc_dmg%IDXI(nc6(i))
689 inod(7) = nloc_dmg%IDXI(nc7(i))
690 inod(8) = nloc_dmg%IDXI(nc8(i))
692 ipos(j) = nloc_dmg%POSI(inod(j))
694 var_reg(i,ip) = h(1)*dnl(ipos(1)) + h(2)*dnl(ipos(2)) + h(3)*dnl(ipos(3))
695 . + h(4)*dnl(ipos(4)) + h(5)*dnl(ipos(5)) + h(6)*dnl(ipos(6))
696 . + h(7)*dnl(ipos(7)) + h(8)*dnl(ipos(8))
707 ip = ir + ( (is-1) + (it-1)*npts )*nptr
710 1 px1(1,ip), px2(1,ip), px3(1,ip), px4(1,ip),
711 2 px5(1,ip), px6(1,ip), px7(1,ip), px8(1,ip),
712 3 py1(1,ip), py2(1,ip), py3(1,ip), py4(1,ip),
713 4 py5(1,ip), py6(1,ip), py7(1,ip), py8(1,ip),
714 5 pz1(1,ip), pz2(1,ip), pz3(1,ip), pz4(1,ip),
715 6 pz5(1,ip), pz6(1,ip), pz7(1,ip), pz8(1,ip),
716 7 aji1(1,ip),aji2(1,ip),aji3(1,ip),aji4(1,ip),
717 8 aji5(1,ip),aji6(1,ip),aji7(1,ip),aji8(1,ip),
718 9 aji9(1,ip),pr(1,ip), ps(1,ip), pt(1,ip),
727 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
731 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
735 ip = ir + ( (is-1) + (it-1)*npts )*nptr
736 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
739 1 offg, off, voln, a_gauss(ir,nptr),
740 2 a_gauss(is,npts),a_gauss(it,nptt),wi, px1(1,ip),
741 3 px2(1,ip), px3(1,ip), px4
742 4 px6(1,ip), px7(1,ip), px8(1,ip), py1(1,ip),
743 5 py2(1,ip), py3(1,ip), py4(1,ip), py5(1,ip),
744 6 py6(1,ip), py7(1,ip), py8(1,ip), pz1(1,ip),
745 7 pz2(1,ip), pz3(1,ip), pz4(1,ip), pz5(1,ip),
746 8 pz6(1,ip), pz7(1,ip), pz8(1,ip), pxc1,
747 9 pxc2, pxc3, pxc4, pyc1,
748 a pyc2, pyc3, pyc4, pzc1,
749 b pzc2, pzc3, pzc4, bxy1,
750 c bxy2, bxy3, bxy4, bxy5,
751 d bxy6, bxy7, bxy8, byx1,
752 e byx2, byx3, byx4, byx5,
753 f byx6, byx7, byx8, bxz1,
754 g bxz2, bxz3, bxz4, bxz5,
755 h bxz6, bxz7, bxz8, bzx1,
756 i bzx2, bzx3, bzx4, bzx5,
757 j bzx6, bzx7, bzx8, byz1,
758 k byz2, byz3, byz4, byz5,
759 l byz6, byz7, byz8, bzy1,
760 m bzy2, bzy3, bzy4, bzy5,
761 n bzy6, bzy7, bzy8, bxx1,
762 o bxx2, bxx3, bxx4, bxx5,
763 p bxx6, bxx7, bxx8, byy1,
764 q byy2, byy3, byy4, byy5,
765 r byy6, byy7, byy8, bzz1,
766 s bzz2, bzz3, bzz4, bzz5,
767 t bzz6, bzz7, bzz8, ajp4(1,ip),
768 u ajp5(1,ip), ajp6(1,ip), ajp7(1,ip), ajp8(1,ip),
769 v ajp9(1,ip), aj1, aj2, aj3,
770 w aj4, aj5, aj6, smax,
771 x deltax, icp, ideg, nu,
775 1 offg, off, volp(1,ip), ngl,
776 2 a_gauss(it,nptt),a_gauss(ir,nptr),a_gauss(is,npts),wi,
777 3 xd1, xd2, xd3, xd4,
778 4 xd5, xd6, xd7, xd8,
779 5 yd1, yd2, yd3, yd4,
780 6 yd5, yd6, yd7, yd8,
781 7 zd1, zd2, zd3, zd4,
782 8 zd5, zd6, zd7, zd8,
783 9 a11, a12, a13, a21,
784 a a22, a23, a31, a32,
785 b a33, dn_r, dn_s, dn_t,
786 c invj, dn_x, dn_y, dn_z,
789 1 ulx1, ulx2, ulx3, ulx4,
790 2 ulx5, ulx6, ulx7, ulx8,
791 3 uly1, uly2, uly3, uly4,
792 4 uly5, uly6, uly7, uly8,
793 5 ulz1, ulz2, ulz3, ulz4,
794 6 ulz5, ulz6, ulz7, ulz8,
795 7 xd1, xd2, xd3, xd4,
796 8 xd5, xd6, xd7, xd8,
797 9 yd1, yd2, yd3, yd4,
798 a yd5, yd6, yd7, yd8,
799 b zd1, zd2, zd3, zd4,
800 c zd5, zd6, zd7, zd8,
801 d invj, a_gauss(it,nptt),a_gauss(ir,nptr),a_gauss(is,npts),
802 e a11, a12, a13, a21,
803 f a22, a23, a31, a32,
804 g a33, dn_r, dn_s, dn_t,
806 i dyx, dyy, dyz, dzx,
809 l lbuf%VOL, off, lbuf%EINT, gbuf%OFF,
810 m dsv, icp, fac, sdv,
811 n iselect, ideg, nel, ismstr)
814 rhoo(i) = lbuf%RHO(i)
816 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+sdv(1:nel)
818 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
819 2 divde, flux(1,nf1),flu1(nf1), voln,
820 3 dvol, ngl, mxt, off,
821 4 0, gbuf%TAG22, volp(1,ip), lbuf%VOL0DP,
822 5 amu, gbuf%OFF, nel, mtn,
823 6 jale, ismstr, jeul, jlag)
828 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
837 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
840 CALL mmain(timers,output,
841 1 elbuf_tab, ng, pm, geo,
842 2 ale_connect, ixs, iparg,
843 3 v, tf, npf, bufmat,
844 4 sti, x, dt2t, neltst,
845 5 ityptst, offset, nel, w,
846 6 off, ngeo, mxt, ngl,
847 7 voln, vd2, dvol, deltax,
848 8 vis, qvis, cxx, s1,
852 c wyy, wzz, aj1, aj2,
853 d aj3, aj4, aj5, aj6,
854 e vdx, vdy, vdz, muvoid,
855 f ssp_eq, aire, sigy, et,
856 g r1_free, lbuf%PLA, r3_free, amu,
857 h mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip),
858 i mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
859 j mfzz(1,ip), ipm, gama, bid,
860 k bid, bid, bid, bid,
861 l bid, bid, istrain, tempel,
862 m die, iexpan, ilay, mssa,
864 o table, bid, bid, bid,
865 p bid, iparg(1,ng), igeo, conde,
866 q itask, nloc_dmg, var_reg(1,ip),mat_elem,
867 r h3d_strain, jplasol, jsph, sz_r1_free,
868 s snpc, stf, sbufmat, glob_therm,
869 * svis, sz_ix, iresp,
870 t n2d, th_strain, ngroup, tt,
871 . dt1, ntable, numelq, nummat,
872 . numgeo, numnod, numels,
873 . idel7nok, idtmin, maxfunc,
874 . imon_mat, userl_avail, impl_s,
875 . idyna, dt, bid ,sensors)
877 IF (istrain == 1)
THEN
880 2 d5, d6, lbuf%STRA,wxx,
881 3 wyy, wzz, off, nel,
884 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
889 1 lbuf%SIG, f11, f21, f31,
890 2 f12, f22, f32, f13,
891 3 f23, f33, f14, f24,
892 4 f34, f15, f25, f35,
893 5 f16, f26, f36, f17,
894 6 f27, f37, f18, f28,
895 7 f38, dn_x, dn_y, dn_z,
896 8 bb, voln, qvis, icp,
897 9 jfac(1,ip),nel, iselect, ideg,
900 1 lbuf%SIG, voln, qvis, pp,
901 2 lbuf%EINT, lbuf%RHO, lbuf%QVIS, lbuf%PLA,
902 3 lbuf%EPSD, gbuf%EPSD, gbuf%SIG, gbuf%EINT,
903 4 gbuf%RHO, gbuf%QVIS, gbuf%PLA, volg,
904 5 sti, stin, icp, off,
905 6 lbuf%VOL, gbuf%VOL, gbuf%G_PLA, gbuf%G_EPSD,
906 7 lbuf%EINTTH,gbuf%EINTTH,iexpan,
907 8 conde, conden,svis,glob_therm%NODADT_THERM,
908 9 gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA)
914 zr = a_gauss(ir,nptr)
915 zs = a_gauss(is,npts)
916 zt = a_gauss(it,nptt)
917 CALL basis8 (zr,zs,zt,h,pr2,ps2,pt2)
919 1 nloc_dmg, var_reg(1,ip),nel, gbuf%OFF,
920 2 voln, nc1, nc2, nc3,
921 3 nc4, nc5, nc6, nc7,
922 4 nc8, px1, px2, px3,
923 5 px4, px5, px6, px7,
924 6 px8, py1, py2, py3,
925 7 py4, py5, py6, py7,
926 8 py8, pz1, pz2, pz3,
927 9 pz4, pz5, pz6, pz7,
929 b ip, itask, dt2t, gbuf%VOL,
933 offg(i)=
min(offg(i),off(i))
934 IF (lbuf%OFF(i)>one .AND. gbuf%OFF(i) == one)
THEN
935 offs(i)=
min(lbuf%OFF(i),offs(i))
950 IF (offs(i)<=two) gbuf%OFF(i)=offs(i)
956 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
957 ip = ir + ( (is-1) + (it-1)*npts )*nptr
959 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
965 IF(icp==1.AND.ismstr/=10.AND.ismstr/=12)
THEN
967 1 pxc1, pxc2, pxc3, pxc4,
968 2 pyc1, pyc2, pyc3, pyc4,
969 3 pzc1, pzc2, pzc3, pzc4,
970 4 f11, f21, f31, f12,
971 5 f22, f32, f13, f23,
972 6 f33, f14, f24, f34,
973 7 f15, f25, f35, f16,
974 8 f26, f36, f17, f27,
975 9 f37, f18, f28, f38,
976 a volg, pp, ideg, nel)
982 1 gbuf%OFF,offg, nel, ismstr)
983 IF (ismstr==11.OR.(jcvt == 0 .AND. ismstr>0))
THEN
985 1 pxc1, pxc2, pxc3, pxc4,
986 2 pyc1, pyc2, pyc3, pyc4,
987 3 pzc1, pzc2, pzc3, pzc4,
988 4 vx1, vx2, vx3, vx4,
990 6 vy1, vy2, vy3, vy4,
991 7 vy5, vy6, vy7, vy8,
992 8 vz1, vz2, vz3, vz4,
994 a wxx0, wyy0, wzz0, nel)
996 1 gbuf%SMSTR,offg, wxx0, wyy0,
997 2 wzz0, r11, r12, r13,
998 3 r21, r22, r23, r31,
999 4 r32, r33, nel, ismstr,
1002 IF (inconv==1.AND.tt>zero )
THEN
1004 1 gbuf%OFF, gbuf%COR_XR,x1, x2,
1010 7 z7, z8, gbuf%COR_FR,nel)
1016 iflag=mod(ncycle,ncpri)
1020 CALL sbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1021 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1022 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1023 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1024 . volg,iparts,gresav,grth,igrth,gbuf%OFF,
1025 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1026 . x1, x2, x3, x4, x5, x6, x7, x8,
1027 . y1, y2, y3, y4, y5, y6, y7, y8,
1028 . z1, z2, z3, z4, z5, z6, z7, z8,
1029 . itask,iparg(1,ng),sensors,gbuf%G_WPLA,gbuf%WPLA)
1031 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1032 . vgxa, vgya, vgza, vga2, volg,iparts,
1033 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1034 . gbuf%FILL, xgxa, xgya, xgza,
1035 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1036 . nel,gbuf%G_WPLA,gbuf%WPLA)
1043 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
1044 . f15,f25,f35,f16,f26,f36,f17,f27,f37,f18,f28,f38,
1048 1 gbuf%FILL,stin, f11, f21,
1049 2 f31, f12, f22, f32,
1050 3 f13, f23, f33, f14,
1051 4 f24, f34, f15, f25,
1052 5 f35, f16, f26, f36,
1053 6 f17, f27, f37, f18,
1058 1 gbuf%OFF,a, nc1, nc2,
1059 2 nc3, nc4, nc5, nc6,
1060 3 nc7, nc8, stifn, stin,
1061 4 f11, f21, f31, f12,
1062 5 f22, f32, f13, f23,
1063 6 f33, f14, f24, f34,
1064 7 f15, f25, f35, f16,
1065 8 f26, f36, f17, f27,
1066 9 f37, f18, f28, f38,
1067 a nvc, bid, bid, bid,
1068 b bid, bid, bid, bid,
1069 c bid, bid, bid, bid,
1070 d bid, bid, bid, bid,
1071 e bid, bid, bid, bid,
1072 f bid, bid, bid, bid,
1073 g bid, bid, bid, bid,
1074 h them, fthe, condn, conden,
1075 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1078 1 gbuf%OFF,stin, fsky, fsky,
1079 2 iads, f11, f21, f31,
1080 3 f12, f22, f32, f13,
1081 4 f23, f33, f14, f24,
1082 5 f34, f15, f25, f35,
1083 6 f16, f26, f36, f17,
1084 7 f27, f37, f18, f28,
1085 8 f38, nc1, nc2, nc3,
1086 9 nc4, nc5, nc6, nc7,
1087 a nc8, bid, bid, bid,
1088 b bid, bid, bid, bid,
1089 c bid, bid, bid, bid,
1090 d bid, bid, bid, bid,
1091 e bid, bid, bid, bid,
1092 f bid, bid, bid, bid,
1093 g bid, bid, bid, bid,
1094 h them, fthesky, condnsky,conden,
1095 i nel, nft, jthe, isrot,
1096 j ipartsph,glob_therm%NODADT_THERM)
1099 IF (
ALLOCATED(var_reg))
DEALLOCATE(var_reg)