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