86 SUBROUTINE s8cforc3(TIMERS, OUTPUT, ELBUF_TAB,NG ,
89 3 FLU1 ,VEUL ,FV ,ALE_CONNECT ,IPARG ,
90 4 TF ,NPF ,BUFMAT ,PARTSAV,NLOC_DMG,
91 5 DT2T ,NELTST ,ITYPTST,STIFN ,FSKY ,
92 6 IADS ,OFFSET ,EANI ,IPARTS ,
93 7 F11 ,F21 ,F31 ,F12 ,F22 ,
94 8 F32 ,F13 ,F23 ,F33 ,F14 ,
95 9 F24 ,F34 ,F15 ,F25 ,F35 ,
96 A F16 ,F26 ,F36 ,F17 ,F27 ,
97 B F37 ,F18 ,F28 ,F38 ,NEL ,
99 F ICSIG ,SMR ,SMS ,SMT ,MFXX ,
100 G MFXY ,MFXZ ,MFYX ,MFYY ,MFYZ ,
101 H MFZX ,MFZY ,MFZZ ,NVC ,IPM ,
102 I ITASK ,ISTRAIN,TEMP ,FTHE ,
103 J FTHESKY ,IEXPAN ,IGEO ,NNPT ,GRESAV ,
104 K GRTH ,IGRTH ,MSSA ,DMELS ,TABLE ,
105 L XDP ,VOLN ,CONDN ,CONDNSKY,SENSORS,
106 M IOUTPRT ,MAT_ELEM,H3D_STRAIN,DT ,NODADT ,
107 N DTFAC1 ,DTMIN1, IDTMIN,SNPC,STF,SBUFMAT,SVIS,
108 O NSVOIS ,IDTMINS,IRESP,MAXFUNC,USERL_AVAIL,
109 V GLOB_THERM,impl_s,idyna)
114 USE output_mod,
only : output_
123 USE sdistor_ini_mod,
ONLY : sdistor_ini
128#include "implicit_f.inc"
132#include "mvsiz_p.inc"
136#include "vect01_c.inc"
137#include "com01_c.inc"
138#include "com04_c.inc"
139#include "com08_c.inc"
140#include "scr17_c.inc"
141#include "parit_c.inc"
142#include "param_c.inc"
143#include "timeri_c.inc"
147 TYPE(timer_),
INTENT(inout) :: TIMERS
148 TYPE(OUTPUT_),
INTENT(inout) :: OUTPUT
149 INTEGER,
INTENT(IN) :: SNPC
150 INTEGER,
INTENT(IN) :: STF
151 INTEGER,
INTENT(IN) :: SBUFMAT
152 INTEGER,
INTENT(IN) :: NSVOIS
153 INTEGER,
INTENT(IN) :: IDTMINS
154 INTEGER ,
INTENT(IN) :: IRESP
155 INTEGER ,
INTENT(IN) :: MAXFUNC
156 INTEGER,
INTENT(IN) :: IMPL_S
157 INTEGER,
INTENT(IN) :: IDYNA
158 INTEGER,
INTENT(IN) :: USERL_AVAIL
159 INTEGER IXS(NIXS,*), IPARG(NPARG,NGROUP),NPF(*),
160 . IPARTS(*), IPM(NPROPMI,*),IGEO(NPROPGI,*),GRTH(*),
161 . IGRTH(*),IADS(8,*),IOUTPRT,H3D_STRAIN
162 INTEGER,
INTENT(IN) :: NODADT,IDTMIN(102)
163 my_real,
INTENT(IN) :: DTFAC1(102),DTMIN1(102)
165 INTEGER NELTST,ITYPTST,OFFSET,NEL,ICP,
166 . ICSIG, NVC,ITASK, ISTRAIN, IEXPAN ,NNPT,NG
175 . pm(npropm,*),geo(npropg,*),x(*),a(*),v(3,*),ms(*),w(*),
176 . flux(6,*),flu1(*),veul(*),fv(*),tf(*),bufmat(*),
177 . partsav(*),stifn(*), fsky(*),eani(*),
178 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
179 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
180 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
181 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
182 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
183 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
184 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
185 . f18(mvsiz),f28(mvsiz),f38(mvsiz)
187 . smr(mvsiz,729),sms(mvsiz,729),smt(mvsiz,729),
188 . mfxx(mvsiz,729),mfxy(mvsiz,729),mfyx(mvsiz,729),
189 . mfyy(mvsiz,729),mfyz(mvsiz,729),mfzy(mvsiz,729),
190 . mfzz(mvsiz,729),mfzx(mvsiz,729),mfxz(mvsiz,729),
191 . temp(*), fthe(*), fthesky(*),gresav(*), mssa(*),
192 . dmels(*), voln(mvsiz),condn(*),condnsky(*)
193 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
195 TYPE (ELBUF_STRUCT_)
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
196 TYPE (NLOCAL_STR_) ,
TARGET :: NLOC_DMG
198 TYPE (MAT_ELEM_) ,
INTENT(INOUT) :: MAT_ELEM
199 TYPE (SENSORS_) ,
INTENT(INOUT) :: SENSORS
200 TYPE(DT_),
INTENT(INOUT) :: DT
201 type (glob_therm_) ,
intent(inout) :: glob_therm
205 INTEGER I,J,N,LCO,NF1,IFLAG,IAD0,NLAY,L_PLA,L_EPSD,
206 . IP,IR,IS,IT,IL,NPTR,NPTS,NPTT,ICR,ICS,ICT,PID,MTN0,IPTHK,
207 . IPPOS,IPMAT,NLYMAX,MID,IPANG,IOR_TSH,NPTR0,NPTS0,NPTT0,,MX,
209 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),MXT0(MVSIZ),IBIDON(1),
213 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),
214 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(),
215 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
216 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
217 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
218 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
219 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz),voldp(mvsiz)
222 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
223 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
224 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
225 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
226 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
227 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
228 . ajc1(mvsiz) , ajc2(mvsiz) , ajc3(mvsiz) ,
229 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
230 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
231 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
232 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz) ,
233 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
234 . e0(mvsiz),c1,fac(mvsiz),them(mvsiz,8),tempel(mvsiz),ni(8),
235 . die(mvsiz),conde(mvsiz),conden(mvsiz),amu(mvsiz)
239 . sti(mvsiz),stin(mvsiz),gama(mvsiz,6),
240 . wxx(mvsiz) , wyy(mvsiz)
244 INTEGER IOFFS,IFVM22,NN_DEL,IPRES,ISCTL,ISTAB(MVSIZ)
246 . OFFS(MVSIZ),DSV(MVSIZ)
249 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
250 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
252 . OFF() ,OFFL(MVSIZ) , RHOO(),
253 . X1(MVSIZ), X2(MVSIZ), X3(MVSIZ), X4(MVSIZ),
254 . X5(MVSIZ), X6(MVSIZ), X7(MVSIZ), X8(MVSIZ),
255 . Y1(MVSIZ), Y2(MVSIZ), Y3(MVSIZ), Y4(MVSIZ),
256 . Y5(MVSIZ), Y6(MVSIZ), Y7(MVSIZ), Y8(MVSIZ),
257 . Z1(MVSIZ), Z2(MVSIZ), Z3(MVSIZ), Z4(MVSIZ),
258 . Z5(MVSIZ), Z6(MVSIZ), Z7(MVSIZ), Z8(MVSIZ),
259 . VX1(MVSIZ),VX2(MVSIZ),VX3(MVSIZ),VX4(MVSIZ),
260 . VX5(MVSIZ),VX6(MVSIZ),VX7(),VX8(MVSIZ),
261 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
262 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
263 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
264 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
265 . hx1(mvsiz),hx2(mvsiz),hx3(mvsiz),hx4(mvsiz),
266 . hy1(mvsiz),hy2(mvsiz),hy3(mvsiz),hy4(mvsiz),
267 . hz1(mvsiz),hz2(mvsiz),hz3(mvsiz),hz4(mvsiz),
268 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
269 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
270 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
271 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
272 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
273 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
274 . pxy1(mvsiz),pxy2(mvsiz),pxy3(mvsiz),pxy4(mvsiz),
275 . pxy5(mvsiz),pxy6(mvsiz),pxy7(mvsiz),pxy8(mvsiz),
276 . pyx1(mvsiz),pyx2(mvsiz),pyx3(mvsiz),pyx4(mvsiz),
277 . pyx5(mvsiz),pyx6(mvsiz),pyx7(mvsiz),pyx8(mvsiz),
278 . pxz1(mvsiz),pxz2(mvsiz),pxz3(mvsiz),pxz4(mvsiz),
279 . pxz5(mvsiz),pxz6(mvsiz),pxz7(mvsiz),pxz8(mvsiz),
280 . pzx1(mvsiz),pzx2(mvsiz),pzx3(mvsiz),pzx4(mvsiz),
281 . pzx5(mvsiz),pzx6(mvsiz),pzx7(mvsiz),pzx8(mvsiz),
282 . pyz1(mvsiz),pyz2(mvsiz),pyz3(mvsiz),pyz4(mvsiz),
283 . pyz5(mvsiz),pyz6(mvsiz),pyz7(mvsiz),pyz8(mvsiz),
284 . pzy1(mvsiz),pzy2(mvsiz),pzy3(mvsiz),pzy4(mvsiz),
285 . pzy5(mvsiz),pzy6(mvsiz),pzy7(mvsiz),pzy8(mvsiz),
286 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
287 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
288 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
289 . bxy1(mvsiz),bxy2(mvsiz),bxy3(mvsiz),bxy4(mvsiz),
290 . bxy5(mvsiz),bxy6(mvsiz),bxy7(mvsiz),bxy8(mvsiz),
291 . byx1(mvsiz),byx2(mvsiz),byx3(mvsiz),byx4(mvsiz),
292 . byx5(mvsiz),byx6(mvsiz),byx7(mvsiz),byx8(mvsiz),
293 . bxz1(mvsiz),bxz2(mvsiz),bxz3(mvsiz),bxz4(mvsiz),
294 . bxz5(mvsiz),bxz6(mvsiz),bxz7(mvsiz),bxz8(mvsiz),
295 . bzx1(mvsiz),bzx2(mvsiz),bzx3(mvsiz),bzx4(mvsiz),
296 . bzx5(mvsiz),bzx6(mvsiz),bzx7(mvsiz),bzx8(mvsiz),
297 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
298 . byz5(mvsiz),byz6(mvsiz),byz7(mvsiz),byz8(mvsiz),
299 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
300 . bzy5(mvsiz),bzy6(mvsiz),bzy7(mvsiz),bzy8(mvsiz),
301 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
302 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
303 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
304 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
305 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
306 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
307 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
308 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
309 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
310 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
311 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
312 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),
313 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
314 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
315 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
317 . dxy(mvsiz),dyx(mvsiz),
318 . dyz(mvsiz),dzy(mvsiz),
319 . dzx(mvsiz),dxz(mvsiz),divde(mvsiz)
321 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
322 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
323 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
324 . g1x(mvsiz),g2x(mvsiz),g3x(mvsiz),
325 . g1y(mvsiz),g2y(mvsiz),g3y(mvsiz),
326 . g1z(mvsiz),g2z(mvsiz),g3z(mvsiz)
328 . wi,smax(mvsiz),volg(mvsiz),nu(mvsiz),pp(mvsiz),usb(mvsiz),
329 . volm(mvsiz),sigm(mvsiz),dti,bid(mvsiz)
331 . sigy(mvsiz), sign(nel,6),et(mvsiz), nu1(mvsiz),
332 . r1_free(mvsiz),r3_free(mvsiz),r4_free(mvsiz)
334 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8),
335 . alpha_e(mvsiz),llsh(mvsiz),llsmin(mvsiz),
area(mvsiz)
339 . shf(mvsiz),zr,zs,zt,wt,zz,
340 . rx(mvsiz), ry(mvsiz), rz(mvsiz),
341 . sx(mvsiz), sy(mvsiz), sz(mvsiz),
342 . tx(mvsiz), ty(mvsiz), tz(mvsiz)
343 my_real,
DIMENSION(MVSIZ,NNPT) :: smtt
345 .
DIMENSION(:),
POINTER :: eint
346 my_real,
dimension(mvsiz) :: fheat
349 .
DIMENSION(:,:),
ALLOCATABLE ::
350 . var_reg,pxx1,pxx2,pxx3,pxx4,pxx5,pxx6,pxx7,pxx8,
351 . pyy1,pyy2,pyy3,pyy4,pyy5,pyy6,pyy7,pyy8,
352 . pzz1,pzz2,pzz3,pzz4,pzz5,pzz6,pzz7,pzz8
353 INTEGER :: INLOC, L_NLOC, INOD(8), IPOS(8)
355 .
DIMENSION(:),
POINTER :: DNL
357 . h(8),pr(8),ps(8),pt(8)
359 . ev(mvsiz),evd(mvsiz)
360 TYPE(g_bufel_) ,
POINTER :: GBUF
361 TYPE(l_bufel_) ,
POINTER :: LBUF
363 my_real :: STI_C(MVSIZ),LL(MVSIZ),FLD(MVSIZ),
366 parameter(nlymax = 200,ipmat = 100,ipang = 200)
369 . w_gauss(9,9),a_gauss(9,9)
377 3 0.555555555555556,0.888888888888889,0.55
380 4 0.347854845137454,0.652145154862546,0.652145154862546,
381 4 0.347854845137454,0. ,0. ,
383 5 0.236926885056189,0.478628670499366,0.568888888888889,
384 5 0.478628670499366,0.236926885056189,0. ,
386 6 0.171324492379170,0.360761573048139,0.467913934572691,
387 6 0.467913934572691,0.360761573048139,0.171324492379170,
389 7 0.129484966168870,0.279705391489277,0.381830050505119,
390 7 0.417959183673469,0.381830050505119,0.279705391489277,
391 7 0.129484966168870,0. ,0. ,
392 8 0.101228536290376,0.222381034453374,0.313706645877887,
393 8 0.362683783378362,0.362683783378362,0.313706645877887,
394 8 0.222381034453374,0.101228536290376,0. ,
395 9 0.081274388361574,0.180648160694857,0.260610696402935,
396 9 0.312347077040003,0.330239355001260,0.312347077040003,
397 9 0.260610696402935,0.180648160694857,0.081274388361574/
402 2 -.577350269189626,0.577350269189626,0. ,
405 3 -.774596669241483,0. ,0.774596669241483,
408 4 -.861136311594053,-.339981043584856,0.339981043584856,
409 4 0.861136311594053,0. ,0. ,
411 5 -.906179845938664,-.538469310105683,0. ,
412 5 0.538469310105683,0.906179845938664,0. ,
414 6 -.932469514203152,-.66120938646
415 6 0.238619186083197,0.661209386466265,0.932469514203152,
417 7 -.949107912342759,-.741531185599394,-.405845151377397,
418 7 0. ,0.405845151377397,0.741531185599394,
419 7 0.949107912342759,0. ,0. ,
420 8 -.960289856497536,-.796666477413627,-.525532409916329,
421 8 -.183434642495650,0.183434642495650,0.525532409916329,
422 8 0.796666477413627,0.9602898564975
423 9 -.968160239507626,-.836031107326636,-.613371432700590,
424 9 -.324253423403809,0. ,0.324253423403809,
425 9 0.613371432700590,0.836031107326636,0.968160239507626/
428 INTEGER IBOLTP,NBPRELD
431 .
DIMENSION(:),
POINTER :: BPRELD
435 SZ_IX=numelq+numels+nsvois
437 gbuf => elbuf_tab(ng)%GBUF
445 iboltp = iparg(72,ng)
446 nbpreld = gbuf%G_BPRELD
447 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
452 IF (jcvt==1 .AND. isorth==1) jcvt=2
454 IF (igtyp /= 22)
THEN
455 IF (isorth > 0) iad0 = 1 + 6*nel
459 IF (igtyp == 21.OR.igtyp == 22) ior_tsh = 1
464 IF (ior_tsh > 0)
THEN
466 1 8, x, ixs(1,nf1),rx,
476 CALL scoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
477 2 x1, x2, x3, x4, x5, x6, x7, x8,
478 3 y1, y2, y3, y4, y5, y6, y7, y8,
479 4 z1, z2, z3, z4, z5, z6, z7, z8,
480 5 vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
481 6 vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
482 7 vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
483 8 vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
484 9 vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
485 a vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
486 b vdx,vdy,vdz,vd2,vis,gbuf%OFF,offl,gbuf%SMSTR,
487 c gbuf%RHO,rhoo,nc1,nc2,nc3,nc4,nc5,nc6,
488 c nc7,nc8,ngl,mxt,ngeo,
489 e bid,bid,bid,bid,bid,bid,
490 f xd1, xd2 , xd3, xd4, xd5, xd6, xd7, xd8,
491 g yd1, yd2 , yd3, yd4, yd5, yd6, yd7, yd8,
492 h zd1, zd2 , zd3, zd4, zd5, zd6, zd7, zd8,
493 i xdp, iparg, ng , nel)
496 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
497 . x1, x2, x3, x4, x5, x6, x7, x8,
498 . y1, y2, y3, y4, y5, y6, y7, y8,
499 . z1, z2, z3, z4, z5, z6, z7, z8,
500 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
501 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
502 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
503 . vd2,vis,gbuf%OFF,offl,gbuf%SMSTR,gbuf%RHO,rhoo,
504 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
505 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
506 . ngl,mxt,ngeo,ioutprt, vgxa, vgya, vgza, vga2,
507 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
508 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
509 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
510 . xdp, x0 , y0 , z0 , nel, xgxa, xgya, xgza,
511 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
516 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
518 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
521 IF (jcvt == 2 .AND. ior_tsh == 0)
THEN
523 1 lft, llt, nel, g1x,
524 2 g1y, g1z, g2x, g2y,
525 3 g2z, g3x, g3y, g3z,
530 ipres = mat_elem%MAT_PARAM(mx)%IPRES
532 nu(i)=
min(half,pm(21,mxt(i)))
535 e0(i) =three*(one-two*nu(i))*c1
545 nlay=elbuf_tab(ng)%NLAY
546 nptr=elbuf_tab(ng)%NPTR
547 npts=elbuf_tab(ng)%NPTS
548 nptt=elbuf_tab(ng)%NPTT
551 ALLOCATE(var_reg(nel,nptr*npts*nlay))
552 IF (inloc > 0)
ALLOCATE(
553 . pxx1(nel,nptr*npts*nlay),pxx2(nel,nptr*npts*nlay),pxx3(nel,nptr*npts*nlay),
554 . pxx4(nel,nptr*npts*nlay),pxx5(nel,nptr*npts*nlay),pxx6(nel,nptr*npts*nlay),
555 . pxx7(nel,nptr*npts*nlay),pxx8(nel,nptr*npts*nlay),pyy1(nel,nptr*npts*nlay),
556 . pyy2(nel,nptr*npts*nlay),pyy3(nel,nptr*npts*nlay),pyy4(nel,nptr*npts*nlay),
557 . pyy5(nel,nptr*npts*nlay),pyy6(nel,nptr*npts*nlay),pyy7(nel,nptr*npts*nlay),
558 . pyy8(nel,nptr*npts*nlay),pzz1(nel,nptr*npts*nlay),pzz2(nel,nptr*npts*nlay
559 . pzz3(nel,nptr*npts*nlay),pzz4(nel,nptr*npts*nlay),pzz5(nel,nptr*npts*nlay),
560 . pzz6(nel,nptr*npts*nlay),pzz7(nel,nptr*npts*nlay),pzz8
563 1 offl, volg, ngl, xd1,
564 2 xd2, xd3, xd4, xd5,
565 3 xd6, xd7, xd8, yd1,
566 4 yd2, yd3, yd4, yd5,
567 5 yd6, yd7, yd8, zd1,
568 6 zd2, zd3, zd4, zd5,
569 7 zd6, zd7, zd8, pxc1,
570 8 pxc2, pxc3, pxc4, pyc1,
571 9 pyc2, pyc3, pyc4, pzc1,
572 a pzc2, pzc3, pzc4, px1h1,
573 b px1h2, px1h3, px1h4, px2h1,
575 d px3h2, px3h3, px3h4, px4h1,
576 e px4h2, px4h3, px4h4, hx,
577 f hy, hz, ajc1, ajc2,
578 g ajc3, ajc4, ajc5, ajc6,
579 h ajc7, ajc8, ajc9, smax,
580 i gbuf%SMSTR,gbuf%OFF, nel, ismstr,
584 1 volg, deltax, x1, x2,
590 7 z7, z8, ixs(1,nf1),ideg,
593 IF (ntsheg > 0 .AND. isctl == 0)
THEN
595 . x1, x2, x3, x4, x5, x6, x7, x8,
596 . y1, y2, y3, y4, y5, y6, y7, y8,
597 . z1, z2, z3, z4, z5, z6, z7, z8,icsig,nel)
598 llsmin(lft:llt) = deltax(lft:llt)
604 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0))
THEN
606 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
607 2 xd3, xd4, xd5, xd6,
608 3 xd7, xd8, yd1, yd2,
609 4 yd3, yd4, yd5, yd6,
610 5 yd7, yd8, zd1, zd2,
611 6 zd3, zd4, zd5, zd6,
616 CALL s8csigp3(gbuf%SIG,e0 ,gbuf%PLA,fac,gbuf%G_PLA,nel)
618 nu1(i)=nu(i)+(half-nu(i))*fac(i)
626 IF (icp >0 .AND. idts6==0)
CALL degenes8(
627 1 ixs(1,nf1),ideg, nel)
635 4 f15, f25, f35, f16,
636 5 f26, f36, f17, f27,
638 7 gbuf%SIG, gbuf%EINT, gbuf%RHO, gbuf%QVIS,
639 8 gbuf%PLA, gbuf%EPSD, stin, pp,
640 9 gbuf%G_PLA, gbuf%G_EPSD,iexpan, gbuf%EINTTH
647 IF(gbuf%OFF(i) == zero) cycle
648 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
649 . + temp(nc3(i)) + temp(nc4(i
650 . + temp(nc5(i)) + temp(nc6(i))
651 . + temp(nc7(i)) + temp(nc8(i)))
652 gbuf%TEMP(i) = tempel
666 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
668 sigm(i) = sigm(i)+lbuf%SIG(ii(3)+i)*lbuf%VOL(i)
669 volm(i) = volm(i)+lbuf%VOL(i)
673 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
674 ip = ir + ( (is-1) + (il-1)*npts )*nptr
676 smtt(i,ip)=(lbuf%SIG(ii(3)+i)-sigm(i)/volm(i))*usb(i)
683 IF (igtyp == 21)
THEN
685 1 lft, llt, icsig, nel,
690 6 r23, r33, g1x, g1y,
691 7 g1z, g2x, g2y, g2z,
692 8 g3x, g3y, g3z, gbuf%GAMA,
695 ELSEIF (igtyp == 22)
THEN
701 shf(i)=geo(38,ngeo(i))
705 IF ((ict+icr+ics) >= 1)
THEN
706 IF (dt1 == zero)
THEN
719 IF(jthe < 0) them(lft:llt,1:8) = zero
726 ip = ir + ( (is-1) + (il-1)*npts )*nptr
727 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
731 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
737 IF (igtyp == 22)
THEN
738 wt = geo(ipthk+il,pid)
739 zz = geo(ippos+il,pid)
740 mid=igeo(ipmat+il,pid)
746 zz = a_gauss(il,nlay)
747 wt = w_gauss(il,nlay)
750 zr = a_gauss(ir,nptr)
751 zs = a_gauss(is,npts)
753 ELSEIF (ics == 1)
THEN
754 zr = a_gauss(ir,nptr)
756 zt = a_gauss(is,npts)
757 ELSEIF (icr == 1)
THEN
759 zs = a_gauss(ir,nptr)
762 wi = w_gauss(ir,nptr)*w_gauss
768 l_nloc = nloc_dmg%L_NLOC
769 dnl => nloc_dmg%DNL(1:l_nloc)
770 CALL basis8 (zr,zs,zt,h,pr
772 inod(1) = nloc_dmg%IDXI(nc1(i))
773 inod(2) = nloc_dmg%IDXI(nc2(i))
774 inod(3) = nloc_dmg%IDXI(nc3(i))
775 inod(4) = nloc_dmg%IDXI(nc4(i))
776 inod(5) = nloc_dmg%IDXI
777 inod(6) = nloc_dmg%IDXI(nc6(i
778 inod(7) = nloc_dmg%IDXI(nc7(i
779 inod(8) = nloc_dmg%IDXI(nc8(i))
781 ipos(j) = nloc_dmg%POSI(inod(j))+il-1
783 var_reg(i,ip) = h(1)*dnl(ipos(1)) + h(2)*dnl(ipos(2)) + h(3)*dnl(ipos(3))
784 . + h(4)*dnl(ipos(4)) + h(5)*dnl(ipos(5)) + h(6)*dnl(ipos(6))
785 . + h(7)*dnl(ipos(7)) + h(8)*dnl(ipos(8))
790 1 offl, off, voln, ngl,
792 3 pxc1, pxc2, pxc3, pxc4,
793 4 pyc1, pyc2, pyc3, pyc4,
794 5 pzc1, pzc2, pzc3, pzc4,
795 6 px1h1, px1h2, px1h3, px1h4,
796 7 px2h1, px2h2, px2h3, px2h4,
797 8 px3h1, px3h2, px3h3, px3h4,
798 9 px4h1, px4h2, px4h3, px4h4,
800 b px2, px3, px4, px5,
801 c px6, px7, px8, py1,
802 d py2, py3, py4, py5,
803 e py6, py7, py8, pz1,
804 f pz2, pz3, pz4, pz5,
805 g pz6, pz7, pz8, pxy1,
806 h pxy2, pxy3, pxy4, pxy5,
807 i pxy6, pxy7, pxy8, pyx1,
808 j pyx2, pyx3, pyx4, pyx5,
809 k pyx6, pyx7, pyx8, pxz1,
810 l pxz2, pxz3, pxz4, pxz5,
811 m pxz6, pxz7, pxz8, pzx1,
812 n pzx2, pzx3, pzx4, pzx5,
813 o pzx6, pzx7, pzx8, pyz1,
814 p pyz2, pyz3, pyz4, pyz5,
815 q pyz6, pyz7, pyz8, pzy1,
817 s pzy6, pzy7, pzy8, bxy1,
818 t bxy2, bxy3, bxy4, bxy5,
819 u bxy6, bxy7, bxy8, byx1,
820 v byx2, byx3, byx4, byx5,
821 w byx6, byx7, byx8, bxz1,
822 x bxz2, bxz3, bxz4, bxz5,
823 y bxz6, bxz7, bxz8, bzx1,
824 z bzx2, bzx3, bzx4, bzx5,
825 1 bzx6, bzx7, bzx8, byz1,
826 2 byz2, byz3, byz4, byz5,
827 3 byz6, byz7, byz8, bzy1,
828 4 bzy2, bzy3, bzy4, bzy5,
829 5 bzy6, bzy7, bzy8, ajc1,
830 6 ajc2, ajc3, ajc4, ajc5,
831 7 ajc6, ajc7, ajc8, ajc9,
832 8 aj1, aj2, aj3, aj4,
833 9 aj5, aj6, smax, deltax,
834 a nu1, icp, ideg, voldp,
835 b nel, mtn, ismstr, jhbe)
838 smt(lft:llt,ip) = smtt(lft:llt,ip)
839 ELSEIF (ics == 1)
THEN
840 sms(lft:llt,ip) = smtt(lft:llt,ip)
841 ELSEIF (icr == 1)
THEN
842 smr(lft:llt,ip) = smtt(lft:llt,ip)
845 1 pxc1, pxc2, pxc3, pxc4,
846 2 pyc1, pyc2, pyc3, pyc4,
847 3 pzc1, pzc2, pzc3, pzc4,
848 4 px1, px2, px3, px4,
849 5 px5, px6, px7, px8,
850 6 py1, py2, py3, py4,
851 7 py5, py6, py7, py8,
852 8 pz1, pz2, pz3, pz4,
853 9 pz5, pz6, pz7, pz8,
854 a pxy1, pxy2, pxy3, pxy4,
855 b pxy5, pxy6, pxy7, pxy8,
856 c pyx1, pyx2, pyx3, pyx4,
857 d pyx5, pyx6, pyx7, pyx8,
858 e pxz1, pxz2, pxz3, pxz4,
859 f pxz5, pxz6, pxz7, pxz8,
860 g pzx1, pzx2, pzx3, pzx4,
861 h pzx5, pzx6, pzx7, pzx8,
862 i pyz1, pyz2, pyz3, pyz4,
863 j pyz5, pyz6, pyz7, pyz8,
864 k pzy1, pzy2, pzy3, pzy4,
865 l pzy5, pzy6, pzy7, pzy8,
866 m bxy1, bxy2, bxy3, bxy4,
867 n bxy5, bxy6, bxy7, bxy8,
868 o byx1, byx2, byx3, byx4,
869 p byx5, byx6, byx7, byx8,
870 q bxz1, bxz2, bxz3, bxz4,
871 r bxz5, bxz6, bxz7, bxz8,
872 s bzx1, bzx2, bzx3, bzx4,
873 t bzx5, bzx6, bzx7, bzx8,
874 u byz1, byz2, byz3, byz4,
875 v byz5, byz6, byz7, byz8,
876 w bzy1, bzy2, bzy3, bzy4,
877 x bzy5, bzy6, bzy7, bzy8,
879 z vx5, vx6, vx7, vx8,
880 1 vy1, vy2, vy3, vy4,
881 2 vy5, vy6, vy7, vy8,
882 3 vz1, vz2, vz3, vz4,
883 4 vz5, vz6, vz7, vz8,
884 5 dxx, dxy, dxz, dyx,
885 6 dyy, dyz, dzx, dzy,
887 8 wxx, wyy, wzz, lbuf%VOL,
888 9 off, lbuf%EINT, gbuf%OFF, dsv,
889 a icp, icr, ics, ict,
890 b dti, smr(1,ip), sms(1,ip), smt(1,ip),
891 c ngl, ideg, lbuf%VOL0DP,nel,
896 rhoo(i) = lbuf%RHO(i)
897 tempel(i) = pm(79,mx)
901 1 lft, llt, icsig, nel,
905 5 r12, r22, r32, r13,
906 6 r23, r33, g1x, g1y,
907 7 g1z, g2x, g2y, g2z,
908 8 g3x, g3y, g3z, lbuf%GAMA,
911 CALL szordef3(lft,llt,dxx,dyy,dzz,d4,d5,d6,
912 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
914 IF (igtyp == 22)
THEN
920 ELSEIF (icr == 1)
THEN
925 ELSEIF (ict == 1)
THEN
933 IF (ntsheg > 0 .AND. isctl == 0)
THEN
935 IF (gbuf%IDT_TSH(i)<=0) cycle
936 llsmin(i) =
min(llsmin(i),deltax(i))
937 deltax(i) =
max(llsh(i),deltax(i))
940 divde(1:nel) = dt1*(dxx(1:nel)+ dyy
942 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
943 2 divde, flux(1,nf1),flu1(nf1), voln,
944 3 dvol, ngl, mxt, off,
945 4 0, gbuf%TAG22, voldp, lbuf%VOL0DP,
946 5 amu, gbuf%OFF, nel, mtn,
947 6 jale, ismstr, jeul, jlag)
951 1 lbuf%SIG,s1, s2, s3,
953 3 wyy, wzz, nel, mtn,
959 1 gbuf%SMSTR,gbuf%OFF, off, wxx,
960 2 wyy, wzz, nel, ismstr,
967 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
976 2 nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
983 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
985 IF(iboltp /= 0)
CALL boltst(
986 . ip, bpreld, lbuf%SIG,tt ,
987 . nel ,npt ,sensors%NSENSOR,sensors%SENSOR_TAB)
990 CALL mmain(timers, output,
991 1 elbuf_tab, ng, pm, geo,
992 2 ale_connect, ixs, iparg,
993 3 v, tf, npf, bufmat,
994 4 sti, x, dt2t, neltst,
995 5 ityptst, offset, nel, w,
996 6 off, ngeo, mxt, ngl,
997 7 voln, vd2, dvol, deltax,
998 8 vis, qvis, cxx, s1,
1000 a s6, dxx, dyy, dzz,
1002 c wyy, wzz, aj1, aj2,
1003 d aj3, aj4, aj5, aj6,
1004 e vdx, vdy, vdz, muvoid,
1005 f ssp_eq, aire, sigy, et,
1006 g r1_free, lbuf%PLA, r3_free, amu,
1007 h mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip
1008 i mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
1009 j mfzz(1,ip), ipm, gama, bid,
1010 k bid, bid, bid, bid,
1011 l bid, bid, istrain, tempel,
1012 m die, iexpan, current_layer,mssa,
1013 n dmels, ir, is, it,
1014 o table, bid, bid, bid,
1015 p bid, iparg(1,ng), igeo, conde,
1016 q itask, nloc_dmg, var_reg(1,ip),mat_elem,
1017 r h3d_strain, jplasol, jsph, sz_r1_free,
1018 * snpc, stf, sbufmat, glob_therm,
1019 * svis, sz_ix, iresp,
1020 * n2d, th_strain, ngroup, tt,
1021 . dt1, ntable, numelq, nummat,
1022 . numgeo, numnod, numels,
1023 . idel7nok, idtmin, maxfunc,
1024 . imon_mat, userl_avail, impl_s,
1025 . idyna, dt, fheat ,sensors, opt_mtn=mtn, opt_jcvt=jcvt,
1026 * opt_isorth=isorth,opt_isorthg=isorthg)
1028 IF (istrain == 1)
THEN
1030 1 dxx, dyy, dzz, d4,
1031 2 d5, d6, lbuf%STRA,wxx,
1032 3 wyy, wzz, off, nel,
1036 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
1037 l_pla = elbuf_tab(ng)%BUFLY(il)%L_PLA
1038 l_epsd = elbuf_tab(ng)%BUFLY(il)%L_EPSD
1041 CALL sroto3(lft,llt,lbuf%SIG,sign,
1042 . g1x, g2x, g3x, g1y, g2y, g3y, g1z, g2z, g3z,nel)
1044 1 sign, sign, px1, px2,
1045 2 px3, px4, py1, py2,
1046 3 py3, py4, pz1, pz2,
1048 5 px7, px8, py5, py6,
1049 6 py7, py8, pz5, pz6,
1050 7 pz7, pz8, pxy1, pxy2,
1051 8 pxy3, pxy4, pxy5, pxy6,
1053 a pyx3, pyx4, pyx5, pyx6,
1054 b pyx7, pyx8, pxz1, pxz2,
1055 c pxz3, pxz4, pxz5, pxz6,
1056 d pxz7, pxz8, pzx1, pzx2,
1057 e pzx3, pzx4, pzx5, pzx6,
1058 f pzx7, pzx8, pyz1, pyz2,
1059 g pyz3, pyz4, pyz5, pyz6,
1060 h pyz7, pyz8, pzy1, pzy2,
1061 i pzy3, pzy4, pzy5, pzy6,
1062 j pzy7, pzy8, bxy1, bxy2,
1063 k bxy3, bxy4, bxy5, bxy6,
1064 l bxy7, bxy8, byx1, byx2,
1065 m byx3, byx4, byx5, byx6,
1066 n byx7, byx8, bxz1, bxz2,
1067 o bxz3, bxz4, bxz5, bxz6,
1068 p bxz7, bxz8, bzx1, bzx2,
1069 q bzx3, bzx4, bzx5, bzx6,
1070 r bzx7, bzx8, byz1, byz2,
1071 s byz3, byz4, byz5, byz6,
1072 t byz7, byz8, bzy1, bzy2,
1073 u bzy3, bzy4, bzy5, bzy6,
1074 v bzy7, bzy8, f11, f21,
1075 w f31, f12, f22, f32,
1076 x f13, f23, f33, f14,
1077 y f24, f34, f15, f25,
1078 z f35, f16, f26, f36,
1079 1 f17, f27, f37, f18,
1080 2 f28, f38, voln, qvis,
1081 3 pp, lbuf%EINT, lbuf%RHO, lbuf%QVIS,
1082 4 lbuf%PLA, lbuf%EPSD, gbuf%EPSD, gbuf%SIG,
1083 5 gbuf%EINT, gbuf%RHO, gbuf%QVIS, gbuf%PLA,
1084 6 volg, sti, stin, icp,
1085 7 off, lbuf%VOL, gbuf%VOL, gbuf%G_PLA*l_pla,
1086 8 l_epsd, fac, lbuf%EINTTH, gbuf%EINTTH,
1087 9 iexpan, nel, ideg, conde,
1088 a conden, mtn, ismstr, svis ,glob_therm%NODADT_THERM,
1089 b gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
1095 1 lbuf%SIG, lbuf%SIG, px1, px2,
1096 2 px3, px4, py1, py2,
1097 3 py3, py4, pz1, pz2,
1098 4 pz3, pz4, px5, px6,
1099 5 px7, px8, py5, py6,
1101 7 pz7, pz8, pxy1, pxy2,
1102 8 pxy3, pxy4, pxy5, pxy6,
1103 9 pxy7, pxy8, pyx1, pyx2,
1104 a pyx3, pyx4, pyx5, pyx6,
1105 b pyx7, pyx8, pxz1, pxz2,
1106 c pxz3, pxz4, pxz5, pxz6,
1107 d pxz7, pxz8, pzx1, pzx2,
1108 e pzx3, pzx4, pzx5, pzx6,
1109 f pzx7, pzx8, pyz1, pyz2,
1110 g pyz3, pyz4, pyz5, pyz6,
1111 h pyz7, pyz8, pzy1, pzy2,
1112 i pzy3, pzy4, pzy5, pzy6,
1113 j pzy7, pzy8, bxy1, bxy2,
1114 k bxy3, bxy4, bxy5, bxy6,
1115 l bxy7, bxy8, byx1, byx2,
1116 m byx3, byx4, byx5, byx6,
1118 o bxz3, bxz4, bxz5, bxz6,
1119 p bxz7, bxz8, bzx1, bzx2,
1120 q bzx3, bzx4, bzx5, bzx6,
1121 r bzx7, bzx8, byz1, byz2,
1122 s byz3, byz4, byz5, byz6,
1123 t byz7, byz8, bzy1, bzy2,
1124 u bzy3, bzy4, bzy5, bzy6,
1125 v bzy7, bzy8, f11, f21,
1126 w f31, f12, f22, f32,
1127 x f13, f23, f33, f14,
1128 y f24, f34, f15, f25,
1129 z f35, f16, f26, f36,
1130 1 f17, f27, f37, f18,
1131 2 f28, f38, voln, qvis,
1132 3 pp, lbuf%EINT, lbuf%RHO, lbuf%QVIS,
1133 4 lbuf%PLA, lbuf%EPSD, gbuf%EPSD, gbuf%SIG,
1134 5 gbuf%EINT, gbuf%RHO, gbuf%QVIS, gbuf%PLA,
1135 6 volg, sti, stin, icp,
1136 7 off, lbuf%VOL, gbuf%VOL, l_pla,
1137 8 l_epsd, fac, lbuf%EINTTH,gbuf%EINTTH,
1138 9 iexpan, nel, ideg, conde,
1139 a conden, mtn, ismstr, svis,glob_therm%NODADT_THERM,
1140 b gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
1143 offl(i)=
min(offl(i),off(i))
1144 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one)
THEN
1145 offs(i)=
min(lbuf%OFF(i),offs(i))
1153 IF (mat_elem%MAT_PARAM(mx)%HEAT_FLAG == 1)
THEN
1155 1 pm, mx , voln, ni,
1156 2 nc1, nc2, nc3, nc4,
1157 3 nc5, nc6, nc7, nc8,
1158 4 px1, px2, px3, px4,
1159 5 py1, py2, py3, py4,
1160 6 pz1, pz2, pz3, pz4,
1161 7 px5, px6, px7, px8,
1162 8 py5, py6, py7, py8,
1163 9 pz5, pz6, pz7, pz8,
1164 a dt1, temp, tempel, fheat,
1165 b them, gbuf%OFF,lbuf%OFF,partsav,
1166 c iparts, lbuf%VOL,nel,glob_therm%THEACCFACT)
1169 1 pm, mx , voln, ni,
1170 2 nc1, nc2, nc3, nc4,
1171 3 nc5, nc6, nc7, nc8,
1172 4 px1, px2, px3, px4,
1173 5 py1, py2, py3, py4,
1174 6 pz1, pz2, pz3, pz4,
1175 7 px5, px6, px7, px8,
1176 8 py5, py6, py7, py8,
1177 9 pz5, pz6, pz7, pz8,
1179 b them, gbuf%OFF,lbuf%OFF,partsav,
1180 c iparts, lbuf%VOL,nel,glob_therm%THEACCFACT)
1188 pxx1(1:nel,ip) = px1(1:nel)
1189 pxx2(1:nel,ip) = px2(1:nel)
1190 pxx3(1:nel,ip) = px3(1:nel)
1191 pxx4(1:nel,ip) = px4(1:nel)
1192 pxx5(1:nel,ip) = px5(1:nel)
1193 pxx6(1:nel,ip) = px6(1:nel)
1194 pxx7(1:nel,ip) = px7(1:nel)
1195 pxx8(1:nel,ip) = px8(1:nel)
1196 pyy1(1:nel,ip) = py1(1:nel)
1197 pyy2(1:nel,ip) = py2(1:nel)
1198 pyy3(1:nel,ip) = py3(1:nel)
1199 pyy4(1:nel,ip) = py4(1:nel)
1200 pyy5(1:nel,ip) = py5(1:nel)
1201 pyy6(1:nel,ip) = py6(1:nel)
1202 pyy7(1:nel,ip) = py7(1:nel)
1203 pyy8(1:nel,ip) = py8(1:nel)
1204 pzz1(1:nel,ip) = pz1(1:nel)
1205 pzz2(1:nel,ip) = pz2(1:nel)
1206 pzz3(1:nel,ip) = pz3(1:nel)
1207 pzz4(1:nel,ip) = pz4(1:nel)
1208 pzz5(1:nel,ip) = pz5(1:nel)
1209 pzz6(1:nel,ip) = pz6(1:nel)
1210 pzz7(1:nel,ip) = pz7(1:nel)
1211 pzz8(1:nel,ip) = pz8(1:nel)
1224 . y1, y2, y3, y4, y5, y6, y7, y8,
1225 . z1, z2, z3, z4, z5, z6, z7, z8,icsig,nel)
1229 1 nloc_dmg, var_reg, nel, gbuf%OFF,
1230 2 volg, nc1, nc2, nc3,
1231 3 nc4, nc5, nc6, nc7,
1234 6 pxx8, pyy1, pyy2, pyy3,
1235 7 pyy4, pyy5, pyy6, pyy7,
1236 8 pyy8, pzz1, pzz2, pzz3,
1237 9 pzz4, pzz5, pzz6, pzz7,
1238 a pzz8, mxt(lft), itask, dt2t,
1239 b gbuf%VOL, nft, nlay, nptr,
1241 d a_gauss, icr, ics, ict,
1242 e elbuf_tab(ng)%NLOCTS(ir,is),
area, nodadt,
1243 f dt1, dt12, dtfac1, dtmin1,
1249 IF (ioffs == 1)
THEN
1251 IF (offs(i) <= two) gbuf%OFF(i)=offs(i)
1257 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
1259 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
1268 1 pxc1, pxc2, pxc3, pxc4,
1269 2 pyc1, pyc2, pyc3, pyc4,
1270 3 pzc1, pzc2, pzc3, pzc4,
1271 4 f11, f21, f31, f12
1272 5 f22, f32, f13, f23,
1273 6 f33, f14, f24, f34,
1274 7 f15, f25, f35, f16,
1275 8 f26, f36, f17, f27,
1276 9 f37, f18, f28, f38,
1277 a volg, pp, ideg, nel)
1279 IF (igtyp == 22)
THEN
1285 IF ( nn_del> 0)
THEN
1287 . x1, x2, x3, x4, x5, x6, x7, x8,
1288 . y1, y2, y3, y4, y5, y6, y7, y8,
1289 . z1, z2, z3, z4, z5, z6, z7, z8,icsig,nel)
1291 . llsh,geo(1,pid),nn_del,dt,nel )
1297 1 gbuf%OFF,offl, nel, ismstr)
1301 iflag=mod(ncycle,ncpri)
1305 CALL sbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1306 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1307 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1308 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1309 . volg,iparts , gresav,grth,igrth,gbuf%OFF,
1310 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1311 . x1, x2, x3, x4, x5, x6, x7, x8,
1312 . y1, y2, y3, y4, y5, y6, y7, y8,
1313 . z1, z2, z3, z4, z5, z6, z7, z8,
1314 . itask,iparg(1,ng),sensors,gbuf%G_WPLA,gbuf%WPLA)
1316 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1317 . vgxa, vgya, vgza, vga2, volg,iparts,
1318 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1319 . gbuf%FILL,xgxa, xgya, xgza,
1320 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1321 . nel,gbuf%G_WPLA,gbuf%WPLA)
1329 1 r11, r21, r31, r12,
1330 2 r22, r32, r13, r23,
1331 3 r33, f11, f12, f13,
1332 4 f14, f15, f16, f17,
1333 5 f18, f21, f22, f23,
1334 6 f24, f25, f26, f27,
1335 7 f28, f31, f32, f33,
1336 8 f34, f35, f36, f37,
1343 alpha_e(1:nel) = one
1345 1 nel ,sti_c ,npropm ,nummat ,
1346 2 ismstr ,mxt ,istab ,pm ,
1347 3 gbuf%SIG ,gbuf%RHO ,cxx ,offl ,
1348 4 gbuf%OFF ,ll ,volg ,fld ,
1352 . nc1, nc2, nc3, nc4,
1353 . nc5, nc6, nc7, nc8,
1360 . x, xdp, numnod, nel )
1394 . vx1, vx2, vx3, vx4,
1395 . vx5, vx6, vx7, vx8,
1396 . vy1, vy2, vy3, vy4,
1397 . vy5, vy6, vy7, vy8,
1398 . vz1, vz2, vz3, vz4,
1399 . vz5, vz6, vz7, vz8,
1400 . f11, f12, f13, f14,
1401 . f15, f16, f17, f18,
1402 . f21, f22, f23, f24,
1403 . f25, f26, f27, f28,
1404 . f31, f32, f33, f34,
1405 . f35, f36, f37, f38,
1406 . stin, sti_c, fld , cns2,
1407 . ll , istab, fqmax, nel,
1408 . gbuf%EINT_DISTOR, dt1)
1412 1 gbuf%FILL,stin, f11
1413 2 f31, f12, f22, f32,
1414 3 f13, f23, f33, f14,
1415 4 f24, f34, f15, f25,
1416 5 f35, f16, f26, f36,
1417 6 f17, f27, f37, f18
1422 1 gbuf%OFF,a, nc1, nc2,
1423 2 nc3, nc4, nc5, nc6,
1424 3 nc7, nc8, stifn, stin,
1425 4 f11, f21, f31, f12,
1426 5 f22, f32, f13, f23
1427 6 f33, f14, f24, f34,
1428 7 f15, f25, f35, f16,
1429 8 f26, f36, f17, f27,
1430 9 f37, f18, f28, f38,
1431 a nvc, bid, bid, bid,
1432 b bid, bid, bid, bid,
1433 c bid, bid, bid, bid,
1434 d bid, bid, bid, bid,
1435 e bid, bid, bid, bid,
1436 f bid, bid, bid, bid,
1437 g bid, bid, bid, bid,
1438 h them, fthe, condn, conden,
1439 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM
1442 1 gbuf%OFF,stin, fsky, fsky,
1443 2 iads, f11, f21, f31,
1444 3 f12, f22, f32, f13,
1445 4 f23, f33, f14, f24,
1446 5 f34, f15, f25, f35,
1447 6 f16, f26, f36, f17
1448 7 f27, f37, f18, f28,
1449 8 f38, nc1, nc2, nc3,
1450 9 nc4, nc5, nc6, nc7,
1451 a nc8, bid, bid, bid,
1452 b bid, bid, bid, bid,
1453 c bid, bid, bid, bid,
1454 d bid, bid, bid, bid,
1455 e bid, bid, bid, bid,
1456 f bid, bid, bid, bid,
1457 g bid, bid, bid, bid,
1458 h them, fthesky, condnsky,conden,
1459 i nel, nft, jthe, isrot,
1460 j ipartsph,glob_therm%NODADT_THERM)
1462 IF (ntsheg > 0)
THEN
1463 alpha_e(lft:llt) = one
1465 IF (gbuf%IDT_TSH(i)<=0) cycle
1466 facdp = 1.343*llsh(i)/llsmin(i)
1467 alpha_e(i) = facdp*facdp
1470 1 gbuf%OFF,alpha_e, nc1, nc2,
1471 2 nc3, nc4, nc5, nc6,
1476 IF (
ALLOCATED(var_reg))
DEALLOCATE(var_reg)
1477 IF (
ALLOCATED(pxx1))
DEALLOCATE(pxx1)
1478 IF (
ALLOCATED(pxx2))
DEALLOCATE(pxx2)
1479 IF (
ALLOCATED(pxx3))
DEALLOCATE(pxx3)
1480 IF (
ALLOCATED(pxx4))
DEALLOCATE(pxx4)
1481 IF (
ALLOCATED(pxx5))
DEALLOCATE(pxx5)
1482 IF (
ALLOCATED(pxx6))
DEALLOCATE(pxx6)
1483 IF (
ALLOCATED(pxx7))
DEALLOCATE(pxx7)
1484 IF (
ALLOCATED(pxx8))
DEALLOCATE(pxx8)
1485 IF (
ALLOCATED(pyy1))
DEALLOCATE(pyy1)
1486 IF (
ALLOCATED(pyy2))
DEALLOCATE(pyy2)
1487 IF (
ALLOCATED(pyy3))
DEALLOCATE(pyy3)
1488 IF (
ALLOCATED(pyy4))
DEALLOCATE(pyy4)
1489 IF (
ALLOCATED(pyy5))
DEALLOCATE(pyy5)
1490 IF (
ALLOCATED(pyy6))
DEALLOCATE(pyy6)
1491 IF (
ALLOCATED(pyy7))
DEALLOCATE(pyy7
1492 IF (
ALLOCATED(pyy8))
DEALLOCATE(pyy8)
1493 IF (
ALLOCATED(pzz1))
DEALLOCATE(pzz1)
1494 IF (
ALLOCATED(pzz2))
DEALLOCATE(pzz2)
1495 IF (
ALLOCATED(pzz3))
DEALLOCATE(pzz3)
1496 IF (
ALLOCATED(pzz4))
DEALLOCATE(pzz4)
1497 IF (
ALLOCATED(pzz5))
DEALLOCATE(pzz5)
1498 IF (
ALLOCATED(pzz6))
DEALLOCATE(pzz6)
1499 IF (
ALLOCATED(pzz7))
DEALLOCATE(pzz7)
1500 IF (
ALLOCATED(pzz8))
DEALLOCATE(pzz8)