87 3 ELBUF ,WA ,VAL2 ,VEUL ,FV ,
88 4 STIFN ,STIFR ,FSKY ,TF ,BUFMAT ,
89 5 PARTSAV ,D ,DR ,EANI ,ELBUF_TAB ,
90 6 TANI ,FANI ,FSAV ,SENSORS ,NLOC_DMG ,
91 7 SKEW ,ANIN ,DT2T ,BUFGEO ,ITAB ,
92 8 IADS ,IADQ ,IADT ,IADP ,MAT_ELEM ,
93 9 IADR ,IPARG ,ALE_CONNECT,NPC ,
94 A IXS ,IXQ ,IXT ,IXP ,
95 B IXR ,NELTST ,IPARI ,
96 C ITYPTST ,NSTRF ,IPART ,
97 D IPARTS ,IPARTQ ,IPARTT ,IPARTP ,
98 E IPARTR ,IPARTUR ,FR_WAVE ,RBY ,
99 F SECFCUM ,AGRAV ,IGRV ,LGRAV ,
101 H IXS20 ,IADS10 ,IADS20 ,IXS16 ,IADS16 ,
102 I W16 ,FSKYM ,MSNF ,IGEO ,IPM ,
103 J XSEC ,ITASK ,TEMP ,
104 K FTHE ,FTHESKY ,IGROUNC ,NGROUNC ,
105 M GRESAV ,GRTH ,IGRTH ,XDP ,MSSA ,
106 N DMELS ,MSTR ,DMELTR ,MSP ,DMELP ,
107 O MSRT ,DMELRT ,TABLE ,VF ,AF ,
108 P DF ,WF ,FFSKY ,AFGLOB ,NBSDVOIS ,
109 Q NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS ,PHI1 ,
110 R PHI2 ,MSF ,NODFT ,NODLT ,
111 S FLG_KJ2 ,POR ,ICONTACT ,IFOAM ,SFEM_NODVAR,
112 T KXIG3D ,IXIG3D ,KNOT ,WIGE ,CONDN ,
113 U CONDNSKY ,S_SFEM_NODVAR,
114 V TAGPRT_SMS,ITAGND ,MS_2D ,NALE ,STRESSMEAN,
115 W KNOTLOCPC ,KNOTLOCEL ,SUBSET ,FLAG_SLIPRING_UPDATE,FLAG_RETRACTOR_UPDATE,
116 Y H3D_DATA ,IFTHE ,ICONDN ,DT ,OUTPUT,
117 Z SBUFMAT ,SNPC ,STF ,NODADT ,DTFAC1,
118 . DTMIN1 ,IDTMIN ,IOUT ,ISTDO ,IDTMINS,DTFACS,NSVOIS,
119 * IRESP ,MAXFUNC ,USERL_AVAIL,GLOB_THERM,IMON_MAT,DTMINS,SANIN)
137 USE preload_axial_mod
143#include "implicit_f.inc"
144#include "comlock.inc"
148#include "mvsiz_p.inc"
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"
163#include "impl1_c.inc"
164#include "stati_c.inc"
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
173 . ixr(nixr,*), igeo(npropgi,numgeo),ipari(npari,*),
174 . ipm(npropmi,nummat),npc(*), iparg(nparg,ngroup),
175 . nstrf(*), ipart(lipart1,*) ,
176 . iparts(*) ,ipartq(*) ,ipartt(*) ,ipartp(*) ,
177 . ipartr(*) ,ipartur(*) ,
178 . iads(8,*),iadq(4,*),iadt(2,*),
179 . iadp(2,*),iadr(3,*),
181 . ixs10(6,*),ixs20(12,*),iads10(6,*),iads20(12,*)
183 . ngrounc,grth(*),igrth(*),nbsdvois(*),nercvois(*),
184 . nesdvois(*),lercvois(*),lesdvois(*),nodft, nodlt,
185 . icontact(*),ifoam(*),kxig3d(nixig3d,*),ixig3d(*),
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
200 my_real,
INTENT(IN) ::
201 my_real,
INTENT(IN) :: DTFACS
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),w16(*), fskym(*),
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
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
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)
232 type (glob_therm_) ,
intent(inout) :: glob_therm
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, K5, 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() ,
POINTER :: GBUF
253 ALLOCATE(fx(mvsiz,64),fy(mvsiz,64),fz(mvsiz,64),stat=ierror)
254 ALLOCATE(mx(mvsiz,4),my(mvsiz,4),mz(mvsiz,4),stat=ierror)
255 ALLOCATE(jfac(mvsiz,729))
259 CALL ancmsg(msgid=246,anmode=aninfo)
264 IF(mod(ncycle,iabs(ncpri))==0.OR.tt>=output%TH%THIS.OR.mdess /= 0.
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>=output%TH%THIS1(5).
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(10).
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(2)).
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
282 . or.(
ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(9)).OR.istat==3) ipri=1
285 DO i=1,sensors%NSENSOR
286 IF (sensors%SENSOR_TAB(i)%TYPE == 14) isens_energy = 1
292 IF (ialelag > 0)
THEN
294 msf(i) = msf(i) - msnf(i)
300 CALL prelecflow(elbuf_tab,ngrounc,igrounc,iparg
301 . nercvois,nesdvois,lercvois,lesdvois,phi1 ,
312 sensors%NGR_SENSOR(itask+1) = ng
316 IF (iparg(8,ng)==1)
GOTO 250
324 IF (mlw == 0 .OR. mlw == 13)
GOTO 250
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 )
340 isolnod = iparg(28,ng)
344 imatvis = iparg(45,ng)
345 iexpan = iparg(49,ng)
348 ipartsph = iparg(69,ng)
349 ipreid = iparg(72,ng)
350 iformdt = iparg(73,ng)
352 IF (ity==1) icp = nsg
353 IF (ity==1 .OR. ity==2) jplasol=ipla
365 IF (ity==1 .AND. jlag==1)
THEN
366 IF(ixs(10,nf1)/=0)
THEN
367 igtyp = igeo(11,ixs(10,nf1))
372 IF (isens_energy == 1 .AND. ipri == 0)
375 IF(isolnod==4.AND.(isrot==0.OR.isrot==3))
THEN
378 1 elbuf_tab, ng, pm, geo,
381 4 veul, fv, ale_connect
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,
397 * idel7ng, maxfunc, userl_avail, glob_therm,
398 v impl_s, idyna, s_sfem_nodvar)
402 n=ninter+nrwall+nrbody
405 k2=k0+30+nstrf(k0+14)
406 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
409 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
413 pfbsav6 => sensors%FSAV(1,1,isect)
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+2
421 7 ixs10,isolnod,xsec(1,1,i),pfbsav6,iparsens)
426 ELSEIF (isolnod==10 .OR. (isolnod==4.AND.isrot==1))
THEN
429 1 elbuf_tab, ng, pm, geo,
432 4 veul, fv, ale_connect, iparg,
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,
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 ,
453 n=ninter+nrwall+nrbody
456 k2=k0+30+nstrf(k0+14)
457 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
460 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
464 pfbsav6 => sensors%FSAV(1,1,isect)
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),
472 7 ixs10,isolnod,xsec(1,1,i),pfbsav6,iparsens)
477 ELSEIF(isolnod==20)
THEN
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
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
516 1 elbuf_tab, ng, pm, geo,
519 4 veul, fv, ale_connect, iparg,
520 5 tf, npc, bufmat, partsav,
522 7 stifn, fsky, iads, offset,
523 8 eani, iparts(nf1), ixs20, iads20,
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)
544 n=ninter+nrwall+nrbody
547 k2=k0+30+nstrf(k0+14)
548 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
551 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
555 pfbsav6 => sensors%FSAV(1,1,isect)
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),
563 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
568 ELSEIF(isolnod==16)
THEN
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
606 CALL s16forc3(timers, output,elbuf_tab,ng ,
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,
633 n=ninter+nrwall+nrbody
636 k2=k0+30+nstrf(k0+14)
637 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
640 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
644 pfbsav6 => sensors%FSAV(1,1,isect)
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),
652 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
657 ELSEIF(jhbe == 15)
THEN
663 CALL s6cforc3(timers, output, elbuf_tab,ng ,
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 )
686 n=ninter+nrwall+nrbody
689 k2=k0+30+nstrf(k0+14)
690 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
693 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
697 pfbsav6 => sensors%FSAV(1,1,isect)
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),
713 CALL scforc3(timers, output, elbuf_tab,ng ,
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 ,
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)
736 n=ninter+nrwall+nrbody
739 k2=k0+30+nstrf(k0+14)
740 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
743 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
747 pfbsav6 => sensors%FSAV(1,1,isect)
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),
755 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
761 ELSEIF (jhbe == 17)
THEN
763 IF (iparg(36,ng)==3)
THEN
765 CALL s8sforc3(timers,output, elbuf_tab,ng ,
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)
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
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 )
816 n=ninter+nrwall+nrbody
819 k2=k0+30+nstrf(k0+14)
820 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
823 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
827 pfbsav6 => sensors%FSAV(1,1,isect)
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),
835 7 ixs20,ixs16,isolnod,xsec(1,1,i),
840 ELSEIF (jhbe == 14 .AND.
841 . (igtyp == 20 .OR. igtyp == 21 .OR. igtyp == 22))
THEN
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
859 CALL s8cforc3(timers, output, elbuf_tab,ng ,
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 ,
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)
886 n=ninter+nrwall+nrbody
889 k2=k0+30+nstrf(k0+14)
890 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
893 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR
897 pfbsav6 => sensors%FSAV(1,1,isect)
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),
905 7 ixs20,ixs16,isolnod,xsec(1,1,i),
910 ELSEIF (jhbe == 14 .OR. jhbe == 222)
THEN
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
938 CALL s8zforc3(timers, output, elbuf_tab,ng ,
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) ,
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,
964 n=ninter+nrwall+nrbody
967 k2=k0+30+nstrf(k0+14)
968 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
971 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
975 pfbsav6 => sensors%FSAV(1,1,isect)
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),
983 7 ixs20,ixs16,isolnod,xsec(1,1,i),
989 ELSEIF(igtyp>=29)
THEN
991 IF (isens_energy == 1 .AND. ipri == 0)
996 CALL suforc3(timers,elbuf_tab(ng),
997 1 jft ,jlt ,nft ,nel ,ixs
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)
1008 ELSEIF (npt == 1)
THEN
1010 IF (jhbe == 24)
THEN
1016 CALL szforc3(timers,elbuf_tab,ng ,
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
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 ,
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)
1043 IF(n2d /= 0) nv46 = 4
1045 CALL sforc3(timers, output,
1046 1 elbuf_tab, ng, pm, geo,
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,
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,
1075 u iresp, idel7ng, maxfunc, userl_avail, glob_therm,
1082 n=ninter+nrwall+nrbody
1086 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
1089 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1093 pfbsav6 => sensors%FSAV(1,1,isect)
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),
1101 7 ixs20,ixs16,isolnod,xsec(1,1,i),
1106 ELSEIF (npt == 8 .AND. mtn /= 0)
THEN
1111 1 elbuf_tab(ng),pm ,geo ,ixs ,x ,
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)
1123 n=ninter+nrwall+nrbody
1126 k2=k0+30+nstrf(k0+14)
1127 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
1130 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1134 pfbsav6 => sensors%FSAV(1,1,isect)
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),
1142 7 ixs20,ixs16,isolnod,xsec(1,1,i),
1149 ELSEIF(ity==2.AND.jmult==0.AND.jlag==1.AND.
1153 IF (isens_energy == 1 .AND. ipri == 0)
1155 IF(jhbe==17 .OR. (n2d==1.AND.jhbe==22))
THEN
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
1163 6 eani ,ipartq(nf1),nel,iadq ,fsky ,
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 ,ibid,ibid,snpc,
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)
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)
1192 ELSEIF (ity == 4)
THEN
1193 k1=1 + 6*(numelc+numeltg)*iepsdot+15*nft
1194 off_igrth = numels+numelq+numelc
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 ,
1207 IF (isens_energy == 1 .AND. ipri == 0)
1211 1 elbuf_tab(ng), jft, jlt, pm,
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,
1226 n=ninter+nrwall+nrbody
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)
1234 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1238 pfbsav6 => sensors%FSAV(1,1,isect)
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)
1252 ELSEIF (ity == 5)
THEN
1253 off_igrth = numels+numelq+numelc+numelt
1254 k1=1 + 6*(numelc+numeltg)*iepsdot + 15*(numelt+nft)
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 ,
1267 IF (isens_energy == 1 .AND. ipri == 0)
1271 1 elbuf_tab(ng),jft ,jlt ,nel ,
1272 2 mtn ,ismstr ,pm ,ixp(1,nf1) ,
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 ,
1294 n=ninter+nrwall+nrbody
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)
1303 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1307 pfbsav6 => sensors%FSAV(1,1,isect)
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),
1316 8 xsec(1,1,i),pfbsav6,iparsens)
1321 ELSEIF (ity == 6)
THEN
1322 k1=1 + 6*(numelc+numeltg)*iepsdot + 15*(numelt+numelp+nft)
1323 off_igrth = numels+numelq+numelc+numelt+numelp
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 ,
1335 IF (isens_energy == 1 .AND. ipri == 0)
1337 IF(igtyp == 23)
THEN
1339 1 elbuf_tab(ng), jft, jlt,
1340 2 mtn, igeo, geo, ipm,
1341 3 ixr(1,nf1), x, table, xdp,
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,
1359 1 elbuf_tab(ng), jft, jlt, nel,
1360 2 mtn, igeo, geo, ixr(1,nf1),
1362 4 npc, tf, skew, flg_kj2,
1364 6 neltst, ityptst, stifn,
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,
1375 h stf, sanin, iresp, impl_s,
1382 n=ninter+nrwall+nrbody
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)
1391 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1395 pfbsav6 => sensors%FSAV(1,1,isect)
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),
1404 8 xsec(1,1,i), pfbsav6,iparsens)
1409 ELSEIF(ity==101)
THEN
1410 off_igrth = numels+numelq+numelc+numelt+numelp+
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))
1419 IF (isens_energy == 1 .AND. ipri == 0)
1423 1 elbuf_tab, ng, jft, jlt,
1424 2 nft, nel, ixs, pm,
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, jplasol,
1442 k jsph, snpc, stf, sbufmat,
1443 l svis, nsvois, idtmins, iresp,
1444 m idel7ng, idel7nok, userl_avail,
1445 . impl_s, idyna, dt, glob_therm,
1453 IF(nitsche > 0 .AND. ity == 1)
THEN
1454 gbuf => elbuf_tab(ng)%GBUF
1458 IF(gbuf%OFF(i) > 0)
THEN
1459 stressmean(j,nft + i) = gbuf%SIG(nel*(j-1)+i)
1461 stressmean(j,nft + i) = zero
1467 IF (jcvt /= 0 .AND. jhbe /= 16)
THEN
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)
1487 1 x, ixs(1,nn), jcvt, stressmean(1,nn),
1495 DEALLOCATE(fx,fy,fz,mx,my,mz,jfac)