87 1 ELBUF_STR, JFT, JLT, NEL,
88 2 MTN, IGEO, GEO, IXR,
90 4 NPF, TF, SKEW, FLG_KJ2,
92 6 NELTST, ITYPTST, STIFN, STIFR,
94 8 SENSORS, OFFSET, ANIM, PARTSAV,
95 9 IPARTR, TANI, FR_WAVE, BUFMAT,
96 A BUFGEO, PM, RBY, FX1,
99 D MY2, MZ1, MZ2, GRESAV,
100 E GRTH, IGRTH, MSRT, DMELRT,
101 F ITASK, H3D_DATA, JSMS, NFT,
102 G IAD, IGRE, PRELD1, STF_F,
103 H STF, SANIN, IRESP, IMPL_S,
114 USE preload_axial_mod
115 use element_mod ,
only : nixr
119#include "implicit_f.inc"
123#include "mvsiz_p.inc"
127#include "param_c.inc"
128#include "parit_c.inc"
129#include "units_c.inc"
130#include "com04_c.inc"
131#include "com08_c.inc"
132#include "userlib.inc"
136 TYPE(python_),
INTENT(INOUT) :: PYTHON
137 INTEGER,
INTENT(IN) :: STF
138 INTEGER,
INTENT(IN) :: SANIN
139 INTEGER,
INTENT(IN) :: IRESP
140 INTEGER,
INTENT(IN) :: IMPL_S
141 INTEGER,
INTENT(IN) :: IDYNA
142 INTEGER,
INTENT(IN) :: SNPC
143 INTEGER,
INTENT(INOUT) :: IAD
144 INTEGER,
INTENT(IN) :: IGRE
145 INTEGER,
INTENT(IN) :: NFT
146 INTEGER IXR(NIXR,*), NPF(SNPC),IADR(3,*),IPARTR(*),
147 . IGEO(NPROPGI,*),JFT,JLT,NELTST ,ITYPTST,OFFSET,
148 . NEL,MTN,GRTH(*),IGRTH(*),FLG_KJ2,ITASK
149 INTEGER,
INTENT(IN) :: JSMS
151 . GEO(NPROPG,*),X(*),F(*),TF(STF),SKEW(,*),FSKY(*),
152 . VR(*), V(3,*), AR(*), STIFN(*),STIFR(*),MS(*), IN(*),
153 . ANIM(SANIN),PARTSAV(*),TANI(15,*),
154 . fr_wave(*),bufmat(*),bufgeo(*),pm(*),rby(*),
155 . fx1(mvsiz),fy1(mvsiz),fz1(mvsiz),
156 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
157 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
158 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),gresav(*),
160 my_real,
INTENT(IN) :: preld1,stf_f
161 DOUBLE PRECISION XDP(3,*)
164 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
165 TYPE(H3D_DATABASE) :: H3D_DATA
166 TYPE (SENSORS_) ,
INTENT(INOUT) :: SENSORS
170 INTEGER NGL(MVSIZ),(MVSIZ),NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ),IEQUIL(MVSIZ)
173 . STI(3,MVSIZ),STIR(3,),VISI(MVSIZ),VISIR(MVSIZ),
174 . USTI(MVSIZ),USTIR(MVSIZ),DF(MVSIZ),AL(MVSIZ),UNUSED(MVSIZ),
175 . UINER(MVSIZ),(MVSIZ),OFF(MVSIZ),BID
177 . EXX2(MVSIZ), EYX2(MVSIZ), EZX2(MVSIZ),
178 . exy2(mvsiz), eyy2(mvsiz), ezy2(mvsiz),
179 . exz2(mvsiz), eyz2(mvsiz), ezz2(mvsiz),
180 . al2(mvsiz),x1(mvsiz),y1(mvsiz),z1(mvsiz),
181 . x2(mvsiz),y2(mvsiz),z2(mvsiz),
182 . ex(mvsiz),ey(mvsiz),ez(mvsiz),
183 . exx(mvsiz),eyx(mvsiz),ezx(mvsiz),
184 . exy(mvsiz),eyy(mvsiz),ezy(mvsiz),
185 . exz(mvsiz),eyz(mvsiz),ezz(mvsiz),
186 . xcr(mvsiz),xk(mvsiz),xm(mvsiz),xc(mvsiz),rx1(mvsiz),rx2(mvsiz),
187 . ry1(mvsiz),ry2(mvsiz),rz1(mvsiz),rz2(mvsiz),xin(mvsiz),
188 . ak(mvsiz),xkm(mvsiz),xcm(mvsiz),xkr(mvsiz),
189 . ex2(mvsiz),ey2(mvsiz),ez2(mvsiz),vx1(mvsiz),vx2(mvsiz),
190 . vy1(mvsiz),vy2(mvsiz),vz1(mvsiz),vz2(mvsiz),vl12(mvsiz)
191 INTEGER IGTYP,I,I0,NUVAR,NSENSOR
193 . X1DP(3,MVSIZ),X2DP(3,MVSIZ),X3DP(3,MVSIZ),
194 . al2dp(mvsiz),aldp(mvsiz)
195 my_real user_fx(mvsiz),user_fy(mvsiz),user_fz(mvsiz),
196 * user_momx(mvsiz),user_momy(mvsiz),user_momz(mvsiz),
197 * user_v_repcvtx(mvsiz),user_v_repcvty(mvsiz),user_v_repcvtz(mvsiz),
198 * user_vr_repcvtx(mvsiz),user_vr_repcvty(mvsiz),user_vr_repcvtz(mvsiz),
200 my_real,
DIMENSION(:),
ALLOCATABLE :: user_uvar
202 TYPE(g_bufel_),
POINTER :: GBUF
208 GBUF => elbuf_str%GBUF
209 nsensor = sensors%NSENSOR
225 ii(i) = (i-1)*nel + 1
233 nuvar = nint(geo(25,i0))
241 2 x1dp, x2dp, ngl, mgn,
244 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
245 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel,nsensor)
248 IF (gbuf%OFF(i) /= -ten)
THEN
249 off(i)=
min(one,abs(gbuf%OFF(i)))
257 1 geo, gbuf%FOR(ii(1)), gbuf%LENGTH(ii(1)), gbuf%EINT,
258 2 gbuf%TOTDEPL(ii(1)), npf, tf, off,
259 3 gbuf%DEP_IN_TENS(ii(1)),gbuf%FOREP(ii(1)), gbuf%DEP_IN_COMP(ii(1)),anim,
260 4 gbuf%POSX, igeo, gbuf%LENGTH_ERR,
261 5 x1dp, x2dp, v, gbuf%YIELD(ii(1)),
264 8 ak, nc1, nc2, nuvar,
265 9 gbuf%VAR, gbuf%DEFINI, nel, nft,stf,
266 a sanin, iresp, snpc)
269 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
273 1 jft, jlt, gbuf%OFF, dt2t,
274 2 neltst, ityptst, sti, ms,
275 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
277 5 ak, nc1, nc2, jsms)
279 1 gbuf%EINT, partsav, ixr, geo,
280 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
281 3 grth, igrth, gbuf%OFF, nc1,
283 5 nel, igre, sensors)
285 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
287 IF (preld1>zero)
THEN
289 vl12(i) = (v(1,nc2(i))-v(1,nc1(i)))*ex(i)+
290 1 (v(2,nc2(i))-v(2,nc1(i)))*ey(i)+
291 2 (v(3,nc2(i))-v(3,nc1(i)))*ez(i)
293 CALL preload_axial(nel,preld1,gbuf%BPRELD,vl12,stf_f,gbuf%FOR)
294 gbuf%FOREP(jft:jlt) = gbuf%FOR(jft:jlt)
296 IF (iparit == 0)
THEN
298 1 f, gbuf%FOR(ii(1)),sti, stifn,
299 2 fx1, fx2, fy1, fy2,
300 3 fz1, fz2, mx1, mx2,
301 4 my1, my2, mz1, mz2,
306 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
307 2 iadr, fx1, fx2, fy1,
308 3 fy2, fz1, fz2, mx1,
309 4 mx2, my1, my2, mz1,
315 ELSEIF (igtyp == 26)
THEN
319 2 x1dp, x2dp, ngl, mgn,
322 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
323 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel ,nsensor)
326 IF (gbuf%OFF(i) /= -ten)
THEN
327 off(i)=
min(one,abs(gbuf%OFF(i)))
335 1 gbuf%FOR(ii(1)), gbuf%EINT, gbuf%TOTDEPL(ii(1)), gbuf%LENGTH(ii(1)),
336 2 gbuf%DV, gbuf%FOREP(ii(1)), gbuf%DEP_IN_COMP(ii(1)),gbuf%POSX,
337 3 geo, igeo, npf, tf,
338 4 v, off, anim, fr_wave,
339 5 gbuf%LENGTH_ERR, x1dp, x2dp, ngl,
342 8 nel, nft, iad, gbuf%RUPTCRIT(ii(1)))
345 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
349 1 jft, jlt, gbuf%OFF, dt2t,
350 2 neltst, ityptst, sti, ms,
351 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
353 5 ak, nc1, nc2, jsms)
355 1 gbuf%EINT, partsav, ixr, geo,
356 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
357 3 grth, igrth, gbuf%OFF, nc1,
359 5 nel, igre, sensors)
361 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
363 IF (iparit == 0)
THEN
365 1 f, gbuf%FOR(ii(1)),sti, stifn,
366 2 fx1, fx2, fy1, fy2,
367 3 fz1, fz2, mx1, mx2,
368 4 my1, my2, mz1, mz2,
373 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
374 2 iadr, fx1, fx2, fy1,
375 3 fy2, fz1, fz2, mx1,
376 4 mx2, my1, my2, mz1,
381 ELSEIF (igtyp == 27)
THEN
385 2 x1dp, x2dp, ngl, mgn,
388 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
389 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel ,nsensor )
392 IF (gbuf%OFF(i) /= -ten)
THEN
393 off(i)=
min(one,abs(gbuf%OFF(i)))
401 1 gbuf%FOR(ii(1)), gbuf%EINT, gbuf%TOTDEPL(ii(1)),gbuf%LENGTH(ii(1)),
402 2 gbuf%POSX, geo, igeo, npf,
404 4 gbuf%LENGTH_ERR, x1dp, x2dp, ngl,
407 7 nel, nft, gbuf%RUPTCRIT(ii(1)))
410 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
414 1 jft, jlt, gbuf%OFF, dt2t,
415 2 neltst, ityptst, sti
416 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
418 5 ak, nc1, nc2, jsms)
420 1 gbuf%EINT, partsav, ixr, geo,
421 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
422 3 grth, igrth, gbuf%OFF, nc1,
424 5 nel, igre, sensors)
426 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
428 IF (iparit == 0)
THEN
430 1 f, gbuf%FOR(ii(1)),sti, stifn,
431 2 fx1, fx2, fy1, fy2,
432 3 fz1, fz2, mx1, mx2,
433 4 my1, my2, mz1, mz2,
438 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
439 2 iadr, fx1, fx2, fy1,
440 3 fy2, fz1, fz2, mx1,
441 4 mx2, my1, my2, mz1,
446 ELSEIF (igtyp == 8)
THEN
450 2 x1dp, x2dp, ngl, x1,
453 5 rz1, rx2, ry2, rz2,
456 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1))
457 2 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
458 3 gbuf%LENGTH(ii(3)), gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)),
459 4 igeo, mgn, nel, nsensor)
462 IF (gbuf%OFF(i) /= -ten)
THEN
463 off(i)=
min(one,abs(gbuf%OFF(i)))
471 1 skew, geo, gbuf%FOR(ii(1)), gbuf%FOR(ii(2)),
472 2 gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)), gbuf%TOTDEPL(ii(2)),
473 3 gbuf%TOTDEPL(ii(3)), npf, tf, off,
474 4 gbuf%DEP_IN_TENS(ii(1)),gbuf%DEP_IN_TENS(ii(2)),gbuf%DEP_IN_TENS(ii(3)),gbuf%DEP_IN_COMP(ii(1)),
475 5 gbuf%DEP_IN_COMP(ii(2)),gbuf%DEP_IN_COMP(ii(3)),gbuf%FOREP(ii(1)), gbuf%FOREP(ii(2)),
476 6 gbuf%FOREP(ii(3)), gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)), gbuf%LENGTH(ii(3)),
477 7 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%TOTROT(ii(1)),
478 8 gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)), gbuf%ROT_IN_TENS(ii(1)),gbuf%ROT_IN_TENS(ii(2)),
479 9 gbuf%ROT_IN_TENS(ii(3)),gbuf%MOMEP(ii(1)), gbuf%MOMEP(ii(2)), gbuf%MOMEP(ii(3)),
480 a gbuf%ROT_IN_COMP(ii(1)),gbuf%ROT_IN_COMP(ii(2)),gbuf%ROT_IN_COMP(ii(3)),anim,
481 b gbuf%POSX, gbuf%POSY, gbuf%POSZ, gbuf%POSXX,
482 c gbuf%POSYY, gbuf%POSZZ, v,
483 d igeo, gbuf%E6, gbuf%RUPTCRIT, nel,
484 e gbuf%LENGTH_ERR, x1dp, x2dp, gbuf%YIELD(ii(1)),
485 f gbuf%YIELD(ii(2)), gbuf%YIELD(ii(3)), gbuf%YIELD(ii(4)), gbuf%YIELD(ii(5)),
486 g gbuf%YIELD(ii(6)), ngl, xkr, mgn,
487 h exx, eyx, ezx, exy,
488 i eyy, ezy, exz, eyz,
489 j ezz, xcr, rx1, ry1,
490 k rz1, rx2, ry2, rz2,
492 m xcm, nc1, nc2, nuvar,
493 n gbuf%VAR, gbuf%DEFINI(ii(1)), gbuf%DEFINI(ii(2)), gbuf%DEFINI(ii(3)),
494 o gbuf%DEFINI(ii(4)), gbuf%DEFINI(ii(5)), gbuf%DEFINI(ii(6)), iequil,
495 p gbuf%SKEW_ID, nft, stf, sanin,
499 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
502 CALL rsens_nic(nel ,ixr ,gbuf%FOR,gbuf%MOM,skew ,
503 . nsensor,sensors%SENSOR_TAB)
506 1 jft, jlt, gbuf%OFF, dt2t,
507 2 neltst, ityptst, sti, stir,
508 3 ms, in, msrt, dmelrt,
509 4 gbuf%G_DT,gbuf%DT, ngl, xcr,
511 6 xkr, nc1, nc2, jsms)
513 1 gbuf%EINT,partsav, ixr, geo,
514 2 v, ipartr, bid, gresav,
515 3 grth, igrth, gbuf%OFF, nc1,
519 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
520 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, h3d_data,
522 IF (iparit == 0)
THEN
524 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
525 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
526 3 sti, stir, stifn, stifr,
527 4 fx1, fx2, fy1, fy2,
528 5 fz1, fz2, mx1, mx2,
529 6 my1, my2, mz1, mz2,
531 8 x2, y2, z2, iequil,
532 9 exx, eyx, ezx, exy,
533 a eyy, ezy, exz, eyz,
534 b ezz, nc1, nc2, nel)
537 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
538 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
539 3 fsky, fsky, iadr, fx1,
540 4 fx2, fy1, fy2, fz1,
541 5 fz2, mx1, mx2, my1,
542 6 my2, mz1, mz2, geo,
544 8 y2, z2, iequil, exx,
545 9 eyx, ezx, exy, eyy,
546 a ezy, exz, eyz, ezz,
550 ELSEIF (igtyp == 12)
THEN
554 2 x1dp, x2dp, x3dp, ngl,
555 3 mgn, nc1, nc2, nc3,
558 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
559 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel, nsensor )
562 IF (gbuf%OFF(i) /= -ten)
THEN
563 off(i)=
min(one,abs(gbuf%OFF(i)))
571 1 geo, gbuf%FOR(ii(1)), gbuf%LENGTH(ii(1)), gbuf%EINT,
572 2 gbuf%TOTDEPL(ii(1)), npf, tf, off,
573 3 gbuf%DEP_IN_TENS(ii(1)),gbuf%FOREP(ii(1)), gbuf%DEP_IN_COMP(ii(1)),gbuf%DFS,
575 5 gbuf%POSX, igeo, gbuf%LENGTH_ERR,
576 6 x1dp, x2dp, x3dp, gbuf%YIELD(ii(1)),
577 7 table, gbuf%INIFRIC, ngl, mgn,
580 a ey2, ez2, nc1, nc2,
581 b nc3, nuvar, gbuf%VAR, gbuf%DEFINI,
582 c nel, nft, stf, sanin,
586 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
589 1 jft, jlt, gbuf%OFF, dt2t,
590 2 neltst, ityptst, sti, ms,
591 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
596 1 gbuf%EINT, partsav, ixr, geo,
597 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
598 3 grth, igrth, nc1, nc2,
602 1 gbuf%FOR(ii(1)),df, tani, h3d_data,
604 IF (iparit == 0)
THEN
606 1 f, gbuf%FOR(ii(1)),sti, stifn,
608 3 ex2, ey2, ez2, nc1,
612 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
618 ELSEIF (igtyp == 13)
THEN
622 2 x1dp, x2dp, ngl, x1,
625 5 rz1, rx2, ry2, rz2,
628 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
629 2 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
630 3 gbuf%LENGTH(ii(3)), gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)),
631 4 igeo, mgn, nel , nsensor )
634 IF (gbuf%OFF(i) /= -ten)
THEN
635 off(i)=
min(one,abs(gbuf%OFF(i)))
643 1 gbuf%SKEW, v, exx2, eyx2,
644 2 ezx2, exy2, eyy2, ezy2,
645 3 exz2, eyz2, ezz2, al2dp,
646 4 x1dp, x2dp, al2, aldp,
647 5 gbuf%SKEW_ERR,ngl, al, exx,
648 6 eyx, ezx, exy, eyy,
649 7 ezy, exz, eyz, ezz,
650 8 rx1, ry1, rz1, rx2,
651 9 ry2, rz2, vx1, vx2,
652 a vy1, vy2, vz1, vz2,
655 1 skew, geo, gbuf%FOR(ii(1)), gbuf%FOR(ii(2)),
656 2 gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)), gbuf%TOTDEPL(ii(2)),
657 3 gbuf%TOTDEPL(ii(3)), npf, tf, off,
658 4 gbuf%DEP_IN_TENS(ii(1)),gbuf%DEP_IN_TENS(ii(2)),gbuf%DEP_IN_TENS(ii(3)),gbuf%DEP_IN_COMP(ii(1)),
659 5 gbuf%DEP_IN_COMP(ii(2)),gbuf%DEP_IN_COMP(ii(3)),gbuf%FOREP(ii(1)), gbuf%FOREP(ii(2)),
660 6 gbuf%FOREP(ii(3)), gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)), gbuf%LENGTH(ii(3)),
661 7 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%TOTROT(ii(1)),
662 8 gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)), gbuf%ROT_IN_TENS(ii(1)),gbuf%ROT_IN_TENS(ii(2)),
663 9 gbuf%ROT_IN_TENS(ii(3)),gbuf%MOMEP(ii(1)), gbuf%MOMEP(ii(2)), gbuf%MOMEP(ii(3)),
664 a gbuf%ROT_IN_COMP(ii(1)),gbuf%ROT_IN_COMP(ii(2)),gbuf%ROT_IN_COMP(ii(3)),anim,
665 b gbuf%POSX, gbuf%POSY, gbuf%POSZ, gbuf%POSXX,
666 c gbuf%POSYY, gbuf%POSZZ, fr_wave, gbuf%E6,
667 d nel, exx2, eyx2, ezx2,
668 e exy2, eyy2, ezy2, exz2,
669 f eyz2, ezz2, al2dp, igeo,
670 g gbuf%RUPTCRIT, gbuf%LENGTH_ERR, aldp, gbuf%YIELD(ii(1)),
671 h gbuf%YIELD(ii(2)), gbuf%YIELD(ii(3)), gbuf%YIELD(ii(4)), gbuf%YIELD(ii(5)),
672 i gbuf%YIELD(ii(6)), ngl, mgn, exx,
673 j eyx, ezx, exy, eyy,
674 k ezy, exz, eyz, ezz,
675 l xcr, rx1, ry1, rz1,
676 m rx2, ry2, rz2, xin,
678 o xkr, vx1, vx2, vy1,
680 q gbuf%VAR, gbuf%DEFINI(ii(1)), gbuf%DEFINI(ii(2)), gbuf%DEFINI(ii(3)),
681 r gbuf%DEFINI(ii(4)), gbuf%DEFINI(ii(5)), gbuf%DEFINI(ii(6)), gbuf%FORINI(ii(1)),
682 s gbuf%FORINI(ii(2)), gbuf%FORINI(ii(3)), gbuf%FORINI(ii(4)), gbuf%FORINI(ii(5)),
683 t gbuf%FORINI(ii(6)), nft, stf, sanin,
687 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
690 1 jft, jlt, gbuf%OFF, dt2t,
691 2 neltst, ityptst, sti, stir,
692 3 ms, in, msrt, dmelrt,
693 4 gbuf%G_DT,gbuf%DT, ngl, xcr,
695 6 xkr, nc1, nc2, jsms)
697 1 gbuf%EINT, partsav, ixr, geo,
698 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
699 3 grth, igrth, gbuf%OFF, nc1,
703 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
704 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
707 IF (preld1>zero)
THEN
709 vl12(i) = (vx2(i)-vx1(i))*exx(i)+
710 1 (vy2(i)-vy1(i))*eyx(i)+(vz2(i)-vz1(i))*ezx(i)
712 CALL preload_axial(nel,preld1,gbuf%BPRELD,vl12,stf_f,gbuf%FOR)
713 gbuf%FOREP(jft:jlt) = gbuf%FOR(jft:jlt)
715 IF (iparit == 0)
THEN
718 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
719 3 sti, stir, stifn, stifr,
720 4 fx1, fx2, fy1, fy2,
721 5 fz1, fz2, mx1, mx2,
724 8 exy, eyy, ezy, exz,
725 9 eyz, ezz, nc1, nc2,
729 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
730 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
731 3 fsky, fsky, iadr, fx1,
732 4 fx2, fy1, fy2, fz1,
733 5 fz2, mx1, mx2, my1,
734 6 my2, mz1, mz2, exx,
735 7 eyx, ezx, exy, eyy,
736 8 ezy, exz, eyz, ezz,
740 ELSEIF (igtyp == 25)
THEN
744 2 x1dp, x2dp, ngl, x1,
747 5 rz1, rx2, ry2, rz2,
750 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
751 2 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
752 3 gbuf%LENGTH(ii(3)), gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)),
753 4 igeo, mgn, nel , nsensor )
756 IF (gbuf%OFF(i) /= -ten)
THEN
757 off(i) =
min(one,abs(gbuf%OFF(i)))
765 1 gbuf%SKEW, v, exx2, eyx2,
766 2 ezx2, exy2, eyy2, ezy2,
767 3 exz2, eyz2, ezz2, al2dp,
768 4 x1dp, x2dp, al2, aldp,
769 5 gbuf%SKEW_ERR,ngl, al, exx,
770 6 eyx, ezx, exy, eyy,
771 7 ezy, exz, eyz, ezz,
772 8 rx1, ry1, rz1, rx2,
773 9 ry2, rz2, vx1, vx2,
774 a vy1, vy2, vz1, vz2,
777 1 skew, geo, gbuf%FOR(ii(1)), gbuf%FOR(ii(2)),
778 2 gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)), gbuf%TOTDEPL(ii(2)),
779 3 gbuf%TOTDEPL(ii(3)), npf, tf, gbuf%OFF,
780 4 gbuf%DEP_IN_TENS(ii(1)),gbuf%DEP_IN_TENS(ii(2)),gbuf%DEP_IN_TENS(ii(3)),gbuf%DEP_IN_COMP(ii(1)),
781 5 gbuf%DEP_IN_COMP(ii(2)),gbuf%DEP_IN_COMP(ii(3)),gbuf%FOREP(ii(1)), gbuf%FOREP(ii(2)),
782 6 gbuf%FOREP(ii(3)), gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)), gbuf%LENGTH(ii(3)),
783 7 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%TOTROT(ii(1)),
784 8 gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)), gbuf%ROT_IN_TENS(ii(1)),gbuf%ROT_IN_TENS(ii(2)),
785 9 gbuf%ROT_IN_TENS(ii(3)),gbuf%MOMEP(ii(1)), gbuf%MOMEP(ii(2)), gbuf%MOMEP(ii(3)),
786 a gbuf%ROT_IN_COMP(ii(1)),gbuf%ROT_IN_COMP(ii(2)),gbuf%ROT_IN_COMP(ii(3)),anim,
787 b gbuf%POSX, gbuf%POSY, gbuf%POSZ, gbuf%POSXX,
788 c gbuf%POSYY, gbuf%POSZZ, gbuf%E6,
789 d nel, al2dp, exx2, eyx2,
790 e ezx2, exy2, eyy2, ezy2,
791 f exz2, eyz2, ezz2, igeo,
792 g gbuf%LENGTH_ERR, aldp, gbuf%YIELD(ii(1)), gbuf%YIELD(ii(2)),
793 h gbuf%YIELD(ii(3)), gbuf%YIELD(ii(4)), ngl, mgn,
794 i xcr, rx1, ry1, rz1,
795 j rx2, ry2, rz2, xin,
797 l xkr, vx1, vx2, vy1,
798 m vy2, vz1, vz2, nuvar,
799 n gbuf%VAR, gbuf%DEFINI(ii(1)), gbuf%DEFINI(ii(2)), gbuf%DEFINI(ii(3)),
800 o gbuf%DEFINI(ii(4)), gbuf%DEFINI(ii(5)), gbuf%DEFINI(ii(6)), gbuf%FORINI(ii(1)),
801 p gbuf%FORINI(ii(2)), gbuf%FORINI(ii(3)), gbuf%FORINI(ii(4)), gbuf%FORINI(ii(5)),
802 q gbuf%FORINI(ii(6)), gbuf%RUPTCRIT, nft, stf,
803 r sanin, iresp, impl_s, idyna,
807 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
811 1 jft, jlt, gbuf%OFF, dt2t,
812 2 neltst, ityptst, sti, stir,
813 3 ms, in, msrt, dmelrt,
814 4 gbuf%G_DT,gbuf%DT, ngl, xcr,
816 6 xkr, nc1, nc2, jsms)
818 1 gbuf%EINT, partsav, ixr, geo,
819 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
820 3 grth, igrth, gbuf%OFF, nc1,
822 5 nel, igre, sensors)
824 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
825 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
827 IF (iparit == 0)
THEN
829 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii
830 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
831 3 sti, stir, stifn, stifr,
832 4 fx1, fx2, fy1, fy2,
833 5 fz1, fz2, mx1, mx2,
834 6 my1, my2, mz1, mz2,
836 8 exy, eyy, ezy, exz,
837 9 eyz, ezz, nc1, nc2,
841 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
842 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
843 3 fsky, fsky, iadr, fx1,
844 4 fx2, fy1, fy2, fz1,
845 5 fz2, mx1, mx2, my1,
846 6 my2, mz1, mz2, exx,
847 7 eyx, ezx, exy, eyy,
848 8 ezy, exz, eyz, ezz,
852 ELSEIF (igtyp >= 29 .AND. igtyp <= 31)
THEN
855 1 x, vr, ixr, gbuf%SKEW,
858 4 rx1, ry1, rz1, rx2,
859 5 ry2, rz2, nc1, nc2,
862 1 gbuf%SKEW,v, ngl, al,
865 4 ezx, exy, eyy, ezy,
866 5 exz, eyz, ezz, rx1,
867 6 ry1, rz1, rx2, ry2,
868 7 rz2, vx1, vx2, vy1,
869 8 vy2, vz1, vz2, nc1,
873 1 al, gbuf%V_REPCVT(ii(1):), gbuf%V_REPCVT(ii(2):), gbuf%V_REPCVT(ii(3):),
874 2 gbuf%VR_REPCVT(ii(1):),gbuf%VR_REPCVT(ii(2):),gbuf%VR_REPCVT(ii(3):), fr_wave,
875 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1):), gbuf%MOM(ii(1):),
876 4 gbuf%MOM(ii(2):), gbuf%MOM(ii(3):), gbuf%FOR(ii(2):), gbuf%FOR(ii(3):),
877 5 partsav, ipartr, exx, eyx,
878 6 ezx, exy, eyy, ezy,
879 7 exz, eyz, ezz, rx1,
880 8 ry1, rz1, rx2, ry2,
881 9 rz2, vx1, vx2, vy1,
886 off(i)=
min(one,abs(gbuf%OFF(i)))
891 IF( igtyp==29 .OR. igtyp==30 .OR. igtyp==31)
THEN
893 user_eint(i) = gbuf%EINT(i)
895 user_fx(i) = gbuf%FOR(ii(1)+i-1)
896 user_fy(i) = gbuf%FOR(ii(2)+i-1)
897 user_fz(i) = gbuf%FOR(ii(3)+i-1)
899 user_momx(i) = gbuf%MOM(ii(1)+i-1)
900 user_momy(i) = gbuf%MOM(ii(2)+i-1)
901 user_momz(i) = gbuf%MOM(ii(3)+i-1)
903 user_v_repcvtx(i) = gbuf%V_REPCVT(ii(1)+i-1)
904 user_v_repcvty(i) = gbuf%V_REPCVT(ii(2)+i-1)
905 user_v_repcvtz(i) = gbuf%V_REPCVT(ii(3)+i-1)
907 user_vr_repcvtx(i) = gbuf%VR_REPCVT(ii(1)+i-1)
908 user_vr_repcvty(i) = gbuf%VR_REPCVT(ii(2)+i-1)
909 user_vr_repcvtz(i) = gbuf%VR_REPCVT(ii(3)+i-1)
911 ALLOCATE(user_uvar(nuvar*nel))
912 user_uvar(1:nuvar*nel)=gbuf%VAR(1:nuvar*nel)
916 IF (igtyp == 29)
THEN
918 IF (userl_avail>0)
THEN
919 CALL eng_userlib_ruser(igtyp,
920 1 nel ,i0 ,user_uvar ,nuvar ,
921 2 user_fx ,user_fy ,user_fz ,user_momx ,user_momy ,
922 3 user_momz ,user_eint ,off ,usti ,ustir
923 4 visi ,visir ,unused ,uiner ,dt1 ,
924 5 al ,user_v_repcvtx ,user_v_repcvty ,user_v_repcvtz ,user_vr_repcvtx,
925 6 user_vr_repcvty ,user_vr_repcvtz ,fr_w_e )
929 option=
'PROP/USER1 - SPRING'
930 size=len_trim(option)
931 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo)
935 ELSEIF (igtyp == 30)
THEN
936 IF (userl_avail>0)
THEN
937 CALL eng_userlib_ruser(igtyp,
938 1 nel ,i0 ,user_uvar ,nuvar ,
939 2 user_fx ,user_fy ,user_fz ,user_momx ,user_momy ,
940 3 user_momz ,user_eint ,off ,usti ,ustir ,
941 4 visi ,visir ,unused ,uiner ,dt1 ,
942 5 al ,user_v_repcvtx ,user_v_repcvty ,user_v_repcvtz ,user_vr_repcvtx,
943 6 user_vr_repcvty ,user_vr_repcvtz ,fr_w_e )
947 option=
'PROP/USER2 - SPRING'
948 size=len_trim(option)
949 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo)
953 ELSEIF (igtyp == 31)
THEN
954 IF (userl_avail>0)
THEN
955 CALL eng_userlib_ruser(igtyp,
956 1 nel ,i0 ,user_uvar ,nuvar ,
957 2 user_fx ,user_fy ,user_fz ,user_momx ,user_momy,
958 3 user_momz ,user_eint ,off ,usti ,ustir,
959 4 visi ,visir ,unused ,uiner ,dt1,
960 5 al ,user_v_repcvtx ,user_v_repcvty ,user_v_repcvtz ,user_vr_repcvtx,
961 6 user_vr_repcvty ,user_vr_repcvtz ,fr_w_e )
965 option=
'PROP/USER3 - SPRING'
966 size=len_trim(option)
967 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo)
974 IF( igtyp==29 .OR. igtyp==30 .OR. igtyp==31)
THEN
976 gbuf%EINT(i) = user_eint(i)
978 gbuf%FOR(ii(1)+i-1) = user_fx(i)
979 gbuf%FOR(ii(2)+i-1) = user_fy(i)
980 gbuf%FOR(ii(3)+i-1) = user_fz(i)
982 gbuf%MOM(ii(1)+i-1) = user_momx(i)
984 gbuf%MOM(ii(3)+i-1) = user_momz(i)
986 gbuf%V_REPCVT(ii(1)+i-1) = user_v_repcvtx(i)
987 gbuf%V_REPCVT(ii(2)+i-1) = user_v_repcvty(i)
988 gbuf%V_REPCVT(ii(3)+i-1) = user_v_repcvtz(i)
990 gbuf%VR_REPCVT(ii(1)+i-1) = user_vr_repcvtx(i)
991 gbuf%VR_REPCVT(ii(2)+i-1) = user_vr_repcvty(i)
992 gbuf%VR_REPCVT(ii(3)+i-1) = user_vr_repcvtz(i)
994 gbuf%VAR(1:nuvar*nel) = user_uvar(1:nuvar*nel)
995 DEALLOCATE(user_uvar)
999 IF (off(i) < one) gbuf%OFF(i) = off(i)
1003 1 jft, jlt, gbuf%OFF, dt2t,
1004 2 neltst, ityptst, sti, stir,
1005 3 ms, in, usti, ustir,
1006 4 visi, visir, gbuf%MASS, uiner,
1007 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1008 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1009 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1010 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1011 9 partsav, ipartr, msrt, dmelrt,
1012 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1016 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1017 2 v, ipartr, uiner, x,
1018 3 vr, gresav, grth, igrth,
1019 4 nc1, nc2, itask, iad,
1020 5 igre, nft, nel,sensors)
1022 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1023 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1025 IF (iparit == 0)
THEN
1027 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1028 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1029 3 sti, stir, stifn, stifr,
1030 4 fx1, fx2, fy1, fy2,
1031 5 fz1, fz2, mx1, mx2,
1032 6 my1, my2, mz1, mz2,
1033 7 gbuf%MOM(ii(4)),gbuf%MOM(ii(5)),al, exx,
1034 8 eyx, ezx, exy, eyy,
1035 9 ezy, exz, eyz, ezz,
1039 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1040 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1042 4 fx2, fy1, fy2, fz1,
1043 5 fz2, mx1, mx2, my1,
1044 6 my2, mz1, mz2, gbuf%MOM(ii(4)),
1045 7 gbuf%MOM(ii(5)),exx, eyx, ezx,
1046 8 exy, eyy, ezy, exz,
1047 9 eyz, ezz, al, nel,
1051 ELSEIF (igtyp == 32)
THEN
1055 2 x1dp, x2dp, ngl, x1,
1057 4 z2, mgn, rx1, ry1,
1058 5 rz1, rx2, ry2, rz2,
1061 1 gbuf%SKEW, v, exx2, eyx2,
1062 2 ezx2, exy2, eyy2, ezy2,
1063 3 exz2, eyz2, ezz2, al2dp,
1064 4 x1dp, x2dp, al2, aldp,
1065 5 gbuf%SKEW_ERR,ngl, al, exx,
1066 6 eyx, ezx, exy, eyy,
1067 7 ezy, exz, eyz, ezz,
1068 8 rx1, ry1, rz1, rx2,
1069 9 ry2, rz2, vx1, vx2,
1070 a vy1, vy2, vz1, vz2,
1073 1 al, gbuf%V_REPCVT(ii(1)), gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)),
1074 2 gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_wave,
1075 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)), gbuf%MOM(ii(1)),
1076 4 gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1077 5 partsav, ipartr, exx, eyx,
1078 6 ezx, exy, eyy, ezy,
1079 7 exz, eyz, ezz, rx1,
1080 8 ry1, rz1, rx2, ry2,
1081 9 rz2, vx1, vx2, vy1,
1082 a vy2, vz1, vz2, nc1,
1085 nuvar = nint(geo(25,i0))
1087 off(i)=
min(one,abs(gbuf%OFF(i)))
1091 1 nel ,iout ,i0 ,gbuf%VAR ,nuvar ,
1092 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1)) ,gbuf%MOM(ii(2)) ,
1093 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1094 4 visi ,visir ,unused ,uiner ,dt1 ,
1095 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii(3)),gbuf%VR_REPCVT(ii(1)),
1096 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_w_e ,nsensor,sensors%SENSOR_TAB )
1099 IF (off(i) < one) gbuf%OFF(i) = off(i)
1103 1 jft, jlt, gbuf%OFF, dt2t,
1104 2 neltst, ityptst, sti, stir,
1105 3 ms, in, usti, ustir,
1106 4 visi, visir, gbuf%MASS, uiner,
1107 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1108 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1109 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1110 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1111 9 partsav, ipartr, msrt, dmelrt,
1112 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1116 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1117 2 v, ipartr, uiner, x,
1118 3 vr, gresav, grth, igrth,
1119 4 nc1, nc2, itask, iad,
1120 5 igre, nft, nel, sensors)
1122 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1123 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1125 IF (iparit == 0)
THEN
1127 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1128 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1129 3 sti, stir, stifn, stifr,
1130 4 fx1, fx2, fy1, fy2,
1131 5 fz1, fz2, mx1, mx2,
1132 6 my1, my2, mz1, mz2,
1133 7 al, exx, eyx, ezx,
1134 8 exy, eyy, ezy, exz,
1135 9 eyz, ezz, nc1, nc2,
1139 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii
1141 3 fsky, fsky, iadr, fx1,
1142 4 fx2, fy1, fy2, fz1,
1143 5 fz2, mx1, mx2, my1,
1144 6 my2, mz1, mz2, exx,
1146 8 ezy, exz, eyz, ezz,
1150 ELSEIF (igtyp == 33 .OR. igtyp == 45)
THEN
1153 nuvar = nint(geo(25,i0))
1154 IF (igtyp == 45) flg_kj2 = 1
1157 1 jft, jlt, ipartr, nel,
1158 2 nuvar, iout, i0, iadr,
1159 3 fsky, fsky, gbuf%OFF, gbuf%FOR(ii(1)),
1160 4 gbuf%FOR(ii(2)), gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)),
1161 5 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)),
1162 6 gbuf%TOTROT(ii(3)), gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)),
1163 7 gbuf%VAR, stifn, stifr, ixr,
1165 9 vr, sti, stir, ms,
1166 a in, partsav, dt1, dt2t,
1168 c fy1, fy2, fz1, fz2,
1169 d mx1, mx2, my1, my2,
1170 e mz1, mz2, gresav, grth,
1171 f igrth, msrt, dmelrt, neltst,
1172 g ityptst, igtyp, sensors%SENSOR_TAB, nc1,
1173 h nc2, xdp, gbuf%LENGTH_ERR, h3d_data,
1174 i jsms, igre, nft, nsensor )
1176 ELSEIF (igtyp == 35 .OR. igtyp == 36)
THEN
1179 1 x, vr, ixr, gbuf%SKEW,
1182 4 rx1, ry1, rz1, rx2,
1183 5 ry2, rz2, nc1, nc2,
1186 1 gbuf%SKEW,v, ngl, al,
1189 4 ezx, exy, eyy, ezy,
1190 5 exz, eyz, ezz, rx1,
1191 6 ry1, rz1, rx2, ry2,
1192 7 rz2, vx1, vx2, vy1,
1193 8 vy2, vz1, vz2, nc1,
1196 1 al, gbuf%V_REPCVT(ii(1)), gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)),
1197 2 gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_wave,
1198 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)), gbuf%MOM(ii
1199 4 gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1200 5 partsav, ipartr, exx, eyx,
1201 6 ezx, exy, eyy, ezy,
1202 7 exz, eyz, ezz, rx1,
1203 8 ry1, rz1, rx2, ry2,
1204 9 rz2, vx1, vx2, vy1,
1205 a vy2, vz1, vz2, nc1,
1208 nuvar = nint(geo(25,i0))
1210 off(i)=
min(one,abs(gbuf%OFF(i)))
1213 IF (igtyp == 35)
THEN
1215 1 nel ,iout ,i0 ,gbuf%VAR ,nuvar ,
1216 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1)) ,gbuf%MOM(ii(2)) ,
1217 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1218 4 visi ,visir ,unused ,uiner ,dt1 ,
1219 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii(3)),gbuf%VR_REPCVT(ii(1)),
1220 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_w_e )
1221 ELSEIF (igtyp == 36)
THEN
1223 1 nel ,i0 ,gbuf%VAR ,nuvar ,fr_w_e ,
1224 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1)) ,gbuf%MOM(ii(2)) ,
1225 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1226 4 visi ,visir ,unused ,uiner ,dt1 ,
1227 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii(3)),gbuf%VR_REPCVT(ii(1)),
1228 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)))
1232 IF (off(i) < one) gbuf%OFF(i) = off(i)
1236 1 jft, jlt, gbuf%OFF, dt2t,
1237 2 neltst, ityptst, sti, stir,
1238 3 ms, in, usti, ustir,
1239 4 visi, visir, gbuf%MASS, uiner,
1240 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1241 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1242 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1243 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1244 9 partsav, ipartr, msrt, dmelrt,
1245 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1249 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1250 2 v, ipartr, uiner, x,
1251 3 vr, gresav, grth, igrth,
1252 4 nc1, nc2, itask, iad,
1253 5 igre, nft, nel, sensors)
1255 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1256 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1258 IF (iparit == 0)
THEN
1260 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1261 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1262 3 sti, stir, stifn, stifr,
1263 4 fx1, fx2, fy1, fy2,
1265 6 my1, my2, mz1, mz2,
1266 7 gbuf%MOM(ii(4)),gbuf%MOM(ii(5)),al, exx,
1267 8 eyx, ezx, exy, eyy,
1268 9 ezy, exz, eyz, ezz,
1272 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1273 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1274 3 fsky, fsky, iadr, fx1,
1275 4 fx2, fy1, fy2, fz1,
1276 5 fz2, mx1, mx2, my1,
1277 6 my2, mz1, mz2, gbuf%MOM(ii(4)),
1278 7 gbuf%MOM(ii(5)),exx, eyx, ezx,
1279 8 exy, eyy, ezy, exz,
1280 9 eyz, ezz, al, nel,
1284 ELSEIF (igtyp == 44)
THEN
1287 1 x, vr, ixr, gbuf%SKEW,
1290 4 rx1, ry1, rz1, rx2,
1291 5 ry2, rz2, nc1, nc2,
1294 1 gbuf%SKEW,v, ngl, al,
1297 4 ezx, exy, eyy, ezy,
1298 5 exz, eyz, ezz, rx1,
1299 6 ry1, rz1, rx2, ry2,
1300 7 rz2, vx1, vx2, vy1,
1301 8 vy2, vz1, vz2, nc1,
1304 1 al, gbuf%V_REPCVT(ii(1)), gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)),
1305 2 gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_wave,
1306 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)), gbuf%MOM(ii(1)),
1307 4 gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1308 5 partsav, ipartr, exx, eyx,
1309 6 ezx, exy, eyy, ezy,
1310 7 exz, eyz, ezz, rx1,
1311 8 ry1, rz1, rx2, ry2,
1312 9 rz2, vx1, vx2, vy1,
1313 a vy2, vz1, vz2, nc1,
1316 nuvar = nint(geo(25,i0))
1318 off(i)=
min(one,abs(gbuf%OFF(i)))
1322 1 nel ,iout ,i0 ,gbuf%VAR ,nuvar ,
1323 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1)) ,gbuf%MOM(ii(2)) ,
1324 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1325 4 visi ,visir ,unused ,uiner ,dt1 ,
1326 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii(3)),gbuf%VR_REPCVT(ii(1)),
1327 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_w_e )
1330 IF (off(i) < one) gbuf%OFF(i) = off(i)
1334 1 jft, jlt, gbuf%OFF, dt2t,
1335 2 neltst, ityptst, sti, stir,
1336 3 ms, in, usti, ustir,
1337 4 visi, visir, gbuf%MASS, uiner,
1338 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1339 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1340 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1341 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1342 9 partsav, ipartr, msrt, dmelrt,
1343 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1347 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1348 2 v, ipartr, uiner, x,
1349 3 vr, gresav, grth, igrth,
1350 4 nc1, nc2, itask, iad,
1351 5 igre, nft, nel,sensors)
1353 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1354 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1356 IF (iparit == 0)
THEN
1358 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1359 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1360 3 sti, stir, stifn, stifr,
1361 4 fx1, fx2, fy1, fy2,
1362 5 fz1, fz2, mx1, mx2,
1363 6 my1, my2, mz1, mz2,
1364 7 gbuf%MOM(ii(4)),gbuf%MOM(ii(5)),al, exx,
1365 8 eyx, ezx, exy, eyy,
1366 9 ezy, exz, eyz, ezz,
1370 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1371 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1372 3 fsky, fsky, iadr, fx1,
1373 4 fx2, fy1, fy2, fz1,
1374 5 fz2, mx1, mx2, my1,
1375 6 my2, mz1, mz2, gbuf%MOM(ii(4)),
1376 7 gbuf%MOM(ii(5)),exx, eyx,
1377 8 exy, eyy, ezy, exz,
1378 9 eyz, ezz, al, nel,
1382 ELSEIF (igtyp == 46)
THEN
1388 4 rx1, ry1, rz1, rx2,
1389 5 ry2, rz2, nc1, nc2,
1392 1 gbuf%SKEW,v, ngl, al,
1395 4 ezx, exy, eyy, ezy,
1396 5 exz, eyz, ezz, rx1,
1397 6 ry1, rz1, rx2, ry2,
1398 7 rz2, vx1, vx2, vy1,
1399 8 vy2, vz1, vz2, nc1,
1402 1 al, gbuf%V_REPCVT(ii(1)), gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3))
1403 2 gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_wave,
1404 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)), gbuf%MOM(ii(1)),
1405 4 gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1406 5 partsav, ipartr, exx, eyx,
1407 6 ezx, exy, eyy, ezy,
1408 7 exz, eyz, ezz, rx1,
1409 8 ry1, rz1, rx2, ry2,
1410 9 rz2, vx1, vx2, vy1,
1411 a vy2, vz1, vz2, nc1,
1414 nuvar = nint(geo(25,i0))
1416 off(i)=
min(one,abs(gbuf%OFF(i)))
1420 1 nel ,iout ,i0 ,gbuf%VAR ,nuvar ,
1421 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1)) ,gbuf%MOM(ii(2)) ,
1422 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir
1423 4 visi ,visir ,unused ,uiner ,dt1 ,
1424 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii(3)),gbuf%VR_REPCVT(ii(1)),
1425 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_w_e )
1428 IF (off(i) < one) gbuf%OFF(i) = off(i)
1432 1 jft, jlt, gbuf%OFF, dt2t,
1433 2 neltst, ityptst, sti, stir,
1434 3 ms, in, usti, ustir,
1435 4 visi, visir, gbuf%MASS, uiner,
1436 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1437 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1438 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1439 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1440 9 partsav, ipartr, msrt, dmelrt,
1441 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1445 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1446 2 v, ipartr, uiner, x,
1447 3 vr, gresav, grth, igrth,
1448 4 nc1, nc2, itask, iad,
1449 5 igre, nft, nel,sensors)
1451 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1452 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1454 IF (iparit == 0)
THEN
1456 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1457 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1459 4 fx1, fx2, fy1, fy2,
1460 5 fz1, fz2, mx1, mx2,
1461 6 my1, my2, mz1, mz2,
1462 7 gbuf%MOM(ii(4)),gbuf%MOM(ii(5)),al, exx,
1463 8 eyx, ezx, exy, eyy,
1464 9 ezy, exz, eyz, ezz,
1468 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1469 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1470 3 fsky, fsky, iadr, fx1,
1471 4 fx2, fy1, fy2, fz1,
1472 5 fz2, mx1, mx2, my1,
1473 6 my2, mz1, mz2, gbuf%MOM(ii(4)),
1474 7 gbuf%MOM(ii(5)),exx, eyx, ezx,
1475 8 exy, eyy, ezy, exz,
1476 9 eyz, ezz, al, nel,