77 SUBROUTINE scforc3(TIMERS, OUTPUT, ELBUF_TAB,NG ,
80 3 FLU1 ,VEUL ,FV ,ALE_CONNECT ,IPARG ,
81 4 TF ,NPF ,BUFMAT ,PARTSAV ,NLOC_DMG ,
82 5 DT2T ,NELTST ,ITYPTST ,STIFN ,FSKY ,
83 6 IADS ,OFFSET ,EANI ,IPARTS ,
84 7 F11 ,F21 ,F31 ,F12 ,F22 ,
85 8 F32 ,F13 ,F23 ,F33 ,F14 ,
86 9 F24 ,F34 ,F15 ,F25 ,F35 ,
87 A F16 ,F26 ,F36 ,F17 ,F27 ,
88 B F37 ,F18 ,F28 ,F38 ,NEL ,
90 D IPM ,ISTRAIN ,TEMP ,FTHE ,FTHESKY ,
91 E IEXPAN ,IGEO ,GRESAV ,GRTH ,IGRTH ,
92 F MSSA ,DMELS ,TABLE ,XDP ,VOLN ,
93 G CONDN ,CONDNSKY,ITASK ,IOUTPRT ,MAT_ELEM ,
94 H H3D_STRAIN,DT,SNPC ,STF,SBUFMAT,SVIS,NSVOIS,IDTMINS,
95 I IRESP ,IDEL7NG ,IDEL7NOK,MAXFUNC,IMON_MAT,
96 J USERL_AVAIL, GLOB_THERM, impl_s, idyna,SENSORS)
101 USE output_mod,
only : output_
109 USE sdistor_ini_mod,
ONLY : sdistor_ini
110 USE shour_ctl_mod,
ONLY : shour_ctl
116#include "implicit_f.inc"
120#include "mvsiz_p.inc"
124#include "com01_c.inc"
125#include "com08_c.inc"
126#include "vect01_c.inc"
127#include "parit_c.inc"
128#include "param_c.inc"
129#include "scr18_c.inc"
130#include "com04_c.inc"
134 TYPE(timer_),
INTENT(INOUT) :: TIMERS
135 TYPE(OUTPUT_),
INTENT(INOUT) :: OUTPUT
136 INTEGER,
INTENT(IN) :: SNPC
137 INTEGER,
INTENT(IN) :: STF
138 INTEGER,
INTENT(IN) ::
139 INTEGER,
INTENT(IN) :: NSVOIS
140 INTEGER,
INTENT(IN) ::
141 INTEGER ,
INTENT(IN) :: IRESP
142 INTEGER ,
INTENT(IN) :: IDEL7NG
143 INTEGER ,
INTENT(INOUT) :: IDEL7NOK
144 INTEGER ,
INTENT(IN) :: MAXFUNC
145 INTEGER,
INTENT(IN) :: IMPL_S
146 INTEGER,
INTENT(IN) :: IDYNA
147 INTEGER,
INTENT(IN) :: USERL_AVAIL
148 INTEGER,
INTENT(IN) :: IMON_MAT
149 INTEGER IXS(NIXS,*),IPARG(NPARG,NGROUP),NPF(*),IADS(8,*),
150 . (*), IPM(NPROPMI,*),IGEO(NPROPGI,*),GRTH(*),
152 INTEGER NELTST,ITYPTST,OFFSET,,ICSIG,NVC,NEL,ISTRAIN,IEXPAN,NG,
158 . pm(npropm,*), x(*), a(*), v(3,*), ms(*), w(*),
159 . flux(6,*),geo(npropg,*),
160 . flu1(*), veul(*), fv(*), tf(*), bufmat(*),
161 . partsav(*),stifn(*), fsky(*),eani(*),
162 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
163 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
164 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
165 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
166 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
167 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
168 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
169 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
170 . temp(*),fthe(*), fthesky(*),gresav(*), mssa(*), dmels(*), voln(mvsiz),
171 . condn(*),condnsky(*)
172 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
174 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
175 TYPE (NLOCAL_STR_) ,
TARGET :: NLOC_DMG
177 TYPE (MAT_ELEM_) ,
INTENT(INOUT) :: MAT_ELEM
178 TYPE(DT_),
INTENT(INOUT) :: DT
179 type (glob_therm_) ,
intent(inout) :: glob_therm
180 type (sensors_),
INTENT(INOUT) :: SENSORS
184 INTEGER I,J,ILAY,IR,IS,IT,IP,NF1,IFLAG,,L_EPSD,
185 . PID,MTN0,IPTHK,IPPOS,IPMAT,NLYMAX,MID,IPANG,IBID,NLAY,IMAT,
186 . JJ(6),SZ_IX,CURRENT_LAYER
187 INTEGER MXT0(MVSIZ),MX
189 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),IBIDV(1)
192 . xd1(mvsiz), xd2(mvsiz), xd3(mvsiz), xd4(mvsiz),
193 . xd5(mvsiz), xd6(mvsiz), xd7(mvsiz), xd8(mvsiz),
194 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
195 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
196 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
197 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz),voldp(mvsiz)
200 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
201 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
202 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
203 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
204 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
205 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
206 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz),
207 . jac4(mvsiz), jac5(mvsiz), jac6(mvsiz),
208 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
213 . sti(mvsiz) ,gama(mvsiz,6),
214 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
220 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
221 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
222 INTEGER IOFFS,G_PLA,G_EPSD,NN_DEL,IPRES,ISCTL,ISTAB(MVSIZ)
226 . OFF(MVSIZ) , RHOO(MVSIZ),RHOM(MVSIZ),OFFG(MVSIZ) ,
227 . X1(MVSIZ), X2(MVSIZ), X3(MVSIZ), X4(MVSIZ),
228 . X5(MVSIZ), (MVSIZ), X7(MVSIZ), X8(MVSIZ),
229 . Y1(MVSIZ), Y2(MVSIZ), Y3(MVSIZ), Y4(MVSIZ),
230 . Y5(MVSIZ), Y6(MVSIZ), (MVSIZ), Y8(MVSIZ),
231 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
232 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
233 . vx1(mvsiz),vx2(mvsiz),vx3
234 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
235 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
236 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
237 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
238 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
239 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
240 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
241 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
242 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
243 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
245 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
246 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
247 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
248 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
249 . hgx1(mvsiz),hgy2(mvsiz),hgz1(mvsiz),hgz2(mvsiz),
250 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
251 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
252 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
253 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
254 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
255 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
256 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
257 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
258 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
259 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
261 . dxy(mvsiz),dyx(mvsiz),
262 . dyz(mvsiz),dzy(mvsiz),
263 . dzx(mvsiz),dxz(mvsiz),
264 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
265 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
266 . r31(mvsiz),r32(mvsiz),r33(mvsiz),hh(mvsiz),
267 . n1x(mvsiz), n2x(mvsiz), n3x(mvsiz),
268 . n1y(mvsiz), n2y(mvsiz), n3y(mvsiz),
269 . n1z(mvsiz), n2z(mvsiz), n3z(mvsiz),
270 . n4x(mvsiz), n5x(mvsiz), n6x(mvsiz),
271 . n4y(mvsiz), n5y(mvsiz
272 . n4z(mvsiz), n5z(mvsiz), n6z(mvsiz),
273 . sigym(mvsiz),nu(mvsiz),volg(mvsiz),sigy(mvsiz),
274 . rx0(mvsiz),ry0(mvsiz),sx0(mvsiz),sy0(mvsiz),
275 . dcxx(mvsiz),dcxy(mvsiz),dcxz(mvsiz),dcyx
276 . dcyz(mvsiz),dczx(mvsiz),dczy(mvsiz),dczz(mvsiz),dc4(mvsiz),
277 . dc5(mvsiz),dc6(mvsiz),vzl(mvsiz),
278 . dhxx(mvsiz),dhxy(mvsiz),dhxz(mvsiz),dhyx(mvsiz),dhyy(mvsiz),
279 . dhyz(mvsiz),dhzx(mvsiz),dhzy(mvsiz),dhzz(mvsiz),dh4(mvsiz),
280 . dh5(mvsiz),dh6(mvsiz),eintm(mvsiz),ddhv(mvsiz),einto(mvsiz),
281 . sigzm(mvsiz),volm(mvsiz),mm(mvsiz,2),usb(mvsiz),et(mvsiz),
282 . r1_free(mvsiz),r3_free(mvsiz),r4_free(mvsiz),
283 . tempel(mvsiz),them(mvsiz,8),die(mvsiz),
284 . stin(mvsiz),dsv(mvsiz),bid(mvsiz),conden(mvsiz),dti
286 . nu1(mvsiz),fac(mvsiz),divde(mvsiz),
for(mvsiz,6),
287 . alpha_e(mvsiz),llsh(mvsiz),c1,e0(mvsiz),
area(mvsiz)
291 my_real,
dimension(mvsiz) :: fheat
293 TYPE(G_BUFEL_) ,
POINTER :: GBUF
294 TYPE(L_BUFEL_) ,
POINTER :: LBUF
296 PARAMETER (NLYMAX = 200,ipmat = 100,ipang = 200)
298 . dir(mvsiz,2),sign(nel,6),shf(mvsiz),zt,wt,
299 . rx(mvsiz), ry(mvsiz), rz(mvsiz),
300 . sx(mvsiz), sy(mvsiz), sz(mvsiz),
301 . tx(mvsiz), ty(mvsiz), tz(mvsiz),amu(mvsiz)
302 INTEGER INLOC,L_NLOC,IPOS(8),INOD(8)
303 my_real,
DIMENSION(:,:),
ALLOCATABLE :: VAR_REG
304 my_real,
DIMENSION(:),
POINTER :: dnl
306 my_real :: sti_c(mvsiz),ll(mvsiz),fld(mvsiz),
310 . w_gauss(9,9),a_gauss(9,9),w_newton(9,9),a_newton(9,9)
318 3 0.555555555555556,0.888888888888889,0.555555555555556,
321 4 0.347854845137454,0.652145154862546,0.652145154862546,
322 4 0.347854845137454,0. ,0. ,
324 5 0.236926885056189,0.478628670499366,0.568888888888889,
325 5 0.478628670499366,0.236926885056189,0. ,
327 6 0.171324492379170,0.360761573048139,0.467913934572691,
328 6 0.467913934572691,0.360761573048139,0.171324492379170,
330 7 0.129484966168870,0.279705391489277,0.381830050505119,
331 7 0.417959183673469,0.381830050
332 7 0.129484966168870,0. ,0. ,
333 8 0.101228536290376,0.222381034453374,0.313706645877887,
334 8 0.362683783378362,0.362683783378362,0.313706645877887,
335 8 0.222381034453374,0.101228536290376,0. ,
336 9 0.081274388361574,0.180648160694857,0.260610696402935,
337 9 0.312347077040003,0.330239355001260,0.312347077040003,
338 9 0.260610696402935,0.180648160694857,0.081274388361574/
344 2 -.577350269189626,0.577350269189626,0. ,
347 3 -.774596669241483,0. ,0.774596669241483,
350 4 -.861136311594053,-.339981043584856,0.339981043584856,
351 4 0.861136311594053,0. ,0. ,
353 5 -.906179845938664,-.538469310105683,0. ,
354 5 0.538469310105683,0.906179845938664,0. ,
356 6 -.932469514203152,-.661209386466265,-.238619186083197,
357 6 0.238619186083197,0.661209386466265,0.932469514203152,
359 7 -.949107912342759,-.741531185599394,-.405845151377397,
360 7 0. ,0.405845151377397,0.741531185599394,
361 7 0.949107912342759,0. ,0. ,
362 8 -.960289856497536,-.796666477413627,-.525532409916329,
363 8 -.183434642495650,0.183434642495650,0.525532409916329,
364 8 0.796666477413627,0.960289856497536,0. ,
365 9 -.968160239507626,-.836031107326636,-.613371432700590,
366 9 -.324253423403809,0. ,0.324253423403809,
367 9 0.613371432700590,0.836031107326636,0.968160239507626/
378 4 0.166666666666667,0.833333333333333,0.833333333333333,
379 4 0.166666666666667,0. ,0. ,
384 6 0.066666666666667,0.37847496 ,0.55485838 ,
385 6 0.55485838 ,0.37847496 ,0.066666666666667,
387 7 0.04761904 ,0.27682604 ,0.43174538 ,
388 7 0.48761904 ,0.43174538 ,0.27682604 ,
389 7 0.04761904 ,0. ,0. ,
390 8 0.03571428 ,0.21070422 ,0.34112270 ,
391 8 0.41245880 ,0.41245880 ,0.34112270 ,
392 8 0.21070422 ,0.03571428 ,0. ,
393 9 0.027777777777778,0.1654953616 ,0.2745387126 ,
394 9 0.3464285110 ,0.3715192744 ,0.3464285110 ,
395 9 0.2745387126 ,0.1654953616 ,0.027777777777778/
406 4 -1. ,-.44721360 ,0.44721360 ,
412 6 -1. ,-.76505532 ,-.28523152 ,
413 6 0.28523152 ,0.76505532 , 1. ,
415 7 -1. ,-.83022390 ,-.46884879 ,
416 7 0. ,0.46884879 ,0.83022390 ,
418 8 -1. ,-.87174015 ,-.59170018 ,
419 8 -.20929922 ,0.20929922 ,0.59170018 ,
420 8 0.87174015 , 1. ,0. ,
421 9 -1. ,-.8997579954 ,-.6771862795 ,
422 9 -.3631174638 ,0. ,0.3631174638 ,
423 9 0.6771862795 ,0.8997579954 , 1. /
427 sz_ix=numelq+numels+nsvois
429 gbuf => elbuf_tab(ng)%GBUF
430 nlay = elbuf_tab(ng)%NLAY
441 ALLOCATE(var_reg(nel,nlay))
450 IF (igtyp /= 22)
THEN
459 1 8, x, ixs(1,nf1),rx,
466 CALL srcoor3(x,ixs(1,nf1),v ,w ,gbuf%GAMA,gama ,
467 . x1, x2, x3, x4, x5, x6, x7, x8,
468 . y1, y2, y3, y4, y5, y6, y7, y8,
469 . z1, z2, z3, z4, z5, z6, z7, z8,
470 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
471 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
472 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
473 . vd2,vis,gbuf%OFF,offg,gbuf%SMSTR,gbuf%RHO,rhoo,
474 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
475 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
476 . ioutprt, vgxa, vgya, vgza, vga2,
477 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
478 . yd1, yd2, yd3, yd4, yd5, yd6, yd7
479 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
480 . xdp, bid, bid, bid, nel, xgxa, xgya, xgza,
481 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
486 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
488 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
490 ipres = mat_elem%MAT_PARAM(mx)%IPRES
499 nu(i) =
min(half,pm(21,mx))
500 usb(i) = 0.1/pm(32,mx)
506 e0(i) =three*(one-two*nu(i))*c1
512 ELSEIF (icp == 2)
THEN
513 CALL s8csigp3(gbuf%SIG,e0 ,gbuf%PLA,fac,gbuf%G_PLA,nel)
515 nu1(i)=nu(i)+(half-nu(i))*fac
523 1 offg, voln, ngl, xd1,
524 2 xd2, xd3, xd4, xd5,
525 3 xd6, xd7, xd8, yd1,
526 4 yd2, yd3, yd4, yd5,
527 5 yd6, yd7, yd8, zd1,
530 8 px2, px3, px4, py1,
531 9 py2, py3, py4, pz1,
532 a pz2, pz3, pz4, px1h1,
533 b px1h2, px1h3, px1h4, px2h1,
534 c px2h2, px2h3, px2h4, px3h1,
535 d px3h2, px3h3, px3h4, px4h1
536 e px4h2, px4h3, px4h4, jac1
537 f jac2, jac3, jac4, jac5,
538 g jac6, rx0, ry0, sx0,
539 h sy0, vzl, volg, gbuf%SMSTR,
540 i gbuf%OFF, nel, ismstr)
542 1 volg, deltax, x1, x2,
549 8 n3x, n4x, n5x, n6x,
550 9 n1y, n2y, n3y, n4y,
551 a n5y, n6y, n1z, n2z,
552 b n3z, n4z, n5z, n6z,
553 c nel, mtn, jale, jeul)
554 IF (ntsheg > 0 .AND.isctl==0)
THEN
556 . x1, x2, x3, x4, x5, x6, x7, x8,
557 . y1, y2, y3, y4, y5, y6, y7, y8,
558 . z1, z2, z3, z4, z5, z6, z7, z8, nel)
561 IF (gbuf%IDT_TSH(i)<=0) cycle
562 facdp = 1.343*llsh(i)/deltax(i)
563 alpha_e(i) = facdp*facdp
564 deltax(i)=
max(llsh(i),deltax(i))
568 1 px1, px2, px3, px4,
569 2 py1, py2, py3, py4,
570 3 pz1, pz2, pz3, pz4,
571 4 vx1, vx2, vx3, vx4,
572 5 vx5, vx6, vx7, vx8,
573 6 vy1, vy2, vy3, vy4,
574 7 vy5, vy6, vy7, vy8,
575 8 vz1, vz2, vz3, vz4,
576 9 vz5, vz6, vz7, vz8,
577 a dcxx, dcxy, dcxz, dcyx,
578 b dcyy, dcyz, dczx, dczy,
579 c dczz, dc4, dc5, dc6,
580 d wxx, wyy, wzz, dhxx,
581 e dhxy, dhyx, dhyy, dhzx,
582 f dhzy, dhzz, dh4, dh5,
583 g dh6, px1h1, px1h2, px2h1,
584 h px2h2, px3h1, px3h2, px4h1,
585 i px4h2, hgx1, hgy2, hgz1,
586 j hgz2, rx0, ry0, sx0,
587 k sy0, nu1, ddhv, nel)
591 . f11, f21, f31, f12, f22, f32, f13, f23,
592 . f33, f14, f24, f34, f15, f25, f35, f16,
593 . f26, f36, f17, f27, f37, f18, f28, f38,
594 . gbuf%SIG,eintm,rhom,gbuf%QVIS,gbuf%PLA,
595 . gbuf%EPSD,g_pla,g_epsd,nel)
600 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0))
THEN
602 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
603 2 xd3, xd4, xd5, xd6,
604 3 xd7, xd8, yd1, yd2,
605 4 yd3, yd4, yd5, yd6,
606 5 yd7, yd8, zd1, zd2,
607 6 zd3, zd4, zd5, zd6,
612 IF (igtyp == 21)
THEN
613 CALL sgetdir3(nel, rx,ry,rz,tx,ty,tz,
614 . r11,r21,r31,r12,r22,r32,gbuf%GAMA,dir,irep)
616 IF (igtyp == 22)
THEN
630 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
631 IF (igtyp == 22)
THEN
632 mid=igeo(ipmat+ilay,pid)
636 sigzm(i) = sigzm(i) + lbuf%VOL(i)*lbuf%SIG(jj(3)+i)
637 volm(i) = volm(i) + lbuf%VOL(i)
641 IF (dt1 == zero)
THEN
651 tempel(i) = one_over_8
653 . + temp(nc5(i)) + temp(nc6(i))
655 gbuf%TEMP(i) = tempel(i)
662 IF(jthe<0) them(1:nel,1:8) =zero
668 l_nloc = nloc_dmg%L_NLOC
669 dnl => nloc_dmg%DNL(1:l_nloc)
675 DO j = 1,elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
676 inod(j) = nloc_dmg%IDXI(elbuf_tab(ng
677 ipos(j) = nloc_dmg%POSI(inod(j))+ilay-1
680 var_reg(i,ilay) = zero
681 nl_nbnod = elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
682 DO j = 1, elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
683 var_reg(i,ilay) = var_reg(i,ilay) + dnl(ipos(j))/nl_nbnod
694 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
696 IF (igtyp == 22)
THEN
697 zt = geo(ippos+ilay,pid)
698 wt = geo(ipthk+ilay,pid)
699 mid=igeo(ipmat+ilay,pid)
705 zt = a_gauss(ilay,nlay)
706 wt = w_gauss(ilay,nlay)
709 1 dxx, dxy, dxz, dyx,
712 4 dcxx, dcxy, dcxz, dcyx,
713 5 dcyy, dcyz, dczx, dczy,
715 7 dhxx, dhxy, dhxz, dhyx,
716 8 dhyy, dhyz, dhzx, dhzy,
717 9 dhzz, dh4, dh5, dh6,
719 b volg, lbuf%VOL, ddhv, lbuf%SIG,
720 c sigzm, volm, usb, lbuf%EINT,
721 d off, offg, dti, gbuf%OFF,
722 e dsv, lbuf%VOL0DP,voldp
725 einto(i) = lbuf%EINT(i)
726 rhoo(i) = lbuf%RHO(i)
730 .
CALL sgetdir3(nel,rx,ry,rz,tx,ty,tz,
731 . r11,r21,r31,r12,r22,r32,
732 . lbuf%GAMA,dir,irep)
733 CALL scordef3(nel,dxx,dyy,dzz,d4,d5,d6,dir)
734 IF (igtyp == 22)
THEN
742 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+dsv
744 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
745 2 divde, flux(1,nf1),flu1(nf1), voln,
746 3 dvol, ngl, mxt, off,
747 4 0, gbuf%TAG22, voldp, lbuf%VOL0DP,
748 5 amu, gbuf%OFF, nel, mtn,
749 6 jale, ismstr, jeul, jlag)
754 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
761 CALL mmain(timers, output,
762 1 elbuf_tab, ng, pm, geo,
763 2 ale_connect, ixs, iparg,
764 3 v, tf, npf, bufmat,
765 4 sti, x, dt2t, neltst,
766 5 ityptst, offset, nel, w,
767 6 off, ngeo, mxt, ngl,
768 7 voln, vd2, dvol, deltax,
769 8 vis, qvis, cxx, s1,
773 c wyy, wzz, jac1, jac2,
774 d jac3, jac4, jac5, jac6,
775 e vdx, vdy, vdz, muvoid,
776 f ssp_eq, aire, sigy, et,
777 g r1_free, lbuf%PLA, r3_free, amu,
778 h dxx, dxy, dxz, dyx,
779 i dyy, dyz, dzx, dzy,
780 j dzz, ipm, gama, bid,
781 k bid, bid, bid, bid,
782 l bid, bid, istrain, tempel,
783 m die, iexpan, current_layer,mssa,
785 o table, bid, bid, bid,
786 p bid, iparg(1,ng), igeo, conde,
787 q itask, nloc_dmg, var_reg(1,ilay
788 r h3d_strain, jplasol, jsph, sz_r1_free,
789 * snpc, stf, sbufmat, glob_therm,
790 * svis, sz_ix, iresp,
791 * n2d, th_strain, ngroup, tt,
792 . dt1, ntable, numelq, nummat,
793 . numgeo, numnod, numels,
794 . idel7nok, idtmin, maxfunc,
795 . imon_mat, userl_avail, impl_s,
796 . idyna, dt, fheat ,sensors, opt_mtn=mtn,opt_jcvt=jcvt,
797 . opt_isorth=isorth,opt_isorthg=isorthg)
800 sigym(i) =
min(sigym(i),sigy(i))
801 stin(i) = stin(i)+sti(i)
804 IF (glob_therm%NODADT_THERM == 1)
THEN
806 conden(i)= conden(i)+ conde(i)
809 IF (istrain == 1)
THEN
812 2 d5, d6, lbuf%STRA,wxx,
813 3 wyy, wzz, off, nel,
819 l_pla = elbuf_tab(ng)%BUFLY(ilay)%L_PLA
820 l_epsd = elbuf_tab(ng)%BUFLY(ilay)%L_EPSD
826 . px1, px2, px3, px4,
827 . py1, py2, py3, py4,
828 . pz1, pz2, pz3, pz4,
829 . px5, px6, px7, px8,
830 . py5, py6, py7, py8,
831 . pz5, pz6, pz7, pz8,
832 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
833 . f15,f25,f35,f16,f26,f36,f17,f27,f37,f18,f28,f38,
835 . px1h1, px1h2, px2h1, px2h2,
836 . px3h1, px3h2, px4h1, px4h2,
837 . rx0, ry0, sx0, sy0,
838 . lbuf%EINT,lbuf%RHO,lbuf%QVIS,lbuf%PLA,lbuf%EPSD,gbuf%EPSD,
839 . gbuf%SIG,eintm,einto,rhom,gbuf%QVIS,gbuf%PLA,
840 . nu1,zt ,wt ,volg,mm,off,
841 . lbuf%VOL,gbuf%VOL,l_pla,l_epsd,nel,svis,
842 . gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
845 . px1, px2, px3, px4,
846 . py1, py2, py3, py4,
847 . pz1, pz2, pz3, pz4,
848 . px5, px6, px7, px8,
849 . py5, py6, py7, py8,
850 . pz5, pz6, pz7, pz8,
851 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
852 . f15,f25,f35,f16,f26,f36,f17,f27,f37,f18,f28,f38,
854 . px1h1, px1h2, px2h1, px2h2,
855 . px3h1, px3h2, px4h1, px4h2,
856 . rx0, ry0, sx0, sy0,
857 . lbuf%EINT,lbuf%RHO,lbuf%QVIS,lbuf%PLA,lbuf%EPSD,gbuf%EPSD,
858 . gbuf%SIG,eintm,einto,rhom,gbuf%QVIS,gbuf%PLA,
859 . nu1,a_gauss(ilay,nlay),w_gauss(ilay,nlay),volg,mm,off,
861 . gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
868 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1)
THEN
870 1 pm, imat, voln, nc1,
871 2 nc2, nc3, nc4, nc5,
872 3 nc6, nc7, nc8, px1,
873 4 px2, px3, px4, py1,
874 5 py2, py3, py4, pz1,
875 6 pz2, pz3, pz4, dt1,
876 7 temp, tempel, fheat, them,
877 8 gbuf%OFF,lbuf%OFF,nel,glob_therm%THEACCFACT)
880 1 pm, imat, voln, nc1,
881 2 nc2, nc3, nc4, nc5,
882 3 nc6, nc7, nc8, px1,
883 4 px2, px3, px4, py1,
884 5 py2, py3, py4, pz1,
885 6 pz2, pz3, pz4, dt1,
886 7 temp, tempel, die, them,
887 8 gbuf%OFF,lbuf%OFF,nel,glob_therm%THEACCFACT)
891 offg(i)=
min(offg(i),off(i))
892 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one)
THEN
893 offs(i) =
min(lbuf%OFF(i),offs(i))
907 . x1, x2, x3, x4, x5, x6, x7, x8,
908 . y1, y2, y3, y4, y5, y6, y7, y8,
909 . z1, z2, z3, z4, z5, z6, z7, z8, nel)
912 1 nloc_dmg ,var_reg ,nel ,off ,
913 2 volg ,elbuf_tab(ng)%NLOCS,
area ,
914 3 px1 ,px2 ,px3 ,px4 ,
915 4 py1 ,py2 ,py3 ,py4 ,
916 5 pz1 ,pz2 ,pz3 ,pz4 ,
917 6 mxt(lft) ,itask ,dt2t ,gbuf%VOL,
918 7 nft ,nlay ,w_gauss ,a_gauss ,
919 8 elbuf_tab(ng)%NLOCTS
925 IF (offs(i)<=two) gbuf%OFF(i)=offs(i)
928 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
930 mid=igeo(ipmat+ilay,pid)
934 IF (gbuf%OFF(i) > one) lbuf%OFF
939 gbuf%RHO(i) = rhom(i)
942 IF (igtyp == 22)
THEN
950 . x1, x2, x3, x4, x5, x6, x7, x8,
951 . y1, y2, y3, y4, y5, y6, y7, y8,
952 . z1, z2, z3, z4, z5, z6, z7, z8,nel)
954 . llsh,geo(1,pid),nn_del,dt,nel )
960 1 gbuf%OFF,offg, nel, ismstr)
967 . pm, gbuf%RHO, offg, vx1,
968 . vx2, vx3, vx4, vx5,
969 . vx6, vx7, vx8, vy1,
970 . vy2, vy3, vy4, vy5,
971 . vy6, vy7, vy8, vz1,
972 . vz2, vz3, vz4, vz5,
973 . vz6, vz7, vz8, f11,
974 . f21, f31, f12, f22,
975 . f32, f13, f23, f33,
976 . f14, f24, f34, f15,
977 . f25, f35, f16, f26,
978 . f36, f17, f27, f37,
979 . f18, f28, f38, px1h1,
980 . px1h2, px1h3, px2h1, px2h2,
981 . px2h3, px3h1, px3h2, px3h3,
982 . px4h1, px4h2, px4h3, volg,
983 . gbuf%HOURG, mtn, dt1 , mxt,
984 . cxx, gbuf%EINT, npropm, nummat,
985 . gbuf%VOL, dn , stin, nel )
987 gbuf%EINT(1:nel) = gbuf%EINT(1:nel) + eintm(1:nel)
990 1 pm, gbuf%RHO, offg, vx1
991 2 vx2, vx3, vx4, vx5,
992 3 vx6, vx7, vx8, vy1,
993 4 vy2, vy3, vy4, vy5,
994 5 vy6, vy7, vy8, vz1,
995 6 vz2, vz3, vz4, vz5,
996 7 vz6, vz7, vz8, f11,
997 8 f21, f31, f12, f22,
998 9 f32, f13, f23, f33,
999 a f14, f24, f34, f15,
1000 b f25, f35, f16, f26,
1001 c f36, f17, f27, f37,
1002 d f18, f28, f38, px1h1,
1003 e px1h2, px1h3, px1h4, px2h1,
1004 f px2h2, px2h3, px2h4, px3h1,
1005 g px3h2, px3h3, px3h4, px4h1,
1006 h px4h2, px4h3, px4h4, hgx1,
1007 i hgy2, hgz1, hgz2, volg,
1008 j mxt, cxx, ngeo, geo,
1009 k gbuf%HOURG,rx0, ry0, sx0,
1010 l sy0, jac5, gbuf%EINT, eintm,
1011 m gbuf%VOL, sigym, gbuf%SIG, mm,
1012 n nu, gbuf%PLA, icp, nel,
1018 iflag = mod(ncycle,ncpri)
1020 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK ,gbuf%VOL,
1021 . vgxa ,vgya ,vgza ,vga2 ,volg ,
1022 . iparts ,gresav ,grth ,igrth ,gbuf%OFF,
1023 . iexpan ,gbuf%EINTTH,gbuf%FILL, xgxa, xgya, xgza,
1032 1 r11, r21, r31, r12,
1033 2 r22, r32, r13, r23,
1034 3 r33, f11, f12, f13,
1035 4 f14, f15, f16, f17,
1036 5 f18, f21, f22, f23,
1037 6 f24, f25, f26, f27,
1038 7 f28, f31, f32, f33,
1039 8 f34, f35, f36, f37,
1045 alpha_e(1:nel) = one
1047 1 nel ,sti_c ,npropm ,nummat ,
1048 2 ismstr ,mxt ,istab ,pm ,
1049 3 gbuf%SIG ,gbuf%RHO ,cxx ,offg ,
1050 4 gbuf%OFF ,ll ,voln ,fld ,
1054 . nc1, nc2, nc3, nc4,
1055 . nc5, nc6, nc7, nc8,
1062 . x, xdp, numnod, nel )
1096 . vx1, vx2, vx3, vx4,
1097 . vx5, vx6, vx7, vx8,
1098 . vy1, vy2, vy3, vy4,
1099 . vy5, vy6, vy7, vy8,
1100 . vz1, vz2, vz3, vz4,
1101 . vz5, vz6, vz7, vz8,
1102 . f11, f12, f13, f14,
1103 . f15, f16, f17, f18,
1105 . f25, f26, f27, f28,
1106 . f31, f32, f33, f34,
1107 . f35, f36, f37, f38,
1108 . stin, sti_c, fld , cns2,
1109 . ll , istab, fqmax, nel,
1110 . gbuf%EINT_DISTOR, dt1)
1114 1 gbuf%FILL,sti, f11, f21,
1115 2 f31, f12, f22, f32,
1116 3 f13, f23, f33, f14,
1117 4 f24, f34, f15, f25,
1118 5 f35, f16, f26, f36,
1119 6 f17, f27, f37, f18,
1126 1 gbuf%OFF,a, nc1, nc2,
1127 2 nc3, nc4, nc5, nc6,
1128 3 nc7, nc8, stifn, stin,
1129 4 f11, f21, f31, f12,
1130 5 f22, f32, f13, f23,
1131 6 f33, f14, f24, f34,
1132 7 f15, f25, f35, f16,
1133 8 f26, f36, f17, f27,
1134 9 f37, f18, f28, f38,
1135 a nvc, bid, bid, bid,
1136 b bid, bid, bid, bid,
1137 c bid, bid, bid, bid,
1138 d bid, bid, bid, bid,
1139 e bid, bid, bid, bid,
1140 f bid, bid, bid, bid,
1141 g bid, bid, bid, bid,
1142 h them, fthe, condn, conden,
1143 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1146 1 gbuf%OFF,stin, fsky, fsky,
1147 2 iads, f11, f21, f31,
1148 3 f12, f22, f32, f13,
1149 4 f23, f33, f14, f24,
1150 5 f34, f15, f25, f35,
1151 6 f16, f26, f36, f17,
1152 7 f27, f37, f18, f28,
1153 8 f38, nc1, nc2, nc3,
1154 9 nc4, nc5, nc6, nc7,
1155 a nc8, bid, bid, bid,
1156 b bid, bid, bid, bid
1157 c bid, bid, bid, bid,
1158 d bid, bid, bid, bid,
1159 e bid, bid, bid, bid,
1160 f bid, bid, bid, bid,
1161 g bid, bid, bid, bid,
1162 h them, fthesky, condnsky,conden,
1163 i nel, nft, jthe, isrot,
1164 j ipartsph,glob_therm%NODADT_THERM)
1168 1 gbuf%OFF,alpha_e, nc1, nc2,
1169 2 nc3, nc4, nc5, nc6,
1172 IF (
ALLOCATED(var_reg))
DEALLOCATE(var_reg)