126
127
128
129 USE timer_mod
130 USE python_funct_mod
133 USE mat_elem_mod
137 USE sensor_mod
142 USE output_mod
143 USE preload_axial_mod
144 USE elbufdef_mod
145 use glob_therm_mod
146 USE preload_solid_ini_mod
147 USE s6zforc3_mod
148 use element_mod , only : nixs,nixq,nixt,nixr,nixp
149
150
151
152#include "implicit_f.inc"
153#include "comlock.inc"
154
155
156
157#include "mvsiz_p.inc"
158
159
160
161#include "com01_c.inc"
162#include "com04_c.inc"
163#include "com06_c.inc"
164#include "com08_c.inc"
165#include "param_c.inc"
166#include "vect01_c.inc"
167#include "scr06_c.inc"
168#include "scr07_c.inc"
169#include "scr14_c.inc"
170#include "scr17_c.inc"
171#include "task_c.inc"
172#include "impl1_c.inc"
173#include "stati_c.inc"
174#include "parit_c.inc"
175
176
177
178 TYPE(TIMER_), INTENT(INOUT) :: TIMERS
179 INTEGER, INTENT(IN) :: S_SFEM_NODVAR
180 type(python_), intent(inout) :: PYTHON
181 INTEGER IXS(NIXS,*),ITAB(*),FLG_KJ2,
182 . IXQ(NIXQ,*), IXT(NIXT,*), IXP(NIXP,*),
183 . IXR(NIXR,*), IGEO(NPROPGI,NUMGEO),IPARI(NPARI,*),
184 . IPM(NPROPMI,NUMMAT),NPC(*), IPARG(NPARG,NGROUP),
185 . NSTRF(*), IPART(LIPART1,*) ,
186 . IPARTS(*) ,IPARTQ(*) ,IPARTT(*) ,IPARTP(*) ,
187 . IPARTR(*) ,IPARTUR(*) ,
188 . IADS(8,*),IADQ(4,*),IADT(2,*),
189 . IADP(2,*),IADR(3,*),
190 . NELTST,ITYPTST,
191 . IXS10(6,*),IXS20(12,*),IADS10(6,*),IADS20(12,*),
192 . IXS16(8,*),IADS16(8,*),ITASK,IGROUNC(*),
193 . NGROUNC,GRTH(*),IGRTH(*),NBSDVOIS(*),NERCVOIS(*),
194 . NESDVOIS(*),LERCVOIS(*),LESDVOIS(*),NODFT, NODLT,
195 . ICONTACT(*),IFOAM(*),KXIG3D(NIXIG3D,*),IXIG3D(*),
196 . IGRV(*),LGRAV(*),
197 . TAGPRT_SMS(*),ITAGND(*),NALE(*),FLAG_SLIPRING_UPDATE,FLAG_RETRACTOR_UPDATE
198 INTEGER ,INTENT(IN) :: SANIN
199 INTEGER ,INTENT(IN) :: SBUFMAT
200 INTEGER ,INTENT(IN) :: SNPC
201 INTEGER ,INTENT(IN) :: STF
202 INTEGER ,INTENT(IN) :: IOUT
203 INTEGER ,INTENT(IN) :: ISTDO
204 INTEGER ,INTENT(IN) :: NSVOIS
205 INTEGER ,INTENT(IN) :: IRESP
206 INTEGER ,INTENT(IN) :: MAXFUNC
207 INTEGER, INTENT(IN) :: USERL_AVAIL
208 INTEGER, INTENT(IN) :: IMON_MAT
209 INTEGER, INTENT(IN) :: IDTMINS
210 INTEGER, INTENT(IN) :: NGRTH
211 INTEGER, INTENT(IN) :: NELEM
215 . x(3,*),v(3,*),vr(3,*),d(3,*),ms(*),in(*),a(3,*),ar(3,*),
216 . dr(3,*),w(3,*),pm(npropm,nummat),skew(lskew,*),geo(npropg,numgeo),
217 . bufmat(*),veul(*),tf(*),fr_wave(*),elbuf(*) ,
218 . fsav(nthvki,*) ,wa(*),
219 . fv(*),val2(*),rby(*),
220 . fani(3,*) ,partsav(*) ,stifn(*) ,stifr(*),anin(*) ,
221 . fsky(*),tani(*),eani(*),bufgeo(*),
222 . dt2t, secfcum(7,numnod,nsect),w16(*), fskym(*),
223 . msnf(*),xsec(4,3,nsect),
224 . temp(*),fthe(*), fthesky(*),
225 . gresav(*), mssa(*), dmels(*), mstr(*), dmeltr(*),
226 . msp(*), dmelp(*), msrt(*), dmelrt(*),vf(3,*),af(3,*),ffsky(*),
227 . phi1(*),phi2(*),df(3,*),wf(3,*),msf(*),afglob(3,*),
228 . por(*) ,sfem_nodvar(s_sfem_nodvar),knot(*),wige(*),condn(*),condnsky(*),agrav(*),
229 . ms_2d(*),stressmean(6,*),knotlocpc(*),knotlocel(*)
230 DOUBLE PRECISION XDP(3,*)
231 TYPE(TTABLE) TABLE(*)
232 TYPE(ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
233 TYPE (NLOCAL_STR_) :: NLOC_DMG
234 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
235 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
236 TYPE(H3D_DATABASE) :: H3D_DATA
237 INTEGER, INTENT(IN) :: IFTHE, ICONDN
238 TYPE (SENSORS_) ,INTENT(INOUT) ,TARGET :: SENSORS
239 TYPE (DT_) , INTENT(INOUT) :: DT
240 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
241 INTEGER, INTENT(IN) :: NODADT,IDTMIN(102)
242 my_real,
INTENT(IN) :: dtfac1(102),dtmin1(102)
243 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
244 type (glob_therm_) ,intent(inout) :: glob_therm
245
246
247
248 DOUBLE PRECISION, POINTER :: pFBSAV6
249 INTEGER IERROR, NV46,IPREID,FUN_ID,SENS_ID
250 INTEGER I,J,N, NG, NVC, MLW, JFT, JLT,ISOLNOD,ITHK,IPLA,IFAIL,
251 . K1, K2, KAD,NF1,IPRI, OFFSET,
252 . K0, K3, K6, K7, K8, NSG, NEL, KFTS, ISTRA,
253 . NPE,NIPMAX,ICNOD,IBID,NN,
254 . L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16,
255 . L17,L18,L19,L20,L21,L22,L23,L24,L25,L26,L27,L28,L29,L30,
256 . ICP,ICS,IMATVIS,IEXPAN,NPT0,IG,OFF_IGRTH,
257 . NCTRL,IPARSENS,ISECT,GAMA(6),PX,PY,PZ,ISENS_ENERGY
258 my_real bid,qmvbid,preload1,stf_f
261 my_real,
ALLOCATABLE,
DIMENSION(:,:) :: fx,fy,fz,mx,my,mz,jfac
262 my_real,
DIMENSION(MVSIZ,6) :: svis
263 TYPE(G_BUFEL_) ,POINTER :: GBUF
264
265 ALLOCATE(fx(mvsiz,64),fy(mvsiz,64),fz(mvsiz,64),stat=ierror)
266 ALLOCATE(mx(mvsiz,4),my(mvsiz,4),mz(mvsiz,4),stat=ierror)
267 ALLOCATE(jfac(mvsiz,729))
268 sbid=1
269
270 IF(ierror/=0)THEN
271 CALL ancmsg(msgid=246,anmode=aninfo)
273 END IF
274
275 ipri = 0
276 IF(mod(ncycle,iabs(ncpri))==0.OR.tt>=output%TH%THIS.OR.mdess /= 0.
277 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS).
278 . or.tt>=output%TH%THIS1(1).OR.tt>=output%TH%THIS1(2).
279 . or.tt>=output%TH%THIS1(3).OR.tt>=output%TH%THIS1(4).OR.tt>=output%TH%THIS1(5).
280 . or.tt>=output%TH%THIS1(6).OR.tt>=output%TH%THIS1(7).OR.tt>=output%TH%THIS1(8).
281 . or.tt>=output%TH%THIS1(9).OR.nth /= 0.OR.nanim /= 0 .
282 . or.tt>=tabfis(1).OR.tt>=tabfis(2).
283 . or.tt>=tabfis(3).OR.tt>=tabfis(4).OR.tt>=tabfis(5).
284 . or.tt>=tabfis(6).OR.tt>=tabfis(7).OR.tt>=tabfis(8).
285 . or.tt>=tabfis(9).OR.tt>=tabfis(10).
286 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(1)).
287 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(2)).
288 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(3)).
289 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(4)
290 . or.(
ale%SUB%IALESUB /= 0.AND.t1s
291 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(6)).
292 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(7))
293
294 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(9)).OR.istat==3) ipri=1
295
296 isens_energy = 0
297 DO i=1,sensors%NSENSOR
298 IF (sensors%SENSOR_TAB(i)%TYPE == 14) isens_energy = 1
299 ENDDO
300
301 off_igrth = 0
302 ibid = 0
303
304 IF (ialelag > 0) THEN
305 DO i=nodft,nodlt
306 msf(i) = msf(i) - msnf(i)
307 msnf(i) = zero
308 ENDDO
309
311
312 CALL prelecflow(elbuf_tab,ngrounc,igrounc,iparg ,nbsdvois,
313 . nercvois,nesdvois,lercvois,lesdvois,phi1 ,
314 . phi2,por )
315 ENDIF
316
317
318
319
320
321
322 DO ig = 1, ngrounc
323 ng = igrounc(ig)
324 sensors%NGR_SENSOR(itask+1) = ng
325
326 ng_imp = ng
327
328 IF (iparg(8,ng)==1) GOTO 250
329 ity = iparg(5,ng)
330
332 offset = 0
333 mlw = iparg(1,ng)
334
335
336 IF (mlw == 0 .OR. mlw == 13) GOTO 250
337
338
340 2 mlw ,nel ,nft ,kad ,ity ,
341 3 npt ,jale ,ismstr ,jeul ,jtur ,
342 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
343 5 nvaux ,jpor ,jcvt ,jclose ,ipla ,
344 6 irep ,iint ,igtyp ,israt ,isrot ,
345 7 icsen ,isorth ,isorthg ,ifailure,jsms )
346
347 icnod = iparg(11,ng)
348 nsg = iparg(10,ng)
349 ics = iparg(17,ng)
350 nvc = iparg(19,ng)
351 ithk = iparg(28,ng)
352 isolnod = iparg(28,ng)
353 kfts = iparg(30,ng)
354 istra = iparg(44,ng)
355 ifail = iparg(43,ng)
356 imatvis = iparg(45,ng)
357 iexpan = iparg(49,ng)
358 igre = iparg(51,ng)
359 isph2sol = 0
360 ipartsph = iparg(69,ng)
361 ipreid = iparg(72,ng)
362 iformdt = iparg(73,ng)
363
364 IF (ity==1) icp = nsg
365 IF (ity==1 .OR. ity==2) jplasol=ipla
366
367 lft = 1
369 mtn = mlw
370 jft=lft
371 jlt=llt
372 nf1 = nft+1
373 iad = kad
374 jsph=0
375 ihet = 0
376
377 IF (ity==1 .AND. jlag==1)THEN
378 IF(ixs(10,nf1)/=0)THEN
379 igtyp = igeo(11,ixs(10,nf1))
380 ELSE
381 igtyp=0
382 ENDIF
383
384 IF (isens_energy == 1 .AND. ipri == 0)
386 IF (ipreid>0) THEN
387 gbuf => elbuf_tab(ng)%GBUF
388 fun_id = iparg(67,ng)
389 sens_id= iparg(68,ng)
390 CALL preload_solid_ini(python, nfunct,
391 1 fun_id ,sens_id ,npc ,snpc ,
392 2 tf ,stf ,sensors ,tt ,
393 3 gbuf%BPRELD ,gbuf%G_BPRELD ,nel )
394 END IF
395
396 IF(isolnod==4.AND.(isrot==0.OR.isrot==3))THEN
397
399 1 elbuf_tab, ng, pm, geo,
400 2 ixs, x, a, v,
401 3 ms, w, wa, val2,
402 4 veul, fv, ale_connect,iparg,
403 5 tf, npc, bufmat, partsav,
404 6 nloc_dmg, dt2t, neltst, ityptst,
405 7 stifn, fsky, iads, offset,
406 8 eani, iparts(nf1), fx(1,1), fy(1,1),
407 9 fz(1,1), fx(1,2), fy(1,2), fz(1,2),
408 a fx(1,3), fy(1,3), fz(1,3), fx(1,4),
409 b fy(1,4), fz(1,4), nel, fskym,
410 c msnf, ipm, igeo, bid,
411 d istra, itask, temp, fthe,
412 e fthesky, iexpan, gresav, grth,
413 f igrth(nf1), mssa(nf1), dmels(nf1), table
414 g xdp, sfem_nodvar, voln
415 h condnsky, d, sensors, ipri,
416 i mat_elem, ibid, dt, idel7nok,nsvois,ibid,
417 * snpc, stf, sbufmat, svis,idtmins
418 * idel7ng, maxfunc, userl_avail, glob_therm,
419 v impl_s, idyna, s_sfem_nodvar)
420
421 IF (nsect > 0) THEN
422 k0=nstrf(25)
423 n=ninter+nrwall+nrbody
424 DO i=1,nsect
425 n=n+1
426 k2=k0+30+nstrf(k0+14)
427 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
428 iparsens=0
429 isect=0
430 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+
431 NULLIFY(pfbsav6)
432 IF (isect/=0) THEN
433 iparsens=1
434 pfbsav6 => sensors%FSAV(1,1,isect)
435 ENDIF
436
438 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
439 3 ixs ,fani(1,1+2*(i-1)), secfcum
440 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
441 5 nstrf(k2),ms,
442 7 ixs10,isolnod,xsec(1,1,i),pfbsav6
443 k0=nstrf(k0+24)
444 ENDDO
445 ENDIF
446
447 ELSEIF (isolnod==10 .OR. (isolnod==4.AND.isrot==1)) THEN
448
450 1 elbuf_tab, ng, pm, geo,
451 2 ixs, x, a, v,
452 3 ms, w, wa, val2,
453 4 veul, fv, ale_connect, iparg,
454 5 tf, npc, bufmat, partsav,
455 6 nloc_dmg, dt2t, neltst, ityptst
456 7 stifn, fsky, iads
457 8 eani, iparts(nf1), ixs10, iads10,
458 9 nel, fx, fy, fz,
459 a ar, vr, dr, ipm
460 b istra, isolnod, itask
461 c fthe, fthesky, iexpan, stifr,
462 d d, gresav, grth, igrth(off_igrth+nf1),
463 e table, mssa(nf1), dmels
464 f xdp, voln, condn, condnsky,
465 g sfem_nodvar, itagnd, sensors, ipri,
466 h mat_elem, ibid, dt, idel7nok,
467 i snpc, stf, sbufmat, svis,
468 j nsvois, idtmins, idel7ng, maxfunc ,
469 v userl_avail, glob_therm, impl_s, idyna ,
470 w s_sfem_nodvar)
471
472 IF(nsect>0)THEN
473 k0=nstrf(25)
474 n=ninter+nrwall+nrbody
475 DO i=1,nsect
476 n=n+1
477 k2=k0+30+nstrf(k0+14)
478 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
479 iparsens=0
480 isect=0
481 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
482 NULLIFY(pfbsav6)
483 IF(isect/=0) THEN
484 iparsens=1
485 pfbsav6 => sensors%FSAV(1,1,isect)
486 ENDIF
487
488 CALL section_s4(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
489 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
490 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
491 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
492 5 nstrf(k2),ms,
493 7 ixs10,isolnod,xsec(1,1,i),pfbsav6,iparsens)
494 k0=nstrf(k0+24)
495 ENDDO
496 ENDIF
497
498 ELSEIF(isolnod==20)THEN
499
500
501
502 npe = 20
503 nipmax = 81
504 l1 = 1
505 l2 = l1 + mvsiz * nipmax
506 l3 = l2 + mvsiz * nipmax
507 l4 = l3 + mvsiz * nipmax
508 l5 = l4 + mvsiz * nipmax
509 l6 = l5 + mvsiz * nipmax
510 l7 = l6 + mvsiz * nipmax
511 l8 = l7 + mvsiz * nipmax
512 l9 = l8 + mvsiz * nipmax
513 l10 = l9 + mvsiz * nipmax
514 l11 = l10 + mvsiz * nipmax
515 l12 = l11
516 l13 = l12 + mvsiz * npe
517 l14 = l13 + mvsiz * npe
518 l15 = l14 + mvsiz * npe
519 l16 = l15 + mvsiz * npe
520 l17 = l16 + mvsiz * npe
521 l18 = l17 + mvsiz * npe
522 l19 = l18 + mvsiz * npe
523 l20 = l19 + mvsiz * npe
524 l21 = l20 + mvsiz * npe
525 l22 = l21 + mvsiz * npe
526 l23 = l22 + mvsiz * npe
527 l24 = l23 + mvsiz * npe
528 l25 = l24 + mvsiz * npe
529 l26 = l25 + mvsiz * npe
530 l27 = l26 + mvsiz * npe
531 l28 = l27 + mvsiz * npe * nipmax
532 l29 = l28 + mvsiz * npe * nipmax
533 l30 = l29 + mvsiz * npe * nipmax
534 off_igrth = numels8 + numels10
535
537 1 elbuf_tab, ng, pm, geo,
538 2 ixs, x, a, v,
539 3 ms, w, wa, val2,
540 4 veul, fv, ale_connect, iparg,
541 5 tf, npc, bufmat, partsav,
542 6 nloc_dmg, dt2t, neltst, ityptst,
543 7 stifn, fsky, iads, offset,
544 8 eani, iparts(nf1), ixs20, iads20,
545 9 nel, fx, fy, fz,
546 a w16(l1), w16(l2), w16(l3), w16(l4),
547 b w16(l5), w16(l6), w16(l7), w16(l8),
548 c w16(l9), w16(l10), w16(l12), w16(l13),
549 d w16(l14), w16(l15), w16(l16), w16(l17),
550 e w16(l18), w16(l19), w16(l20), w16(l21),
551 f w16(l22), w16(l23), w16(l24), w16(l25),
552 g w16(l26), w16(l27), w16(l28), w16(l29),
553 h ipm, istra, temp, fthe,
554 i fthesky, iexpan, gresav, grth,
555 j igrth(off_igrth+nf1),table, igeo, voln,
556 k condn, condnsky, itask, ipri,
557 l mat_elem, ibid, dt, idel7nok,
558 m snpc, stf, sbufmat, svis,
559 n idtmins, nsvois, iresp, idel7ng,
560 o idtmin, maxfunc, imon_mat, userl_avail,
561 . glob_therm, impl_s, idyna, sensors)
562
563 IF(nsect>0)THEN
564 k0=nstrf(25)
565 n=ninter+nrwall+nrbody
566 DO i=1,nsect
567 n=n+1
568 k2=k0+30+nstrf(k0+14)
569 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
570 iparsens=0
571 isect=0
572 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
573 NULLIFY(pfbsav6)
574 IF(isect/=0) THEN
575 iparsens=1
576 pfbsav6 => sensors%FSAV(1,1,isect)
577 ENDIF
578
579 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
580 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
581 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
582 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
583 5 nstrf(k2),ms,
584 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
585 k0=nstrf(k0+24)
586 ENDDO
587 ENDIF
588
589 ELSEIF(isolnod==16)THEN
590
591
592
593 npe = 16
594 nipmax = 81
595 l1 = 1
596 l2 = l1 + mvsiz * nipmax
597 l3 = l2 + mvsiz * nipmax
598 l4 = l3 + mvsiz * nipmax
599 l5 = l4 + mvsiz * nipmax
600 l6 = l5 + mvsiz * nipmax
601 l7 = l6 + mvsiz * nipmax
602 l8 = l7 + mvsiz * nipmax
603 l9 = l8 + mvsiz * nipmax
604 l10 = l9 + mvsiz * nipmax
605 l11 = l10 + mvsiz * nipmax
606 l12 = l11 + mvsiz * nipmax
607 l13 = l12 + mvsiz * npe
608 l14 = l13 + mvsiz * npe
609 l15 = l14 + mvsiz * npe
610 l16 = l15 + mvsiz * npe
611 l17 = l16 + mvsiz * npe
612 l18 = l17 + mvsiz * npe
613 l19 = l18 + mvsiz * npe
614 l20 = l19 + mvsiz * npe
615 l21 = l20 + mvsiz * npe
616 l22 = l21 + mvsiz * npe
617 l23 = l22 + mvsiz * npe
618 l24 = l23 + mvsiz * npe
619 l25 = l24 + mvsiz * npe
620 l26 = l25 + mvsiz * npe
621 l27 = l26 + mvsiz * npe
622 l28 = l27 + mvsiz * npe * nipmax
623 l29 = l28 + mvsiz * npe * nipmax
624 l30 = l29 + mvsiz * npe * nipmax
625 off_igrth = numels8 + numels10 + numels20
626
627 CALL s16forc3(timers, output,elbuf_tab,ng ,
628 1 pm ,geo ,ixs ,x ,
629 2 a ,v ,ms ,w ,wa ,
630 3 val2 ,veul ,fv ,ale_connect ,iparg ,
631 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
632 5 dt2t ,neltst ,ityptst ,stifn ,fsky ,
633 6 iads ,offset ,eani ,iparts(nf1),
634 7 ixs16 ,iads16 ,nel ,fx ,
635 8 fy ,fz ,w16(l1) ,w16(l2) ,w16(l3) ,
636 9 w16(l4) ,w16(l5) ,w16(l6) ,w16(l7) ,w16(l8) ,
637 a w16(l9) ,w16(l10) ,w16(l11) ,w16(l12) ,w16(l13) ,
638 b w16(l14) ,w16(l15) ,w16(l16) ,w16(l17) ,w16(l18) ,
639 c w16(l19) ,w16(l20) ,w16(l21) ,w16(l22) ,w16(l23) ,
640 d w16(l24) ,w16(l25) ,w16(l26) ,w16(l27) ,w16(l28) ,
641 e w16(l29) ,icp ,ics ,
642 f ipm ,istra ,temp ,fthe , fthesky,
643 g iexpan ,gresav ,grth ,igrth(off_igrth + nf1),table,
644 h igeo ,voln ,condn ,condnsky ,itask,ipri ,
645 i mat_elem ,ibid ,dt ,snpc ,
646 j stf ,sbufmat ,svis,nsvois,idtmins,iresp,
647 . idel7ng, idel7nok, idtmin, maxfunc,
648 . imon_mat ,userl_avail, glob_therm, impl_s,
649 v idyna,sensors)
650
651 IF(nsect>0)THEN
652
653 k0=nstrf(25)
654 n=ninter+nrwall+nrbody
655 DO i=1,nsect
656 n=n+1
657 k2=k0+30+nstrf(k0+14)
658 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
659 iparsens=0
660 isect=0
661 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
662 NULLIFY(pfbsav6)
663 IF(isect/=0) THEN
664 iparsens=1
665 pfbsav6 => sensors%FSAV(1,1,isect)
666 ENDIF
667
668 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
669 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
670 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
671 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
672 5 nstrf(k2),ms,
673 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
674 k0=nstrf(k0+24)
675 ENDDO
676 ENDIF
677
678
679 ELSEIF (jhbe == 24 .AND. isolnod == 6) THEN
680
681 CALL s6zforc3(
682 . timers ,output ,ngroup ,elbuf_tab,npropm ,nummat ,pm ,
683 . ng ,npropg ,numgeo ,geo ,nixs ,numels ,numelq ,
684 . nsvois ,ixs ,numnod ,x ,a ,v ,
685 . w ,wa ,val2 ,ale_connect,nparg ,iparg ,
686 . stf ,tf ,snpc ,npc ,sbufmat ,bufmat ,npsav ,
687 . npart ,partsav ,dt2t ,neltst ,ityptst ,stifn ,lsky ,
688 . fsky ,iads ,offset ,nel ,iparts(nf1),
689 . fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,fz(1,2) ,
690 . fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,fy(1,4) ,fz(1,4) ,
691 . fx(1,5) ,fy(1,5) ,fz(1,5) ,fx(1,6) ,fy(1,6) ,fz(1,6) ,
692 . nloc_dmg,npropmi ,ipm ,istra ,npropgi ,igeo ,ngpe ,
693 . nthread ,gresav ,ngrth ,nelem ,grth ,igrth(nf1),ntable ,
694 . table ,mssa(nf1) ,dmels(nf1),voln ,itask ,ipri ,mat_elem ,
695 . ibid ,ifthe ,fthe ,fthesky ,icondn ,condn ,condnsky ,
696 . iexpan ,dt ,svis ,iresp ,idel7nok ,maxfunc ,imon_mat ,
697 . userl_avail,glob_therm,xdp ,sensors ,dt1 ,volmin ,th_strain,
698 . idtmin ,tt ,idyna ,impl_s ,ineg_v ,iparit ,irep ,
699 . iscau ,ismdisp ,ismstr ,isorth ,isorthg ,jale ,jcvt ,
700 . jeul ,jlag ,jsph ,jplasol ,jthe ,mstop ,mtn ,
701 . n2d ,ncpri ,ncycle ,nfilsol ,nft ,iint ,nodadt ,
702 . dtfac1 )
703
704 IF (nsect>0) THEN
705 k0 = nstrf(25)
706 n = ninter+nrwall+nrbody
707 DO i=1,nsect
708 n = n+1
709 k2 = k0+30+nstrf(k0+14)
710 k3 = k0+30+nstrf(k0+14)+nstrf(k0+6)
711 iparsens = 0
712 isect = 0
713 IF (sensors%STABSEN > 0) isect = sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
714 NULLIFY(pfbsav6)
715 IF (isect/=0) THEN
716 iparsens=1
717 pfbsav6 => sensors%FSAV(1,1,isect)
718 ENDIF
719
720 CALL section_s6(jft, jlt, nft, nstrf(k0+7), nstrf(k0+3),
721 . nstrf(k0+4), nstrf(k0+5), nstrf(k3), x, v,
722 . fsav(1,n), ixs, fani(1,1+2*(i-1)), secfcum(1,1,i), fx,
723 . fy, fz, nstrf(k0), nstrf(k0+14), nstrf(k0+26),
724 . nstrf(k0+6), nstrf(k2), ms,xsec(1,1,i),
725 . pfbsav6,iparsens)
726 k0 = nstrf(k0+24)
727 ENDDO
728 ENDIF
729
730
731 ELSEIF(jhbe == 15)THEN
732
733
734
735 IF(isolnod==6)THEN
736
737 CALL s6cforc3(timers, output, elbuf_tab,ng ,
738 1 pm ,geo ,ixs ,x ,
739 2 a ,v ,ms ,w ,wa ,
740 3 val2 ,veul ,fv ,ale_connect ,iparg ,
741 4 tf ,npc ,bufmat ,partsav ,
742 5 dt2t ,neltst,ityptst,stifn ,fsky ,
743 6 iads ,offset ,eani ,iparts(nf1) ,
744 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
745 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
746 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
747 a fx(1,6) ,fy(1,6) ,fz(1,6) ,nel ,
748 b icp ,ics ,nloc_dmg,
749 c ipm ,istra ,igeo ,gresav ,grth ,
750 d igrth(nf1),table ,mssa(nf1),dmels(nf1) ,voln ,
751 e itask ,ipri ,mat_elem ,ibid,temp ,
752 f fthe ,fthesky ,condn ,condnsky ,
753 g iexpan,ifthe ,icondn ,dt ,snpc,stf,
754 h sbufmat,svis,nsvois, idtmins ,iresp,
755 i idel7ng ,idel7nok,maxfunc, imon_mat, userl_avail,
756 j glob_therm,xdp,sensors )
757
758 IF(nsect>0)THEN
759 k0=nstrf(25)
760 n=ninter+nrwall+nrbody
761 DO i=1,nsect
762 n=n+1
763 k2=k0+30+nstrf(k0+14)
764 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
765 iparsens=0
766 isect=0
767 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
768 NULLIFY(pfbsav6)
769 IF(isect/=0) THEN
770 iparsens=1
771 pfbsav6 => sensors%FSAV(1,1,isect)
772 ENDIF
773
774 CALL section_s6(jft, jlt, nft, nstrf(k0+7), nstrf(k0+3),
775 2 nstrf(k0+4), nstrf(k0+5), nstrf(k3), x, v,
776 3 fsav(1,n), ixs, fani(1,1+2*(i-1)), secfcum(1,1,i), fx,
777 4 fy, fz, nstrf(k0), nstrf(k0+14), nstrf(k0+26),
778 5 nstrf(k0+6), nstrf(k2), ms,xsec(1,1,i),
779 6 pfbsav6,iparsens)
780 k0=nstrf(k0+24)
781 ENDDO
782 ENDIF
783
784 ELSE
785
786
787 CALL scforc3(timers, output, elbuf_tab,ng ,
788 1 pm ,geo ,ixs ,x ,
789 2 a ,v ,ms ,w ,wa ,
790 3 val2 ,veul ,fv ,ale_connect ,iparg ,
791 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
792 5 dt2t ,neltst ,ityptst ,stifn ,fsky ,
793 6 iads ,offset ,eani ,iparts(nf1) ,
794 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
795 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
796 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
797 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
798 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
799 c icp ,ics ,nvc ,
800 d ipm ,istra ,temp ,fthe ,fthesky ,
801 e iexpan ,igeo ,gresav ,grth ,igrth(nf1),
802 f mssa(nf1),dmels(nf1),table ,xdp ,voln ,
803 g condn ,condnsky ,itask ,ipri ,mat_elem ,
804 h ibid ,dt ,snpc ,stf ,sbufmat ,
805 i svis ,nsvois , idtmins,iresp,idel7ng ,idel7nok,maxfunc,imon_mat,
806 j userl_avail, glob_therm, impl_s, idyna,sensors)
807
808 IF (nsect > 0)THEN
809 k0=nstrf(25)
810 n=ninter+nrwall+nrbody
811 DO i=1,nsect
812 n=n+1
813 k2=k0+30+nstrf(k0+14)
814 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
815 iparsens=0
816 isect=0
817 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
818 NULLIFY(pfbsav6)
819 IF(isect/=0) THEN
820 iparsens=1
821 pfbsav6 => sensors%FSAV(1,1,isect)
822 ENDIF
823
824 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
825 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
826 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
827 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
828 5 nstrf(k2),ms,
829 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
830 k0=nstrf(k0+24)
831 ENDDO
832 ENDIF
833
834 ENDIF
835 ELSEIF (jhbe == 17) THEN
836
837 IF (iparg(36,ng)==3) THEN
838
839 CALL s8sforc3(timers,output, elbuf_tab,ng ,
840 1 pm ,geo ,ixs ,x ,
841 2 a ,v ,ms ,w ,wa ,
842 3 val2 ,veul ,fv ,ale_connect ,iparg ,
843 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
844 5 dt2t ,neltst ,ityptst ,stifn ,fsky ,
845 6 iads ,offset ,eani ,iparts(nf1),icp ,
846 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
847 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
848 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
849 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
850 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
851 c nvc ,ipm ,itask ,istra ,
852 d temp ,fthe ,fthesky ,iexpan ,gresav ,
853 e grth ,igrth(nf1),mssa(nf1),dmels(nf1),table ,
854 f igeo ,xdp ,voln ,condn ,condnsky ,
855 g d ,ipri ,mat_elem ,ibid,snpc,stf,sbufmat,
856 h svis ,nsvois ,idtmins ,iresp,idtmin,maxfunc ,
857 i userl_avail,dt ,glob_therm,sensors)
858 ELSE
859
860
861
863 1 elbuf_tab, ng, pm, geo,
864 2 ixs, x, a, v,
865 3 ms, w, wa,
866 4 veul, fv, ale_connect,iparg,
867 5 tf, npc, bufmat, partsav,
868 6 nloc_dmg, dt2t, neltst, ityptst,
869 7 stifn, fsky, iads, offset,
870 8 eani, iparts(nf1),icp, fx(1,1),
871 9 fy(1,1), fz(1,1), fx(1,2), fy(1,2),
872 a fz(1,2), fx(1,3), fy(1,3), fz(1,3),
873 b fx(1,4), fy(1,4), fz(1,4), fx(1,5),
874 c fy(1,5), fz(1,5), fx(1,6), fy(1,6),
875 d fz(1,6), fx(1,7), fy(1,7), fz(1,7),
876 e fx(1,8), fy(1,8), fz(1,8), nel,
877 f nvc, ipm, itask, istra,
878 g temp, fthe, fthesky, iexpan,
879 h gresav, grth, igrth(nf1), mssa(nf1),
880 i dmels(nf1), table, igeo, xdp,
881 j voln, condn, condnsky, d,
882 k sensors, ipri, mat_elem, ibid,
883 l dt, snpc, stf, sbufmat,svis,
884 m nsvois, idtmins, iresp, maxfunc,
885 v userl_avail,glob_therm, impl_s, idyna )
886 ENDIF
887
888 IF (nsect > 0) THEN
889 k0=nstrf(25)
890 n=ninter+nrwall+nrbody
891 DO i=1,nsect
892 n=n+1
893 k2=k0+30+nstrf(k0+14)
894 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
895 iparsens=0
896 isect=0
897 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
898 NULLIFY(pfbsav6)
899 IF(isect/=0) THEN
900 iparsens=1
901 pfbsav6 => sensors%FSAV(1,1,isect)
902 ENDIF
903
904 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
905 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
906 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
907 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
908 5 nstrf(k2),ms,
909 7 ixs20,ixs16,isolnod,xsec(1,1,i),
910 8 pfbsav6,iparsens)
911 k0=nstrf(k0+24)
912 ENDDO
913 ENDIF
914 ELSEIF (jhbe == 14 .AND.
915 . (igtyp == 20 .OR. igtyp == 21 .OR. igtyp == 22)) THEN
916
917
918
919 nipmax = 729
920 l1 = 1
921 l2 = l1 + mvsiz * nipmax
922 l3 = l2 + mvsiz * nipmax
923 l4 = l3 + mvsiz * nipmax
924 l5 = l4 + mvsiz * nipmax
925 l6 = l5 + mvsiz * nipmax
926 l7 = l6 + mvsiz * nipmax
927 l8 = l7 + mvsiz * nipmax
928 l9 = l8 + mvsiz * nipmax
929 l10 = l9 + mvsiz * nipmax
930 l11 = l10 + mvsiz * nipmax
931 l12 = l11 + mvsiz * nipmax
932
933 CALL s8cforc3(timers, output, elbuf_tab,ng ,
934 1 pm ,geo ,ixs ,x ,
935 2 a ,v ,ms ,w ,wa ,
936 3 val2 ,veul ,fv ,ale_connect ,iparg ,
937 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
938 5 dt2t ,neltst ,ityptst,stifn ,fsky ,
939 6 iads ,offset ,eani ,iparts(nf1) ,
940 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
941 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
942 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
943 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
944 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
945 c icp ,
946 f ics ,w16(l1) ,w16(l2) ,w16(l3) ,w16(l4) ,
947 g w16(l5) ,w16(l6) ,w16(l7) ,w16(l8) ,w16(l9) ,
948 h w16(l10) ,w16(l11) ,w16(l12),nvc ,ipm ,
949 i itask ,istra ,temp ,fthe,
950 j fthesky ,iexpan ,igeo ,npt ,gresav ,
951 k grth ,igrth(nf1),mssa(nf1),dmels(nf1),table,
952 l xdp ,voln ,condn ,condnsky,sensors,
953 m ipri ,mat_elem ,ibid ,dt ,nodadt, dtfac1,
954 n dtmin1 ,idtmin ,snpc,stf,sbufmat,svis,nsvois,idtmins,
955 o iresp ,maxfunc ,userl_avail,
956 p glob_therm,impl_s,idyna)
957
958 IF (nsect > 0) THEN
959 k0=nstrf(25)
960 n=ninter+nrwall+nrbody
961 DO i=1,nsect
962 n=n+1
963 k2=k0+30+nstrf(k0+14)
964 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
965 iparsens=0
966 isect=0
967 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
968 NULLIFY(pfbsav6)
969 IF(isect/=0) THEN
970 iparsens=1
971 pfbsav6 => sensors%FSAV(1,1,isect)
972 ENDIF
973
974 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
975 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
976 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
977 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
978 5 nstrf(k2),ms,
979 7 ixs20,ixs16,isolnod,xsec(1,1,i),
980 8 pfbsav6,iparsens)
981 k0=nstrf(k0+24)
982 ENDDO
983 ENDIF
984 ELSEIF (jhbe == 14 .OR. jhbe == 222) THEN
985
986
987
988 nipmax = 729
989 l1 = 1
990 l2 = l1 + mvsiz * nipmax
991 l3 = l2 + mvsiz * nipmax
992 l4 = l3 + mvsiz * nipmax
993 l5 = l4 + mvsiz * nipmax
994 l6 = l5 + mvsiz * nipmax
995 l7 = l6 + mvsiz * nipmax
996 l8 = l7 + mvsiz * nipmax
997 l9 = l8 + mvsiz * nipmax
998 l10 = l9 + mvsiz * nipmax
999 l11 = l10 + mvsiz * nipmax
1000 l12 = l11 + mvsiz * nipmax
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010 npt0 = iparg(6,ng)
1011
1012 CALL s8zforc3(timers, output, elbuf_tab,ng ,
1013 1 pm ,geo ,ixs ,x ,
1014 2 a ,v ,ms ,w ,wa ,
1015 3 val2 ,veul ,fv ,ale_connect ,iparg ,
1016 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
1017 5 dt2t ,neltst ,ityptst ,stifn ,fsky ,
1018 6 iads ,offset ,eani ,iparts(nf1),icp ,
1019 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
1020 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
1021 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
1022 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
1023 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
1024 f ics ,w16(l1) ,w16(l2) ,w16(l3) ,w16(l4) ,
1025 g w16(l5) ,w16(l6) ,w16(l7) ,w16(l8) ,w16(l9) ,
1026 h w16(l10) ,w16(l11) ,w16(l12) ,nvc ,ipm ,
1027 i itask ,istra ,temp ,fthe ,
1028 j fthesky ,iexpan ,igeo ,npt0 ,gresav ,
1029 k grth ,igrth(nf1),mssa(nf1),dmels(nf1) ,table ,
1030 l xdp ,voln ,condn ,condnsky ,jfac,
1031 m d ,sensors ,ipri ,mat_elem ,ibid,dt ,snpc,
1032 n stf ,sbufmat ,svis ,nsvois ,idtmins ,
1033 o iresp ,maxfunc ,userl_avail, glob_therm,
1034 p impl_s ,idyna)
1035
1036 IF (nsect > 0) THEN
1037 k0=nstrf(25)
1038 n=ninter+nrwall+nrbody
1039 DO i=1,nsect
1040 n=n+1
1041 k2=k0+30+nstrf(k0+14)
1042 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
1043 iparsens=0
1044 isect=0
1045 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1046 NULLIFY(pfbsav6)
1047 IF(isect/=0) THEN
1048 iparsens=1
1049 pfbsav6 => sensors%FSAV(1,1,isect)
1050 ENDIF
1051
1052 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
1053 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
1054 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
1055 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1056 5 nstrf(k2),ms,
1057 7 ixs20,ixs16,isolnod,xsec(1,1,i),
1058 8 pfbsav6,iparsens)
1059 k0=nstrf(k0+24)
1060 ENDDO
1061 ENDIF
1062
1063 ELSEIF(igtyp>=29)THEN
1064
1065 IF (isens_energy == 1 .AND. ipri == 0)
1067
1068
1069
1070 CALL suforc3(timers,elbuf_tab(ng),
1071 1 jft ,jlt ,nft ,nel ,ixs ,
1072 2 pm ,geo ,ipm ,igeo ,x ,
1073 3 a ,ar ,v ,vr ,w ,
1074 4 d ,ms ,in ,tf ,npc ,
1075 5 bufmat ,iparg ,iparts(nf1),partsav ,mat_elem%MAT_PARAM,
1076 6 fsky ,fr_wave ,iads ,eani ,stifn ,
1077 7 stifr ,fx ,fy ,fz ,ifailure ,
1078 8 mtn ,igtyp ,npt ,jsms ,mssa(nf1),
1079 9 dmels(nf1),itask ,ipri ,jthe ,table ,
1080 a idtmins,dtfacs ,dtmins)
1081
1082 ELSEIF (npt == 1)THEN
1083
1084 IF (jhbe == 24) THEN
1085
1086
1087
1088 ihet = iint
1089
1090 CALL szforc3(timers,elbuf_tab,ng ,
1091 1 pm ,geo ,ixs ,x ,
1092 2 a ,v ,ms ,w ,wa ,
1093 3 val2 ,veul ,fv ,ale_connect ,iparg ,
1094 4 tf ,npc ,bufmat ,partsav ,
1095 5 dt2t ,neltst,ityptst,stifn ,fsky ,
1096 6 iads ,offset,eani ,iparts(nf1) ,icp,
1097 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
1098 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
1099 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
1100 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
1101 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
1102 c fskym ,msnf ,nvc ,ipm ,itask ,
1103 d qmvbid ,istra ,imatvis ,temp ,fthe ,
1104 e fthesky ,iexpan ,gresav ,grth ,igrth(nf1),
1105 f mssa(nf1),dmels(nf1),table,igeo ,xdp ,
1106 g condn ,condnsky ,
1107 h d ,tagprt_sms,sensors ,ipri ,
1108 i nale ,nloc_dmg ,mat_elem,ibid,dt,
1109 j output,nsvois,ibid,snpc,stf,sbufmat,svis,iresp,
1110 k maxfunc, userl_avail, glob_therm, impl_s ,idyna)
1111
1112 ELSE
1113
1114
1115
1116 nv46 = 6
1117 IF(n2d /= 0) nv46 = 4
1118
1119 CALL sforc3(timers, output,
1120 1 elbuf_tab, ng, pm, geo,
1121 2 ixs, x, nv46, a,
1122 3 v, ms, w, wa,
1123 4 val2, veul, fv, ale_connect,
1124 5 iparg, tf, npc, bufmat,
1125 6 partsav, itab, dt2t, neltst,
1126 7 ityptst, stifn, fsky, iads,
1127 8 offset, eani, iparts(nf1),fx(1,1),
1128 9 fy(1,1), fz(1,1), fx(1,2), fy(1,2),
1129 a fz(1,2), fx(1,3), fy(1,3), fz(1,3),
1130 b fx(1,4), fy(1,4), fz(1,4), fx(1,5),
1131 c fy(1,5), fz(1,5), fx(1,6), fy(1,6),
1132 d fz(1,6), fx(1,7), fy(1,7), fz(1,7),
1133 e fx(1,8), fy(1,8), fz(1,8), nel,
1134 f fskym, msnf, ibid, bid,
1135 g nvc, ipm, igeo, ar,
1136 h vr, in, fr_wave, dr,
1137 i bid, itask, qmvbid, istra,
1138 j temp, fthe, fthesky, iexpan,
1139 k gresav, grth, igrth(nf1), mssa(nf1),
1140 l dmels(nf1), table, phi1, phi2,
1141 m vf, af, df, wf,
1142 n ffsky, afglob, msf, iparg(1,ng),
1143 o xdp, por, icontact, ifoam,
1144 p voln, condn, condnsky, agrav,
1145 q igrv, lgrav, sensors, skew,
1146 r nale, d, ipri, nloc_dmg,
1147 s mat_elem, ibid, dt, idel7nok,nsvois,
1148 t ibid, snpc, stf, sbufmat,svis,idtmins,
1149 u iresp, idel7ng, maxfunc, userl_avail, glob_therm,
1150 v impl_s, idyna, output%TH%WFEXT)
1151
1152 ENDIF
1153
1154 IF (nsect > 0)THEN
1155 k0=nstrf(25)
1156 n=ninter+nrwall+nrbody
1157 DO i=1,nsect
1158 n=n+1
1159 k2=k0+30+nstrf(k0+14)
1160 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
1161 iparsens=0
1162 isect=0
1163 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1164 NULLIFY(pfbsav6)
1165 IF(isect/=0) THEN
1166 iparsens=1
1167 pfbsav6 => sensors%FSAV(1,1,isect)
1168 ENDIF
1169
1170 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
1171 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
1172 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
1173 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1174 5 nstrf(k2),ms,
1175 7 ixs20,ixs16,isolnod,xsec(1,1,i),
1176 8 pfbsav6,iparsens)
1177 k0=nstrf(k0+24)
1178 ENDDO
1179 ENDIF
1180 ELSEIF (npt == 8 .AND. mtn /= 0) THEN
1181
1182
1183
1185 1 elbuf_tab(ng),pm ,geo ,ixs ,x ,
1186 2 a ,v ,ms ,
1187 3 veul ,fv ,ale_connect ,iparg ,
1188 4 tf ,npc ,bufmat ,partsav ,
1189 5 stifn ,fsky ,iads ,offset ,iparts(nf1),
1190 6 nel ,dt2t ,neltst ,ityptst ,ipm ,
1191 7 itask ,gresav ,grth ,igrth(nf1),mssa(nf1) ,
1192 8 dmels(nf1) ,table,ipri ,mat_elem,ng ,svis ,glob_therm,
1193 9 snpc ,numgeo ,sbufmat ,stf,ntable,sensors)
1194
1195 IF (nsect > 0)THEN
1196 k0=nstrf(25)
1197 n=ninter+nrwall+nrbody
1198 DO i=1,nsect
1199 n=n+1
1200 k2=k0+30+nstrf(k0+14)
1201 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
1202 iparsens=0
1203 isect=0
1204 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1205 NULLIFY(pfbsav6)
1206 IF(isect/=0) THEN
1207 iparsens=1
1208 pfbsav6 => sensors%FSAV(1,1,isect)
1209 ENDIF
1210
1211 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
1212 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
1213 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
1214 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1215 5 nstrf(k2),ms,
1216 7 ixs20,ixs16,isolnod,xsec(1,1,i),
1217 8 pfbsav6,iparsens)
1218 k0=nstrf(k0+24)
1219 ENDDO
1220 ENDIF
1221 ENDIF
1222
1223 ELSEIF(ity==2.AND.jmult==0.AND.jlag==1.AND.
1224 . icrack==0) THEN
1225 off_igrth = numels
1226
1227 IF (isens_energy == 1 .AND. ipri == 0)
1229 IF(jhbe==17 .OR. (n2d==1.AND.jhbe==22)) THEN
1230
1232 1 pm ,geo ,ixq ,x ,a ,
1233 2 v ,ms ,w ,wa ,val2 ,
1234 3 veul ,fv ,ale_connect ,iparg ,nloc_dmg,
1235 4 elbuf_tab,tf ,npc ,bufmat ,partsav ,
1236 5 dt2t ,neltst,ityptst,stifn ,offset ,
1237 6 eani ,ipartq(nf1),nel,iadq ,fsky ,
1238 7 iparg(10,ng),ng ,
1239 8 ipm ,bid ,qmvbid ,gresav ,grth ,
1240 9 igrth(off_igrth+nf1),table ,igeo ,itask ,iexpan,
1241 a ms_2d ,fskym ,ipri ,mat_elem ,ibid,ibid,snpc,
1242 b stf,sbufmat,svis,nsvois,idtmins,iresp,tt,dt1,
1243 . idel7ng, idel7nok, idtmin, maxfunc,imon_mat,
1244 v userl_avail, impl_s, idyna,
1245 . dt , glob_therm,sensors)
1246 ELSE
1247
1248 CALL qforc2(timers, output, elbuf_tab,ng ,
1249 1 pm ,geo ,ixq ,x ,a ,
1250 2 v ,ms ,w ,wa ,val2 ,
1251 3 veul ,ale_connect ,iparg ,nloc_dmg ,
1252 4 tf ,npc ,bufmat ,partsav ,
1253 5 dt2t ,neltst ,ityptst ,stifn ,offset ,
1254 6 eani ,ipartq(nf1),nel ,iadq ,fsky ,
1255 9 ipm ,bid ,qmvbid ,
1256 a gresav ,grth ,igrth(off_igrth+nf1),table,igeo ,
1257 b voln ,itask ,ms_2d ,fskym ,ipri ,
1258 c mat_elem,h3d_data%STRAIN,ibid,snpc,stf,sbufmat,
1259 d svis,nsvois,iresp,tt,dt1,
1260 . idel7nok, idtmin, maxfunc,
1261 . imon_mat,userl_avail, impl_s, idyna,
1262 . dt ,glob_therm,sensors)
1263
1264 ENDIF
1265
1266 ELSEIF (ity == 4) THEN
1267 k1=1 + 6*(numelc+numeltg)*iepsdot+15*nft
1268 off_igrth = numels+numelq+numelc
1269
1270 IF (ipreid>0) THEN
1271 fun_id = iparg(73,ng)
1272 sens_id= iparg(74,ng)
1273 CALL get_preload_axial(python, nfunct,
1274 1 fun_id ,sens_id ,npc ,snpc ,
1275 2 tf ,stf ,sensors ,tt ,
1276 3 preload1 ,stf_f )
1277 ELSE
1278 preload1 =zero
1279 END IF
1280
1281 IF (isens_energy == 1 .AND. ipri == 0)
1283
1284 CALL tforc3(mat_elem%MAT_PARAM,nummat,
1285 1 elbuf_tab(ng), jft, jlt, pm,
1286 2 geo, ixt, x, a,
1287 3 v, partsav, bufmat, dt2t,
1288 4 neltst, ityptst, stifn, fsky,
1289 5 iadt, offset, ipartt(nf1), tani(k1),
1290 6 fx(1,1), fx(1,2), fy(1,1), fy(1,2),
1291 7 fz(1,1), fz(1,2), nel, gresav,
1292 8 grth, igrth(off_igrth+nf1),mstr(nf1), dmeltr(nf1),
1293 9 ipri, ipm, npc, tf,
1294 a itask, h3d_data, nft, mtn,
1295 b jsms, igre, preload1, stf_f,
1296 c dt, sensors)
1297
1298 IF (nsect > 0) THEN
1299 k0=nstrf(25)
1300 n=ninter+nrwall+nrbody
1301 DO i=1,nsect
1302 n=n+1
1303 k2=k0+30+nstrf(k0+14)
1304 k6=k0+30+nstrf(k0+14)+nstrf(k0+6)
1305 1 +2*nstrf(k0+7)+2*nstrf(k0+8)+2*nstrf(k0+9)
1306 iparsens=0
1307 isect=0
1308 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1309 NULLIFY(pfbsav6)
1310 IF(isect/=0) THEN
1311 iparsens=1
1312 pfbsav6 => sensors%FSAV(1,1,isect)
1313 ENDIF
1314
1315 CALL section_t(jft,jlt,nft,nstrf(k0+10),nstrf(k0+3),
1316 2 nstrf(k0+4),nstrf(k0+5),nstrf(k6),x,v,fsav(1,n),
1317 3 ixt ,fani(1,1+2*(i-1)), secfcum(1,1,i) ,
1318 4 fx ,fy ,fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),
1319 5 nstrf(k0+6),nstrf(k2) ,ms,
1320 6 xsec(1,1,i), pfbsav6,iparsens)
1321
1322 k0=nstrf(k0+24)
1323 ENDDO
1324 ENDIF
1325
1326 ELSEIF (ity == 5) THEN
1327 off_igrth = numels+numelq+numelc+numelt
1328 k1=1 + 6*(numelc+numeltg)*iepsdot + 15*(numelt+nft)
1329
1330 IF (ipreid>0) THEN
1331 fun_id = iparg(73,ng)
1332 sens_id= iparg(74,ng)
1333 CALL get_preload_axial(python, nfunct,
1334 1 fun_id ,sens_id ,npc ,snpc ,
1335 2 tf ,stf ,sensors ,tt ,
1336 3 preload1 ,stf_f )
1337 ELSE
1338 preload1 =zero
1339 END IF
1340
1341 IF (isens_energy == 1 .AND. ipri == 0)
1343
1345 1 elbuf_tab(ng),jft ,jlt ,nel ,
1346 2 mtn ,ismstr ,pm ,ixp(1,nf1) ,
1347 3 x ,a ,ar ,v ,
1348 4 vr ,geo ,partsav ,dt2t ,
1349 5 neltst ,ityptst ,stifn ,stifr ,
1350 6 fsky ,iadp ,offset ,ipartp(nf1),
1351 7 tani(k1) ,fx(1,1) ,fx(1,2) ,fy(1,1) ,
1352 8 fy(1,2) ,fz(1,1) ,fz(1,2) ,mx(1,1) ,
1353 9 mx(1,2) ,my(1,1) ,my(1,2) ,mz(1,1) ,
1354 a mz(1,2) ,igeo ,ipm ,bufmat ,
1355 b npt ,npc ,tf ,gresav ,
1356 c grth ,igrth(off_igrth+nf1),msp(nf1) ,dmelp(nf1) ,
1357 d ipri ,itask ,jthe ,temp ,
1358 e fthe ,fthesky ,iexpan ,h3d_data ,
1359 f jsms ,igre ,nft ,ifail ,
1360 g sbufmat ,snpc ,stf ,nummat ,
1361 h numgeo ,iout ,istdo ,idel7nok ,
1362 i idyna ,imconv ,impl_s ,mat_elem%MAT_PARAM,
1363 j preload1 ,stf_f ,dt ,sensors ,
1364 k ntable ,table )
1365
1366 IF (nsect > 0) THEN
1367 k0=nstrf(25)
1368 n=ninter+nrwall+nrbody
1369 DO i=1,nsect
1370 n=n+1
1371 k2=k0+30+nstrf(k0+14)
1372 k7=k0+30+nstrf(k0+14)+nstrf(k0+6)
1373 1 +2*nstrf(k0+7)+2*nstrf(k0+8)+2*nstrf(k0+9)
1374 2 +2*nstrf(k0+10)
1375 iparsens=0
1376 isect=0
1377 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1378 NULLIFY(pfbsav6)
1379 IF(isect/=0) THEN
1380 iparsens=1
1381 pfbsav6 => sensors%FSAV(1,1,isect)
1382 ENDIF
1383
1384 CALL section_p(jft,jlt,nft,nstrf(k0+11),nstrf(k0+3),
1385 2 nstrf(k0+4),nstrf(k0+5),nstrf(k7),x,v,vr,fsav(1,n),
1386 3 ixp ,fani(1,1+2*(i-1)), secfcum(1,1,i) ,
1387 4 fx ,fy ,fz ,mx ,my, mz,
1388 5 nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1389 6 nstrf(k2),ms,
1390 8 xsec(1,1,i),pfbsav6,iparsens)
1391 k0=nstrf(k0+24)
1392 ENDDO
1393 ENDIF
1394
1395 ELSEIF (ity == 6) THEN
1396 k1=1 + 6*(numelc+numeltg)*iepsdot + 15*(numelt+numelp+nft)
1397 off_igrth = numels+numelq+numelc+numelt+numelp
1398
1399 IF (ipreid>0) THEN
1400 fun_id = iparg(73,ng)
1401 sens_id= iparg(74,ng)
1402 CALL get_preload_axial(python, nfunct,
1403 1 fun_id ,sens_id ,npc ,snpc ,
1404 2 tf ,stf ,sensors ,tt ,
1405 3 preload1 ,stf_f )
1406 ELSE
1407 preload1 =zero
1408 END IF
1409 IF (isens_energy == 1 .AND. ipri == 0)
1411 IF(igtyp == 23) THEN
1413 1 elbuf_tab(ng), jft, jlt, nel,
1414 2 mtn, igeo, geo, ipm,
1415 3 ixr(1,nf1), x, table, xdp,
1416 4 a, npc, tf, skew,
1417 5 flg_kj2, vr, ar, v,
1418 6 dt2t, neltst, ityptst, stifn,
1419 7 stifr, ms, in, fsky,
1420 8 iadr, sensors , offset, anin,
1421 9 partsav, ipartr(nf1), tani(k1), fr_wave,
1422 a bufmat, bufgeo, pm, rby,
1423 b fx(1,1), fx(1,2), fy(1,1), fy(1,2),
1424 c fz(1,1), fz(1,2), mx(1,1), mx(1,2),
1425 d my(1,1), my(1,2), mz(1,1), mz(1,2),
1426 e gresav, grth, igrth(off_igrth+nf1), msrt(nf1),
1427 f dmelrt(nf1), flag_slipring_update, flag_retractor_update,h3d_data,
1428 g jsms, igre, nft, preload1 ,
1429 h stf_f, stf, sanin, iresp,
1430 i snpc )
1431 ELSE
1433 1 elbuf_tab(ng), jft, jlt, nel,
1434 2 mtn, igeo, geo, ixr(1,nf1),
1435 3 x, table, xdp, a,
1436 4 npc, tf, skew, flg_kj2,
1437 5 vr, ar, v, dt2t,
1438 6 neltst, ityptst, stifn, stifr,
1439 7 ms, in, fsky, iadr,
1440 8 sensors , offset, anin, partsav,
1441 9 ipartr(nf1), tani(k1), fr_wave, bufmat,
1442 a bufgeo, pm, rby, fx(1,1),
1443 b fx(1,2), fy(1,1), fy(1,2), fz(1,1),
1444 c fz(1,2), mx
1445 d my(1,2), mz(1,1), mz(1,2), gresav,
1446 e grth, igrth(off_igrth+nf1),msrt(nf1), dmelrt(nf1),
1447 f itask, h3d_data, jsms, nft,
1448 g iad, igre, preload1 , stf_f ,
1449 h stf, sanin, iresp, impl_s,
1450 i idyna, snpc)
1451
1452 ENDIF
1453
1454 IF (nsect > 0) THEN
1455 k0=nstrf(25)
1456 n=ninter+nrwall+nrbody
1457 DO i=1,nsect
1458 n=n+1
1459 k2=k0+30+nstrf(k0+14)
1460 k8=k0+30+nstrf(k0+14)+nstrf(k0+6)
1461 1 +2*nstrf(k0+7)+2*nstrf(k0+8)+2*nstrf(k0+9)
1462 2 +2*nstrf(k0+10)+2*nstrf(k0+11)
1463 iparsens=0
1464 isect=0
1465 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1466 NULLIFY(pfbsav6)
1467 IF(isect/=0) THEN
1468 iparsens=1
1469 pfbsav6 => sensors%FSAV(1,1,isect)
1470 ENDIF
1471
1472 CALL section_r(jft,jlt,nft,nstrf(k0+12),nstrf(k0+3),
1473 2 nstrf(k0+4),nstrf(k0+5),nstrf(k8),x,v,vr,fsav(1,n),
1474 3 ixr ,fani(1,1+2*(i-1)), secfcum(1,1,i) ,
1475 4 fx ,fy ,fz ,mx ,my, mz,
1476 5 nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1477 6 nstrf(k2),ms,
1478 8 xsec(1,1,i), pfbsav6,iparsens)
1479 k0=nstrf(k0+24)
1480 ENDDO
1481 ENDIF
1482
1483 ELSEIF(ity==101)THEN
1484 off_igrth = numels+numelq+numelc+numelt+numelp+
1485 . numelr
1486
1487
1488 nctrl = iparg(75,ng)
1489 px = igeo(41,iparg(62,ng))
1490 py = igeo(42,iparg(62,ng))
1491 pz = igeo(43,iparg(62,ng))
1492
1493 IF (isens_energy == 1 .AND. ipri == 0)
1495
1497 1 elbuf_tab, ng, jft, jlt,
1498 2 nft, nel, ixs, pm,
1499 3 geo, ipm, igeo, x,
1500 4 a, ar, v, vr,
1501 5 w, d, ms, in,
1502 6 tf, npc, bufmat, iparg,
1503 7 iparts(nf1), partsav, nloc_dmg, fsky,
1504 8 fr_wave, iads, eani, stifn,
1505 9 stifr, fx, fy, fz,
1506 a ifailure, mtn, igtyp, npt,
1507 b jsms, mssa(nf1), dmels(nf1), kxig3d,
1508 c ixig3d, knot, nctrl, wige,
1509 d wa, val2, dt2t, neltst,
1510 e ityptst, offset, table, iexpan,
1511 f ale_connect, fv, itask, ipri,
1512 g px, py, pz, knotlocpc,
1513 h knotlocel, gresav, grth, igrth(off_igrth+nf1),
1514 i mat_elem, ibid, ismstr, jale,
1515 j jeul, jlag, jcvt, jplasol,
1516 k jsph, snpc, stf, sbufmat,
1517 l svis, nsvois, idtmins, iresp,
1518 m idel7ng, idel7nok, userl_avail,
1519 . impl_s, idyna, dt, glob_therm,
1520 . sensors)
1521
1522 ENDIF
1524
1525
1526
1527 IF(nitsche > 0 .AND. ity == 1) THEN
1528 gbuf => elbuf_tab(ng)%GBUF
1529
1530 DO j=1,6
1531 DO i=lft,llt
1532 IF(gbuf%OFF(i) > 0) THEN
1533 stressmean(j,nft + i) = gbuf%SIG(nel*(j-1)+i)
1534 ELSE
1535 stressmean(j,nft + i) = zero
1536 ENDIF
1537 ENDDO
1538 ENDDO
1539
1540
1541 IF (jcvt /= 0 .AND. jhbe /= 16) THEN
1542
1543 DO i=lft,llt
1544 nn = nft +i
1545 IF(jcvt==2.AND.jhbe/=14)THEN
1546 gama(1)=gbuf%GAMA(i + i)
1547 gama(2)=gbuf%GAMA(nel + i)
1548 gama(3)=gbuf%GAMA(2*nel + i)
1549 gama(4)=gbuf%GAMA(3*nel + i)
1550 gama(5)=gbuf%GAMA(4*nel + i)
1551 gama(6)=gbuf%GAMA(5*nel + i)
1552 ELSE
1553 gama(1)=one
1554 gama(2)=zero
1555 gama(3)=zero
1556 gama(4)=zero
1557 gama(5)=one
1558 gama(6)=zero
1559 END IF
1561 1 x, ixs(1,nn), jcvt, stressmean(1,nn),
1562 2 gama, jhbe, igtyp, isorth)
1563 ENDDO
1564 ENDIF
1565 ENDIF
1566 250 CONTINUE
1567 END DO
1568
1569 DEALLOCATE(fx,fy,fz,mx,my,mz,jfac)
1570
1571
1572 RETURN
subroutine ig3duforc3(timers, output, elbuf_tab, ng, lft, llt, nft, nel, ixs, pm, geo, ipm, igeo, x, a, ar, v, vr, w, d, ms, in, tf, npf, bufmat, iparg, iparts, partsav, nloc_dmg, fsky, fr_wave, iads, eani, stifn, stifr, fx, fy, fz, ifailure, mtn, igtyp, npt, jsms, mssa, dmels, kxig3d, ixig3d, knot, nctrl, wige, flux, flu1, dt2t, neltst, ityptst, offset, table, iexpan, ale_connect, fv, itask, ioutprt, px, py, pz, knotlocpc, knotlocel, gresav, grth, igrth, mat_elem, h3d_strain, ismstr, jale, jeul, jlag, jcvt, jplasol, jsph, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, userl_avail, impl_s, idyna, dt, glob_therm, sensors)
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
subroutine pforc3(elbuf_str, jft, jlt, nel, mtn, ismstr, pm, ncc, x, f, m, v, r, geo, partsav, dt2t, neltst, ityptst, stifn, stifr, fsky, iadp, offset, ipartp, tani, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, igeo, ipm, bufmat, npt, npf, tf, gresav, grth, igrth, msp, dmelp, ioutprt, itask, jthe, temp, fthe, fthesky, iexpan, h3d_data, jsms, igre, nft, ifail, sbufmat, snpc, stf, nummat, numgeo, iout, istdo, idel7nok, idyna, imconv, impl_s, mat_param, preld1, stf_f, dt, sensors, ntable, table)
subroutine prelecflow(elbuf_tab, ngrounc, igrounc, iparg, nbsdvois, nercvois, nesdvois, lercvois, lesdvois, phi1, phi2, por)
subroutine q4forc2(timers, output, pm, geo, ic, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, nloc_dmg, elbuf_tab, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, offset, eani, ipartq, nel, iadq, fsky, icp, ng, ipm, bufvois, qmv, gresav, grth, igrth, table, igeo, itask, iexpan, ms_2d, fskym, ioutprt, mat_elem, h3d_strain, sz_bufvois, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, tt, dt1, idel7ng, idel7nok, idtmin, maxfunc, imon_mat, userl_avail, impl_s, idyna, dt, glob_therm, sensors)
subroutine qforc2(timers, output, elbuf_tab, ng, pm, geo, ic, x, a, v, ms, w, flux, flu1, veul, ale_connect, iparg, nloc_dmg, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, offset, eani, ipartq, nel, iadq, fsky, ipm, bufvois, qmv, gresav, grth, igrth, table, igeo, voln, itask, ms_2d, fskym, ioutprt, mat_elem, h3d_strain, sz_bufvois, snpc, stf, sbufmat, svis, nsvois, iresp, tt, dt1, idel7nok, idtmin, maxfunc, imon_mat, userl_avail, impl_s, idyna, dt, glob_therm, sensors)
subroutine r23forc3(python, elbuf_str, jft, jlt, nel, mtn, igeo, geo, ipm, ixr, x, table, xdp, f, npf, tf, skew, flg_kj2, vr, ar, v, dt2t, neltst, ityptst, stifn, stifr, ms, in, fsky, iadr, sensors, offset, anim, partsav, ipartr, tani, fr_wave, bufmat, bufgeo, pm, rby, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, gresav, grth, igrth, msrt, dmelrt, flag_slipring_update, flag_retractor_update, h3d_data, jsms, igre, nft, preld1, stf_f, stf, sanin, iresp, snpc)
subroutine rforc3(python, elbuf_str, jft, jlt, nel, mtn, igeo, geo, ixr, x, table, xdp, f, npf, tf, skew, flg_kj2, vr, ar, v, dt2t, neltst, ityptst, stifn, stifr, ms, in, fsky, iadr, sensors, offset, anim, partsav, ipartr, tani, fr_wave, bufmat, bufgeo, pm, rby, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, gresav, grth, igrth, msrt, dmelrt, itask, h3d_data, jsms, nft, iad, igre, preld1, stf_f, stf, sanin, iresp, impl_s, idyna, snpc)
subroutine s10forc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, ixs10, iads10, nel, fx, fy, fz, ar, vr, dr, ipm, istrain, isolnod, itask, temp, fthe, fthesky, iexpan, stifr, d, gresav, grth, igrth, table, mssa, dmels, igeo, xdp, voln, condn, condnsky, sfem_nodvar, itagdn, sensors, ioutprt, mat_elem, h3d_strain, dt, idel7nok, snpc, stf, sbufmat, svis, nsvois, idtmins, idel7ng, maxfunc, userl_avail, glob_therm, impl_s, idyna, s_sfem_nodvar)
subroutine s16forc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, ixs16, iads16, nel, fx, fy, fz, volnp, sigs, rx, ry, rz, sx, sy, sz, tx, ty, tz, stig, stin, ul, xx, yy, zz, vx, vy, vz, vdxx, vdyy, vdzz, dnidr, dnids, dnidt, px, py, pz, icp, icsig, ipm, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, table, igeo, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, idtmin, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
subroutine s20forc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, ixs20, iads20, nel, fx, fy, fz, volnp, rx, ry, rz, sx, sy, sz, tx, ty, tz, stig, stin, ul, xx, yy, zz, vx, vy, vz, vdxx, vdyy, vdzz, dnidr, dnids, dnidt, px, py, pz, ipm, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, table, igeo, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, idel7nok, snpc, stf, sbufmat, svis, idtmins, nsvois, iresp, idel7ng, idtmin, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
subroutine s4forc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, nel, fskym, msnf, ipm, igeo, bufvois, istrain, itask, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, xdp, sfem_nodvar, voln, condn, condnsky, d, sensors, ioutprt, mat_elem, h3d_strain, dt, idel7nok, nsvois, sz_bufvois, snpc, stf, sbufmat, svis, idtmins, iresp, idel7ng, maxfunc, userl_avail, glob_therm, impl_s, idyna, s_sfem_nodvar)
subroutine s6cforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, nel, icp, icsig, nloc_dmg, ipm, istrain, igeo, gresav, grth, igrth, table, mssa, dmels, voln, itask, ioutprt, mat_elem, h3d_strain, temp, fthe, fthesky, condn, condnsky, iexpan, ifthe, icondn, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, maxfunc, imon_mat, userl_avail, glob_therm, xdp, sensors)
subroutine s8cforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icp, icsig, smr, sms, smt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, igeo, nnpt, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, sensors, ioutprt, mat_elem, h3d_strain, dt, nodadt, dtfac1, dtmin1, idtmin, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
subroutine s8eforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, igeo, xdp, voln, condn, condnsky, d, sensors, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
subroutine s8forc3(timers, output, elbuf_str, pm, geo, ixs, x, a, v, ms, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, stifn, fsky, iads, offset, iparts, nel, dt2t, neltst, ityptst, ipm, itask, gresav, grth, igrth, mssa, dmels, table, ioutprt, mat_elem, ng, svis, glob_therm, snpc, numgeo, sbufmat, stf, ntable, sensors)
subroutine s8sforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, igeo, xdp, voln, condn, condnsky, d, ioutprt, mat_elem, h3d_strain, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idtmin, maxfunc, userl_avail, dt, glob_therm, sensors)
subroutine s8zforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icsig, smr, sms, smt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, igeo, nnpt, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, jfac, d, sensors, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
subroutine scforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icp, icsig, nvc, ipm, istrain, temp, fthe, fthesky, iexpan, igeo, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
subroutine section_p(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, vr, fsav, ixp, fopta, secfcum, fx, fy, fz, mx, my, mz, itype, nsint, ifram, nnod, nod, ms, xsec, fbsav6, iparsens)
subroutine section_r(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, vr, fsav, ixr, fopta, secfcum, fx, fy, fz, mx, my, mz, itype, nsint, ifram, nnod, nod, ms, xsec, fbsav6, iparsens)
subroutine section_s4(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, fsav, ixs, fopta, secfcum, fx, fy, fz, type, nsint, ifram, nnod, nod, ms, ixs10, isolnod, xsec, fbsav6, iparsens)
subroutine section_s6(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, fsav, ixs, fopta, secfcum, fx, fy, fz, type, nsint, ifram, nnod, nod, ms, xsec, fbsav6, iparsens)
subroutine section_s(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, fsav, ixs, fopta, secfcum, fx, fy, fz, type, nsint, ifram, nnod, nod, ms, ixs20, ixs16, isolnod, xsec, fbsav6, iparsens)
subroutine section_t(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, fsav, ixt, fopta, secfcum, fx, fy, fz, type, nsint, ifram, nnod, nod, ms, xsec, fbsav6, iparsens)
subroutine sensor_energy_part(ipart, subset, ipri, sensors, itask)
subroutine sforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, nv46, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, itab, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, fskym, msnf, isky, fskyi, nvc, ipm, igeo, ar, vr, in, fr_wave, dr, bufvois, itask, qmv, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, phi1, phi2, vf, af, df, wf, ffsky, afglob, msf, iparg1, xdp, por, icontact, ifoam, voln, condn, condnsky, agrav, igrv, lgrav, sensors, skew, nale, d, ioutprt, nloc_dmg, mat_elem, h3d_strain, dt, idel7nok, nsvois, sz_bufvois, snpc, stf, sbufmat, svis, idtmins, iresp, idel7ng, maxfunc, userl_avail, glob_therm, impl_s, idyna, wfext)
subroutine srota6(x, ixs, kcvt, tens, gama)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
subroutine suforc3(timers, elbuf_str, lft, llt, nft, nel, ixs, pm, geo, ipm, igeo, x, a, ar, v, vr, w, d, ms, in, tf, npf, bufmat, iparg, iparts, partsav, mat_param, fsky, fr_wave, iads, eani, stifn, stifr, fx, fy, fz, ifailure, mtn, igtyp, npt, jsms, mssa, dmels, itask, ioutprt, jthe, table, idtmins, dtfacs, dtmins)
subroutine szforc3(timers, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, fskym, msnf, nvc, ipm, itask, qmv, istrain, imatvis, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, igeo, xdp, condn, condnsky, d, tagprt_sms, sensors, ioutprt, nale, nloc_dmg, mat_elem, h3d_strain, dt, output, nsvois, sz_bufvois, snpc, stf, sbufmat, svis, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
subroutine tforc3(mat_param, nummat, elbuf_str, jft, jlt, pm, geo, nct, x, f, v, partsav, bufmat, dt2t, neltst, ityptst, stifn, fsky, iadt, offset, ipartt, tani, fx1, fx2, fy1, fy2, fz1, fz2, nel, gresav, grth, igrth, mstr, dmeltr, ioutprt, ipm, npf, tf, itask, h3d_data, nft, mtn, jsms, igre, preld1, stf_f, dt, sensors)