86 1 ELBUF_STR, JFT, JLT, NEL,
87 2 MTN, IGEO, GEO, IXR,
89 4 NPF, TF, SKEW, FLG_KJ2,
91 6 NELTST, ITYPTST, STIFN, STIFR,
93 8 SENSORS, OFFSET, ANIM, PARTSAV,
94 9 IPARTR, TANI, FR_WAVE, BUFMAT,
95 A BUFGEO, PM, RBY, FX1,
98 D MY2, MZ1, MZ2, GRESAV,
99 E GRTH, IGRTH, MSRT, DMELRT,
100 F ITASK, H3D_DATA, JSMS, NFT,
101 G IAD, IGRE, PRELD1, STF_F,
102 H STF, SANIN, IRESP, IMPL_S,
113 USE preload_axial_mod
117#include "implicit_f.inc"
121#include "mvsiz_p.inc"
125#include "param_c.inc"
126#include "parit_c.inc"
127#include "units_c.inc"
128#include "com04_c.inc"
129#include "com08_c.inc"
130#include "userlib.inc"
134 TYPE(python_),
INTENT(INOUT) :: PYTHON
135 INTEGER,
INTENT(IN) :: STF
136 INTEGER,
INTENT(IN) :: SANIN
137 INTEGER,
INTENT(IN) :: IRESP
138 INTEGER,
INTENT(IN) :: IMPL_S
139 INTEGER,
INTENT(IN) :: IDYNA
140 INTEGER,
INTENT(IN) ::
141 INTEGER,
INTENT(INOUT) :: IAD
142 INTEGER,
INTENT(IN) :: IGRE
143 INTEGER,
INTENT(IN) :: NFT
144 INTEGER IXR(NIXR,*), NPF(SNPC),IADR(3,*),IPARTR(*),
145 . IGEO(NPROPGI,*),JFT,JLT,NELTST ,ITYPTST,OFFSET,
146 . NEL,MTN,GRTH(*),IGRTH(*),FLG_KJ2,ITASK
147 INTEGER,
INTENT(IN) :: JSMS
149 . GEO(NPROPG,*),X(*),F(*),TF(STF),SKEW(LSKEW,*),FSKY(*),
150 . VR(*), V(3,*), AR(*), STIFN(*),STIFR(*),MS(*), IN(*),
151 . ANIM(SANIN),PARTSAV(*),TANI(15,*),
152 . fr_wave(*),bufmat(*),bufgeo(*),pm(*),rby(*),
153 . fx1(mvsiz),fy1(mvsiz),fz1(mvsiz),
154 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
155 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
156 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),gresav(*),
158 my_real,
INTENT(IN) :: preld1,stf_f
159 DOUBLE PRECISION XDP(3,*)
162 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
163 TYPE(H3D_DATABASE) :: H3D_DATA
164 TYPE (SENSORS_) ,
INTENT(INOUT) :: SENSORS
168 INTEGER NGL(MVSIZ),MGN(MVSIZ),NC1(MVSIZ),(MVSIZ),NC3(MVSIZ),IEQUIL(MVSIZ)
171 . STI(3,MVSIZ),STIR(3,MVSIZ),VISI(MVSIZ),VISIR(MVSIZ),
172 . USTI(MVSIZ),USTIR(MVSIZ),DF(MVSIZ),AL(MVSIZ),UNUSED(MVSIZ),
173 . UINER(MVSIZ),FR_W_E(MVSIZ),OFF(MVSIZ),BID
175 . EXX2(MVSIZ), EYX2(MVSIZ), EZX2(MVSIZ),
176 . exy2(mvsiz), eyy2(mvsiz), ezy2(mvsiz),
177 . exz2(mvsiz), eyz2(mvsiz), ezz2(mvsiz),
178 . al2(mvsiz),x1(mvsiz),y1(mvsiz),z1(mvsiz),
179 . x2(mvsiz),y2(mvsiz),z2(mvsiz),x3(mvsiz),y3(mvsiz),z3(mvsiz),
180 . ex(mvsiz),ey(mvsiz),ez(mvsiz),
181 . exx(mvsiz),eyx(mvsiz),ezx(mvsiz),
182 . exy(mvsiz),eyy(mvsiz),ezy(mvsiz),
183 . exz(mvsiz),eyz(mvsiz),ezz(mvsiz),
184 . xcr(mvsiz),xk(mvsiz),xm(mvsiz),xc(mvsiz),rx1(mvsiz),rx2(mvsiz),
185 . ry1(mvsiz),ry2(mvsiz),rz1(mvsiz),rz2(mvsiz),xin(mvsiz),
186 . ak(mvsiz),xkm(mvsiz),xcm(mvsiz),xkr(mvsiz),
187 . ex2(mvsiz),ey2(mvsiz),ez2(mvsiz),vx1(mvsiz),vx2(mvsiz),
188 . vy1(mvsiz),vy2(mvsiz),vz1(mvsiz),vz2(mvsiz),vl12(mvsiz)
189 INTEGER IGTYP,I,I0,NUVAR,NSENSOR
191 . X1DP(3,MVSIZ),X2DP(3,MVSIZ),X3DP(3,MVSIZ),
192 . elx(3,mvsiz),al2dp(mvsiz),aldp(mvsiz)
193 my_real user_fx(mvsiz),user_fy(mvsiz),user_fz(mvsiz),
194 * user_momx(mvsiz),user_momy(mvsiz),user_momz(mvsiz),
195 * user_v_repcvtx(mvsiz),user_v_repcvty(mvsiz),user_v_repcvtz(mvsiz),
196 * user_vr_repcvtx(mvsiz),user_vr_repcvty(mvsiz),user_vr_repcvtz(mvsiz),
198 my_real,
DIMENSION(:),
ALLOCATABLE :: user_uvar
200 TYPE(g_bufel_),
POINTER :: GBUF
206 GBUF => elbuf_str%GBUF
207 nsensor = sensors%NSENSOR
223 ii(i) = (i-1)*nel + 1
231 nuvar = nint(geo(25,i0))
239 2 x1dp, x2dp, ngl, mgn,
242 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
243 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel,nsensor)
246 IF (gbuf%OFF(i) /= -ten)
THEN
247 off(i)=
min(one,abs(gbuf%OFF(i)))
255 1 geo, gbuf%FOR(ii(1)), gbuf%LENGTH(ii(1)), gbuf%EINT,
256 2 gbuf%TOTDEPL(ii(1)), npf, tf, off,
257 3 gbuf%DEP_IN_TENS(ii(1)),gbuf%FOREP(ii(1)), gbuf%DEP_IN_COMP(ii(1)),anim,
258 4 gbuf%POSX, igeo, gbuf%LENGTH_ERR,
259 5 x1dp, x2dp, v, gbuf%YIELD(ii(1)),
262 8 ak, nc1, nc2, nuvar,
263 9 gbuf%VAR, gbuf%DEFINI, nel, nft,stf,
264 a sanin, iresp, snpc)
267 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
271 1 jft, jlt, gbuf%OFF, dt2t,
272 2 neltst, ityptst, sti, ms,
273 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
275 5 ak, nc1, nc2, jsms)
277 1 gbuf%EINT, partsav, ixr, geo,
278 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
279 3 grth, igrth, gbuf%OFF, nc1,
281 5 nel, igre, sensors)
283 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
287 vl12(i) = (v(1,nc2(i))-v(1,nc1(i)))*ex(i)+
288 1 (v(2,nc2(i))-v(2,nc1(i)))*ey(i)+
289 2 (v(3,nc2(i))-v(3,nc1(i)))*ez(i)
291 CALL preload_axial(nel,preld1,gbuf%BPRELD,vl12,stf_f,gbuf%FOR)
292 gbuf%FOREP(jft:jlt) = gbuf%FOR(jft:jlt)
294 IF (iparit == 0)
THEN
296 1 f, gbuf%FOR(ii(1)),sti, stifn,
297 2 fx1, fx2, fy1, fy2,
298 3 fz1, fz2, mx1, mx2,
299 4 my1, my2, mz1, mz2,
304 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
305 2 iadr, fx1, fx2, fy1,
306 3 fy2, fz1, fz2, mx1,
307 4 mx2, my1, my2, mz1,
313 ELSEIF (igtyp == 26)
THEN
317 2 x1dp, x2dp, ngl, mgn,
320 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
321 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel ,nsensor)
324 IF (gbuf%OFF(i) /= -ten)
THEN
325 off(i)=
min(one,abs(gbuf%OFF(i)))
333 1 gbuf%FOR(ii(1)), gbuf%EINT, gbuf%TOTDEPL(ii(1)), gbuf%LENGTH(ii(1)),
334 2 gbuf%DV, gbuf%FOREP(ii(1)), gbuf%DEP_IN_COMP(ii(1)),gbuf%POSX,
335 3 geo, igeo, npf, tf,
336 4 v, off, anim, fr_wave,
337 5 gbuf%LENGTH_ERR, x1dp, x2dp, ngl,
340 8 nel, nft, iad, gbuf%RUPTCRIT(ii(1)))
343 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
347 1 jft, jlt, gbuf%OFF, dt2t,
348 2 neltst, ityptst, sti, ms,
349 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
351 5 ak, nc1, nc2, jsms)
353 1 gbuf%EINT, partsav, ixr, geo,
354 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
355 3 grth, igrth, gbuf%OFF, nc1,
357 5 nel, igre, sensors)
359 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
361 IF (iparit == 0)
THEN
363 1 f, gbuf%FOR(ii(1)),sti, stifn,
364 2 fx1, fx2, fy1, fy2,
365 3 fz1, fz2, mx1, mx2,
366 4 my1, my2, mz1, mz2,
371 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
372 2 iadr, fx1, fx2, fy1,
373 3 fy2, fz1, fz2, mx1,
379 ELSEIF (igtyp == 27)
THEN
383 2 x1dp, x2dp, ngl, mgn,
386 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
387 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel ,nsensor )
390 IF (gbuf%OFF(i) /= -ten)
THEN
391 off(i)=
min(one,abs(gbuf%OFF(i)))
399 1 gbuf%FOR(ii(1)), gbuf%EINT, gbuf%TOTDEPL(ii(1)),gbuf%LENGTH(ii(1)),
400 2 gbuf%POSX, geo, igeo, npf,
402 4 gbuf%LENGTH_ERR, x1dp, x2dp, ngl,
405 7 nel, nft, gbuf%RUPTCRIT(ii(1)))
408 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
412 1 jft, jlt, gbuf%OFF, dt2t,
413 2 neltst, ityptst, sti, ms,
414 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
416 5 ak, nc1, nc2, jsms)
418 1 gbuf%EINT, partsav, ixr, geo,
419 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
420 3 grth, igrth, gbuf%OFF, nc1,
422 5 nel, igre, sensors)
424 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
426 IF (iparit == 0)
THEN
428 1 f, gbuf%FOR(ii(1)),sti, stifn,
429 2 fx1, fx2, fy1, fy2,
430 3 fz1, fz2, mx1, mx2,
431 4 my1, my2, mz1, mz2,
436 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
437 2 iadr, fx1, fx2, fy1,
438 3 fy2, fz1, fz2, mx1,
439 4 mx2, my1, my2, mz1,
444 ELSEIF (igtyp == 8)
THEN
448 2 x1dp, x2dp, ngl, x1,
451 5 rz1, rx2, ry2, rz2,
454 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
455 2 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
456 3 gbuf%LENGTH(ii(3)), gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)),
457 4 igeo, mgn, nel, nsensor)
460 IF (gbuf%OFF(i) /= -ten)
THEN
461 off(i)=
min(one,abs(gbuf%OFF(i)))
469 1 skew, geo, gbuf%FOR(ii(1)), gbuf%FOR(ii(2)),
470 2 gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)), gbuf%TOTDEPL(ii
471 3 gbuf%TOTDEPL(ii(3)), npf, tf, off,
472 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)),
473 5 gbuf%DEP_IN_COMP(ii(2)),gbuf%DEP_IN_COMP(ii(3)),gbuf%FOREP(ii(1)), gbuf%FOREP(ii(2)),
474 6 gbuf%FOREP(ii(3)), gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)), gbuf%LENGTH(ii(3)),
475 7 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%TOTROT(ii(1)),
476 8 gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)), gbuf%ROT_IN_TENS(ii(1)),gbuf%ROT_IN_TENS(ii(2)),
477 9 gbuf%ROT_IN_TENS(ii(3)),gbuf%MOMEP(ii(1)), gbuf%MOMEP(ii(2)), gbuf%MOMEP(ii(3)),
478 a gbuf%ROT_IN_COMP(ii(1)),gbuf%ROT_IN_COMP(ii(2)),gbuf%ROT_IN_COMP(ii(3)),anim,
479 b gbuf%POSX, gbuf%POSY, gbuf%POSZ, gbuf%POSXX,
480 c gbuf%POSYY, gbuf%POSZZ, v,
481 d igeo, gbuf%E6, gbuf%RUPTCRIT, nel,
482 e gbuf%LENGTH_ERR, x1dp, x2dp, gbuf%YIELD
483 f gbuf%YIELD(ii(2)), gbuf%YIELD(ii
484 g gbuf%YIELD(ii(6)), ngl,
485 h exx, eyx, ezx, exy,
486 i eyy, ezy, exz, eyz,
487 j ezz, xcr, rx1, ry1,
488 k rz1, rx2, ry2, rz2,
490 m xcm, nc1, nc2, nuvar,
491 n gbuf%VAR, gbuf%DEFINI(ii(1)), gbuf%DEFINI(ii(2)), gbuf%DEFINI(ii(3)),
492 o gbuf%DEFINI(ii(4)), gbuf%DEFINI(ii(5)), gbuf%DEFINI(ii(6)), iequil,
493 p gbuf%SKEW_ID, nft, stf, sanin,
497 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
500 CALL rsens_nic(nel ,ixr ,gbuf%FOR,gbuf%MOM,skew ,
501 . nsensor,sensors%SENSOR_TAB)
504 1 jft, jlt, gbuf%OFF, dt2t,
505 2 neltst, ityptst, sti, stir,
506 3 ms, in, msrt, dmelrt,
507 4 gbuf%G_DT,gbuf%DT, ngl, xcr,
509 6 xkr, nc1, nc2, jsms)
511 1 gbuf%EINT,partsav, ixr, geo,
512 2 v, ipartr, bid, gresav,
513 3 grth, igrth, gbuf%OFF, nc1,
517 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
518 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, h3d_data,
520 IF (iparit == 0)
THEN
523 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii
524 3 sti, stir, stifn, stifr,
525 4 fx1, fx2, fy1, fy2,
527 6 my1, my2, mz1, mz2,
529 8 x2, y2, z2, iequil,
531 a eyy, ezy, exz, eyz,
532 b ezz, nc1, nc2, nel)
535 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
536 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
537 3 fsky, fsky, iadr, fx1,
538 4 fx2, fy1, fy2, fz1,
539 5 fz2, mx1, mx2, my1,
540 6 my2, mz1, mz2, geo,
542 8 y2, z2, iequil, exx,
543 9 eyx, ezx, exy, eyy,
544 a ezy, exz, eyz, ezz,
548 ELSEIF (igtyp == 12)
THEN
552 2 x1dp, x2dp, x3dp, ngl,
553 3 mgn, nc1, nc2, nc3,
556 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
557 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel, nsensor )
560 IF (gbuf%OFF(i) /= -ten)
THEN
561 off(i)=
min(one,abs(gbuf%OFF(i)))
569 1 geo, gbuf%FOR(ii(1)), gbuf%LENGTH(ii(1)), gbuf%EINT,
570 2 gbuf%TOTDEPL(ii(1)), npf, tf, off,
571 3 gbuf%DEP_IN_TENS(ii(1)),gbuf%FOREP(ii(1)), gbuf%DEP_IN_COMP(ii(1)),gbuf%DFS,
573 5 gbuf%POSX, igeo, gbuf%LENGTH_ERR,
574 6 x1dp, x2dp, x3dp, gbuf%YIELD(ii(1)),
575 7 table, gbuf%INIFRIC, ngl, mgn,
578 a ey2, ez2, nc1, nc2,
579 b nc3, nuvar, gbuf%VAR, gbuf%DEFINI,
580 c nel, nft, stf, sanin,
584 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
587 1 jft, jlt, gbuf%OFF, dt2t,
588 2 neltst, ityptst, sti, ms,
589 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
594 1 gbuf%EINT, partsav, ixr, geo,
595 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
596 3 grth, igrth, nc1, nc2,
600 1 gbuf%FOR(ii(1)),df, tani, h3d_data,
602 IF (iparit == 0)
THEN
604 1 f, gbuf%FOR(ii(1)),sti, stifn,
606 3 ex2, ey2, ez2, nc1,
610 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
616 ELSEIF (igtyp == 13)
THEN
620 2 x1dp, x2dp, ngl, x1,
623 5 rz1, rx2, ry2, rz2,
626 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
627 2 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
628 3 gbuf%LENGTH(ii(3)), gbuf%TOTROT
629 4 igeo, mgn, nel , nsensor )
632 IF (gbuf%OFF(i) /= -ten)
THEN
633 off(i)=
min(one,abs(gbuf%OFF(i)))
641 1 gbuf%SKEW, v, exx2, eyx2,
642 2 ezx2, exy2, eyy2, ezy2,
643 3 exz2, eyz2, ezz2, al2dp,
644 4 x1dp, x2dp, al2, aldp,
645 5 gbuf%SKEW_ERR,ngl, al, exx,
646 6 eyx, ezx, exy, eyy,
647 7 ezy, exz, eyz, ezz,
648 8 rx1, ry1, rz1, rx2,
649 9 ry2, rz2, vx1, vx2,
650 a vy1, vy2, vz1, vz2,
653 1 skew, geo, gbuf%FOR(ii(1)), gbuf%FOR(ii(2)),
654 2 gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)), gbuf%TOTDEPL(ii(2)),
655 3 gbuf%TOTDEPL(ii(3)), npf, tf, off,
656 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)),
657 5 gbuf%DEP_IN_COMP(ii(2)),gbuf%DEP_IN_COMP(ii(3)),gbuf%FOREP(ii(1)), gbuf%FOREP(ii(2)),
658 6 gbuf%FOREP(ii(3)), gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)), gbuf%LENGTH(ii(3)),
659 7 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%TOTROT(ii(1)),
660 8 gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)), gbuf%ROT_IN_TENS(ii(1)),gbuf%ROT_IN_TENS(ii(2)),
661 9 gbuf%ROT_IN_TENS(ii(3)),gbuf%MOMEP(ii(1)), gbuf%MOMEP(ii(2)), gbuf%MOMEP(ii(3)),
662 a gbuf%ROT_IN_COMP(ii(1)),gbuf%ROT_IN_COMP(ii(2)),gbuf%ROT_IN_COMP(ii(3)),anim,
663 b gbuf%POSX, gbuf%POSY, gbuf%POSZ, gbuf%POSXX,
664 c gbuf%POSYY, gbuf%POSZZ, fr_wave, gbuf%E6,
665 d nel, exx2, eyx2, ezx2,
666 e exy2, eyy2, ezy2, exz2,
667 f eyz2, ezz2, al2dp, igeo,
668 g gbuf%RUPTCRIT, gbuf%LENGTH_ERR, aldp, gbuf%YIELD(ii(1)),
669 h gbuf%YIELD(ii(2)), gbuf%YIELD(ii(3)), gbuf%YIELD(ii(4)), gbuf%YIELD(ii(5)),
670 i gbuf%YIELD(ii(6)), ngl, mgn, exx,
671 j eyx, ezx, exy, eyy,
672 k ezy, exz, eyz, ezz,
673 l xcr, rx1, ry1, rz1,
674 m rx2, ry2, rz2, xin,
676 o xkr, vx1, vx2, vy1,
677 p vy2, vz1, vz2, nuvar,
678 q gbuf%VAR, gbuf%DEFINI(ii(1)), gbuf%DEFINI(ii(2)), gbuf%DEFINI(ii(3)),
679 r gbuf%DEFINI(ii(4)), gbuf%DEFINI(ii(5)), gbuf%DEFINI(ii(6)), gbuf%FORINI(ii(1)),
680 s gbuf%FORINI(ii(2)), gbuf%FORINI(ii(3)), gbuf%FORINI(ii(4)), gbuf%FORINI(ii(5)),
681 t gbuf%FORINI(ii(6)), nft, stf, sanin,
685 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
688 1 jft, jlt, gbuf%OFF, dt2t,
689 2 neltst, ityptst, sti, stir,
690 3 ms, in, msrt, dmelrt,
691 4 gbuf%G_DT,gbuf%DT, ngl, xcr,
693 6 xkr, nc1, nc2, jsms)
695 1 gbuf%EINT, partsav, ixr, geo,
696 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
697 3 grth, igrth, gbuf%OFF, nc1,
701 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
702 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
705 IF (preld1>zero)
THEN
707 vl12(i) = (vx2(i)-vx1(i))*exx(i)+
708 1 (vy2(i)-vy1(i))*eyx(i)+(vz2(i)-vz1(i))*ezx(i)
710 CALL preload_axial(nel,preld1,gbuf%BPRELD,vl12,stf_f,gbuf%FOR)
711 gbuf%FOREP(jft:jlt) = gbuf%FOR(jft:jlt)
713 IF (iparit == 0)
THEN
715 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
716 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
717 3 sti, stir, stifn, stifr,
718 4 fx1, fx2, fy1, fy2,
719 5 fz1, fz2, mx1, mx2,
720 6 my1, my2, mz1, mz2,
722 8 exy, eyy, ezy, exz,
723 9 eyz, ezz, nc1, nc2,
727 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
728 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
729 3 fsky, fsky, iadr, fx1,
730 4 fx2, fy1, fy2, fz1,
731 5 fz2, mx1, mx2, my1,
732 6 my2, mz1, mz2, exx,
733 7 eyx, ezx, exy, eyy,
734 8 ezy, exz, eyz, ezz,
738 ELSEIF (igtyp == 25)
THEN
742 2 x1dp, x2dp, ngl, x1,
745 5 rz1, rx2, ry2, rz2,
748 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
749 2 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
750 3 gbuf%LENGTH(ii(3)), gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)),
751 4 igeo, mgn, nel , nsensor )
754 IF (gbuf%OFF(i) /= -ten)
THEN
755 off(i) =
min(one,abs(gbuf%OFF(i)))
763 1 gbuf%SKEW, v, exx2, eyx2,
764 2 ezx2, exy2, eyy2, ezy2,
765 3 exz2, eyz2, ezz2, al2dp,
766 4 x1dp, x2dp, al2, aldp,
767 5 gbuf%SKEW_ERR,ngl, al, exx,
768 6 eyx, ezx, exy, eyy,
769 7 ezy, exz, eyz, ezz,
770 8 rx1, ry1, rz1, rx2,
771 9 ry2, rz2, vx1, vx2,
772 a vy1, vy2, vz1, vz2,
775 1 skew, geo, gbuf%FOR(ii(1)), gbuf%FOR(ii(2)),
776 2 gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)), gbuf%TOTDEPL(ii(2)),
777 3 gbuf%TOTDEPL(ii(3)), npf, tf, gbuf%OFF,
778 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
779 5 gbuf%DEP_IN_COMP(ii(2)),gbuf%DEP_IN_COMP(ii(3)),gbuf%FOREP(ii(1)), gbuf%FOREP(ii(2)),
780 6 gbuf%FOREP(ii(3)), gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)), gbuf%LENGTH(ii(3)
781 7 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%TOTROT(ii(1)),
782 8 gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)), gbuf%ROT_IN_TENS(ii(1)),gbuf%ROT_IN_TENS(ii(2)),
783 9 gbuf%ROT_IN_TENS(ii(3)),gbuf%MOMEP(ii(1)), gbuf%MOMEP(ii(2)), gbuf%MOMEP(ii(3)),
784 a gbuf%ROT_IN_COMP(ii(1)),gbuf%ROT_IN_COMP(ii(2)),gbuf%ROT_IN_COMP(ii(3)),anim,
785 b gbuf%POSX, gbuf%POSY, gbuf%POSZ, gbuf%POSXX,
786 c gbuf%POSYY, gbuf%POSZZ, gbuf%E6,
787 d nel, al2dp, exx2, eyx2,
788 e ezx2, exy2, eyy2, ezy2,
789 f exz2, eyz2, ezz2, igeo,
790 g gbuf%LENGTH_ERR, aldp, gbuf%YIELD(ii(1)), gbuf%YIELD(ii(2)),
791 h gbuf%YIELD(ii(3)), gbuf%YIELD(ii(4)), ngl, mgn,
792 i xcr, rx1, ry1, rz1,
793 j rx2, ry2, rz2, xin,
795 l xkr, vx1, vx2, vy1,
796 m vy2, vz1, vz2, nuvar,
797 n gbuf%VAR, gbuf%DEFINI(ii(1)), gbuf%DEFINI(ii(2)), gbuf%DEFINI(ii(3)),
798 o gbuf%DEFINI(ii(4)), gbuf%DEFINI(ii(5)), gbuf%DEFINI(ii(6)), gbuf%FORINI(ii(1)),
799 p gbuf%FORINI(ii(2)), gbuf%FORINI(ii(3)), gbuf%FORINI(ii(4)), gbuf%FORINI(ii(5)),
800 q gbuf%FORINI(ii(6)), gbuf%RUPTCRIT,
805 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off
809 1 jft, jlt, gbuf%OFF, dt2t,
810 2 neltst, ityptst, sti, stir,
811 3 ms, in, msrt, dmelrt,
812 4 gbuf%G_DT,gbuf%DT, ngl, xcr,
814 6 xkr, nc1, nc2, jsms)
816 1 gbuf%EINT, partsav, ixr, geo,
817 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
818 3 grth, igrth, gbuf%OFF, nc1,
820 5 nel, igre, sensors)
822 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
823 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
825 IF (iparit == 0)
THEN
827 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
828 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
829 3 sti, stir, stifn, stifr,
830 4 fx1, fx2, fy1, fy2,
831 5 fz1, fz2, mx1, mx2,
832 6 my1, my2, mz1, mz2,
834 8 exy, eyy, ezy, exz,
835 9 eyz, ezz, nc1, nc2,
839 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
840 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
841 3 fsky, fsky, iadr, fx1,
842 4 fx2, fy1, fy2, fz1,
843 5 fz2, mx1, mx2, my1,
844 6 my2, mz1, mz2, exx,
845 7 eyx, ezx, exy, eyy,
846 8 ezy, exz, eyz, ezz,
850 ELSEIF (igtyp >= 29 .AND. igtyp <= 31)
THEN
853 1 x, vr, ixr, gbuf%SKEW,
856 4 rx1, ry1, rz1, rx2,
857 5 ry2, rz2, nc1, nc2,
860 1 gbuf%SKEW,v, ngl, al,
863 4 ezx, exy, eyy, ezy,
864 5 exz, eyz, ezz, rx1,
865 6 ry1, rz1, rx2, ry2,
866 7 rz2, vx1, vx2, vy1,
867 8 vy2, vz1, vz2, nc1,
871 1 al, gbuf%V_REPCVT(ii(1):), gbuf%V_REPCVT(ii(2):), gbuf%V_REPCVT(ii(3):),
872 2 gbuf%VR_REPCVT(ii(1):),gbuf%VR_REPCVT(ii(2):),gbuf%VR_REPCVT(ii(3):), fr_wave
873 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1):),
874 4 gbuf%MOM(ii(2):), gbuf%MOM(ii(3):), gbuf%FOR(ii(2):),
875 5 partsav, ipartr, exx, eyx,
876 6 ezx, exy, eyy, ezy,
877 7 exz, eyz, ezz, rx1,
878 8 ry1, rz1, rx2, ry2,
879 9 rz2, vx1, vx2, vy1,
880 a vy2, vz1, vz2, nc1,
884 off(i)=
min(one,abs(gbuf%OFF(i)))
889 IF( igtyp==29 .OR. igtyp==30 .OR. igtyp==31)
THEN
891 user_eint(i) = gbuf%EINT(i)
893 user_fx(i) = gbuf%FOR(ii(1)+i-1)
894 user_fy(i) = gbuf%FOR(ii(2)+i-1)
895 user_fz(i) = gbuf%FOR(ii(3)+i-1)
897 user_momx(i) = gbuf%MOM(ii(1)+i-1)
898 user_momy(i) = gbuf%MOM(ii(2)+i-1)
899 user_momz(i) = gbuf%MOM(ii(3)+i-1)
901 user_v_repcvtx(i) = gbuf%V_REPCVT(ii(1)+i-1)
902 user_v_repcvty(i) = gbuf%V_REPCVT(ii(2)+i-1)
903 user_v_repcvtz(i) = gbuf%V_REPCVT(ii(3)+i-1)
905 user_vr_repcvtx(i) = gbuf%VR_REPCVT(ii(1)+i-1)
906 user_vr_repcvty(i) = gbuf%VR_REPCVT(ii(2)+i-1)
907 user_vr_repcvtz(i) = gbuf%VR_REPCVT(ii(3)+i-1)
909 ALLOCATE(user_uvar(nuvar*nel))
910 user_uvar(1:nuvar*nel)=gbuf%VAR(1:nuvar*nel)
914 IF (igtyp == 29)
THEN
916 IF (userl_avail>0)
THEN
917 CALL eng_userlib_ruser(igtyp,
918 1 nel ,i0 ,user_uvar ,nuvar ,
919 2 user_fx ,user_fy ,user_fz ,user_momx ,user_momy ,
920 3 user_momz ,user_eint ,off ,usti ,ustir ,
921 4 visi ,visir ,unused ,uiner ,dt1 ,
922 5 al ,user_v_repcvtx ,user_v_repcvty ,user_v_repcvtz ,user_vr_repcvtx,
923 6 user_vr_repcvty ,user_vr_repcvtz ,fr_w_e )
927 option=
'PROP/USER1 - SPRING'
928 size=len_trim(option)
929 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo
933 ELSEIF (igtyp == 30)
THEN
934 IF (userl_avail>0)
THEN
935 CALL eng_userlib_ruser(igtyp,
936 1 nel ,i0 ,user_uvar ,nuvar ,
937 2 user_fx ,user_fy ,user_fz ,user_momx ,user_momy ,
938 3 user_momz ,user_eint ,off ,usti ,ustir ,
939 4 visi ,visir ,unused ,uiner ,dt1 ,
940 5 al ,user_v_repcvtx ,user_v_repcvty ,user_v_repcvtz ,user_vr_repcvtx,
941 6 user_vr_repcvty ,user_vr_repcvtz ,fr_w_e )
945 option=
'PROP/USER2 - SPRING'
946 size=len_trim(option)
947 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo)
951 ELSEIF (igtyp == 31)
THEN
952 IF (userl_avail>0)
THEN
953 CALL eng_userlib_ruser(igtyp,
954 1 nel ,i0 ,user_uvar ,nuvar ,
955 2 user_fx ,user_fy ,user_fz ,user_momx ,user_momy,
956 3 user_momz ,user_eint
957 4 visi ,visir ,unused ,uiner ,dt1,
958 5 al ,user_v_repcvtx ,user_v_repcvty
959 6 user_vr_repcvty ,user_vr_repcvtz ,fr_w_e
963 option=
'PROP/USER3 - SPRING'
964 size=len_trim(option)
965 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo
972 IF( igtyp==29 .OR. igtyp==30 .OR. igtyp==31)
THEN
974 gbuf%EINT(i) = user_eint(i)
976 gbuf%FOR(ii(1)+i-1) = user_fx(i)
977 gbuf%FOR(ii(2)+i-1) = user_fy(i)
978 gbuf%FOR(ii(3)+i-1) = user_fz(i)
980 gbuf%MOM(ii(1)+i-1) = user_momx(i)
981 gbuf%MOM(ii(2)+i-1) = user_momy(i)
982 gbuf%MOM(ii(3)+i-1) = user_momz(i)
984 gbuf%V_REPCVT(ii(1)+i-1) = user_v_repcvtx(i)
985 gbuf%V_REPCVT(ii(2)+i-1) = user_v_repcvty(i)
986 gbuf%V_REPCVT(ii(3)+i-1) = user_v_repcvtz(i)
988 gbuf%VR_REPCVT(ii(1)+i-1) = user_vr_repcvtx(i
989 gbuf%VR_REPCVT(ii(2)+i-1) = user_vr_repcvty(i)
990 gbuf%VR_REPCVT(ii(3)+i-1) = user_vr_repcvtz(i)
992 gbuf%VAR(1:nuvar*nel) = user_uvar(1:nuvar*nel)
993 DEALLOCATE(user_uvar)
997 IF (off(i) < one) gbuf%OFF(i) = off(i)
1001 1 jft, jlt, gbuf%OFF, dt2t,
1002 2 neltst, ityptst, sti, stir,
1003 3 ms, in, usti, ustir,
1004 4 visi, visir, gbuf%MASS, uiner,
1005 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1006 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1007 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1008 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1009 9 partsav, ipartr, msrt, dmelrt,
1010 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1014 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1015 2 v, ipartr, uiner, x,
1016 3 vr, gresav, grth, igrth,
1017 4 nc1, nc2, itask, iad,
1018 5 igre, nft, nel,sensors)
1020 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1021 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1023 IF (iparit == 0)
THEN
1025 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3))
1026 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1027 3 sti, stir, stifn, stifr
1028 4 fx1, fx2, fy1, fy2,
1029 5 fz1, fz2, mx1, mx2,
1030 6 my1, my2, mz1, mz2,
1031 7 gbuf%MOM(ii(4)),gbuf%MOM(ii(5)),al, exx,
1033 9 ezy, exz, eyz, ezz,
1037 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(
1038 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir
1039 3 fsky, fsky, iadr, fx1,
1040 4 fx2, fy1, fy2, fz1,
1042 6 my2, mz1, mz2, gbuf%MOM
1043 7 gbuf%MOM(ii(5)),exx, eyx, ezx
1044 8 exy, eyy, ezy, exz,
1045 9 eyz, ezz, al, nel,
1049 ELSEIF (igtyp == 32)
THEN
1053 2 x1dp, x2dp, ngl, x1,
1055 4 z2, mgn, rx1, ry1,
1056 5 rz1, rx2, ry2, rz2,
1059 1 gbuf%SKEW, v, exx2, eyx2,
1060 2 ezx2, exy2, eyy2, ezy2,
1061 3 exz2, eyz2, ezz2, al2dp,
1062 4 x1dp, x2dp, al2, aldp,
1063 5 gbuf%SKEW_ERR,ngl, al, exx,
1064 6 eyx, ezx, exy, eyy,
1065 7 ezy, exz, eyz, ezz
1066 8 rx1, ry1, rz1, rx2,
1067 9 ry2, rz2, vx1, vx2,
1068 a vy1, vy2, vz1, vz2,
1072 2 gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_wave,
1073 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)), gbuf%MOM(ii(1)),
1074 4 gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1075 5 partsav, ipartr, exx, eyx,
1076 6 ezx, exy, eyy, ezy,
1077 7 exz, eyz, ezz, rx1,
1078 8 ry1, rz1, rx2, ry2,
1079 9 rz2, vx1, vx2, vy1,
1080 a vy2, vz1, vz2, nc1,
1083 nuvar = nint(geo(25,i0))
1085 off(i)=
min(one,abs(gbuf%OFF(i)))
1090 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1)) ,gbuf%MOM(ii(2)) ,
1091 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1092 4 visi ,visir ,unused ,uiner ,dt1 ,
1093 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii
1094 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_w_e ,nsensor,sensors%SENSOR_TAB )
1097 IF (off(i) < one) gbuf%OFF(i) = off(i)
1101 1 jft, jlt, gbuf%OFF,
1102 2 neltst, ityptst, sti
1104 4 visi, visir, gbuf%MASS, uiner,
1105 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1106 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1107 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1108 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1109 9 partsav, ipartr, msrt, dmelrt,
1110 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1114 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1115 2 v, ipartr, uiner, x,
1116 3 vr, gresav, grth, igrth,
1117 4 nc1, nc2, itask, iad,
1118 5 igre, nft, nel, sensors)
1120 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1121 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1123 IF (iparit == 0)
THEN
1125 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1126 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1127 3 sti, stir, stifn, stifr,
1128 4 fx1, fx2, fy1, fy2,
1129 5 fz1, fz2, mx1, mx2,
1130 6 my1, my2, mz1, mz2,
1131 7 al, exx, eyx, ezx,
1132 8 exy, eyy, ezy, exz,
1133 9 eyz, ezz, nc1, nc2,
1137 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1138 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1139 3 fsky, fsky, iadr, fx1,
1140 4 fx2, fy1, fy2, fz1,
1141 5 fz2, mx1, mx2, my1,
1142 6 my2, mz1, mz2, exx,
1143 7 eyx, ezx, exy, eyy,
1144 8 ezy, exz, eyz, ezz,
1148 ELSEIF (igtyp == 33 .OR. igtyp == 45)
THEN
1151 nuvar = nint(geo(25,i0))
1152 IF (igtyp == 45) flg_kj2 = 1
1155 1 jft, jlt, ipartr, nel,
1156 2 nuvar, iout, i0, iadr,
1157 3 fsky, fsky, gbuf%OFF, gbuf%FOR(ii(1)),
1158 4 gbuf%FOR(ii(2)), gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)),
1159 5 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)),
1160 6 gbuf%TOTROT(ii(3)), gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)),
1161 7 gbuf%VAR, stifn, stifr, ixr,
1164 a in, partsav, dt1, dt2t,
1166 c fy1, fy2, fz1, fz2,
1167 d mx1, mx2, my1, my2,
1168 e mz1, mz2, gresav, grth,
1169 f igrth, msrt, dmelrt, neltst,
1170 g ityptst, igtyp, sensors%SENSOR_TAB, nc1,
1171 h nc2, xdp, gbuf%LENGTH_ERR, h3d_data,
1172 i jsms, igre, nft, nsensor )
1174 ELSEIF (igtyp == 35 .OR. igtyp == 36)
THEN
1177 1 x, vr, ixr, gbuf%SKEW,
1180 4 rx1, ry1, rz1, rx2,
1181 5 ry2, rz2, nc1, nc2,
1184 1 gbuf%SKEW,v, ngl, al,
1187 4 ezx, exy, eyy, ezy,
1188 5 exz, eyz, ezz, rx1,
1189 6 ry1, rz1, rx2, ry2,
1190 7 rz2, vx1, vx2, vy1,
1191 8 vy2, vz1, vz2, nc1,
1194 1 al, gbuf%V_REPCVT(ii(1)), gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)),
1195 2 gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_wave,
1196 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)), gbuf%MOM(ii(1)),
1197 4 gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1198 5 partsav, ipartr, exx, eyx,
1199 6 ezx, exy, eyy, ezy,
1200 7 exz, eyz, ezz, rx1,
1201 8 ry1, rz1, rx2, ry2,
1202 9 rz2, vx1, vx2, vy1,
1203 a vy2, vz1, vz2, nc1,
1206 nuvar = nint(geo(25,i0))
1208 off(i)=
min(one,abs(gbuf%OFF(i)))
1211 IF (igtyp == 35)
THEN
1213 1 nel ,iout ,i0 ,gbuf%VAR ,nuvar ,
1214 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1))
1215 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1216 4 visi ,visir ,unused ,uiner ,dt1 ,
1217 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii(
1218 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_w_e )
1219 ELSEIF (igtyp == 36)
THEN
1221 1 nel ,i0 ,gbuf%VAR ,nuvar ,fr_w_e ,
1222 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1)) ,gbuf%MOM(ii(2)) ,
1223 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1224 4 visi ,visir ,unused ,uiner
1225 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii
1226 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)))
1230 IF (off(i) < one) gbuf%OFF(i) = off(i)
1234 1 jft, jlt, gbuf%OFF, dt2t,
1235 2 neltst, ityptst, sti, stir,
1236 3 ms, in, usti, ustir,
1237 4 visi, visir, gbuf%MASS, uiner,
1238 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1239 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1240 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT
1241 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1242 9 partsav, ipartr, msrt, dmelrt,
1243 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1247 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1248 2 v, ipartr, uiner, x,
1249 3 vr, gresav, grth, igrth,
1250 4 nc1, nc2, itask, iad,
1251 5 igre, nft, nel, sensors)
1253 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1254 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1256 IF (iparit == 0)
THEN
1258 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1259 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1260 3 sti, stir, stifn, stifr,
1261 4 fx1, fx2, fy1, fy2,
1262 5 fz1, fz2, mx1, mx2,
1263 6 my1, my2, mz1, mz2,
1264 7 gbuf%MOM(ii(4)),gbuf%MOM(ii(5)),al, exx,
1265 8 eyx, ezx, exy, eyy,
1266 9 ezy, exz, eyz, ezz,
1270 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1271 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1272 3 fsky, fsky, iadr, fx1,
1273 4 fx2, fy1, fy2, fz1,
1275 6 my2, mz1, mz2, gbuf%MOM(ii(4)),
1276 7 gbuf%MOM(ii(5)),exx, eyx, ezx,
1277 8 exy, eyy, ezy, exz,
1278 9 eyz, ezz, al, nel,
1282 ELSEIF (igtyp == 44)
THEN
1285 1 x, vr, ixr, gbuf%SKEW,
1288 4 rx1, ry1, rz1, rx2,
1289 5 ry2, rz2, nc1, nc2,
1292 1 gbuf%SKEW,v, ngl, al,
1295 4 ezx, exy, eyy, ezy,
1296 5 exz, eyz, ezz, rx1,
1297 6 ry1, rz1, rx2, ry2,
1298 7 rz2, vx1, vx2, vy1,
1299 8 vy2, vz1, vz2, nc1,
1302 1 al, gbuf%V_REPCVT(ii(1)), gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)),
1303 2 gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_wave,
1304 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)), gbuf%MOM(ii(1)),
1305 4 gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%FOR
1306 5 partsav, ipartr, exx, eyx,
1307 6 ezx, exy, eyy, ezy,
1308 7 exz, eyz, ezz, rx1,
1309 8 ry1, rz1, rx2, ry2,
1310 9 rz2, vx1, vx2, vy1,
1311 a vy2, vz1, vz2, nc1,
1314 nuvar = nint(geo(25,i0))
1316 off(i)=
min(one,abs(gbuf%OFF(i)))
1320 1 nel ,iout ,i0 ,gbuf%VAR ,nuvar ,
1321 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3)) ,gbuf%MOM(ii(1)) ,gbuf%MOM(ii(2)) ,
1322 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1323 4 visi ,visir ,unused ,uiner ,dt1 ,
1324 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii(3)),gbuf%VR_REPCVT(ii(1)),
1325 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_w_e )
1328 IF (off(i) < one) gbuf%OFF(i) = off(i)
1332 1 jft, jlt, gbuf%OFF, dt2t,
1333 2 neltst, ityptst, sti, stir,
1334 3 ms, in, usti, ustir,
1335 4 visi, visir, gbuf%MASS, uiner,
1336 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1337 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii(1)),
1338 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1339 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1340 9 partsav, ipartr, msrt, dmelrt,
1341 a gbuf%G_DT, gbuf%DT, ngl, nc1,
1345 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1346 2 v, ipartr, uiner, x,
1347 3 vr, gresav, grth, igrth,
1348 4 nc1, nc2, itask, iad,
1349 5 igre, nft, nel,sensors)
1351 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1352 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1354 IF (iparit == 0)
THEN
1356 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1357 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1358 3 sti, stir, stifn, stifr,
1359 4 fx1, fx2, fy1, fy2,
1360 5 fz1, fz2, mx1, mx2,
1361 6 my1, my2, mz1, mz2,
1362 7 gbuf%MOM(ii(4)),gbuf%MOM(ii(5)),al, exx,
1363 8 eyx, ezx, exy, eyy,
1364 9 ezy, exz, eyz, ezz,
1368 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1369 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1370 3 fsky, fsky, iadr, fx1,
1371 4 fx2, fy1, fy2, fz1,
1372 5 fz2, mx1, mx2, my1,
1373 6 my2, mz1, mz2, gbuf%MOM(ii(4)),
1374 7 gbuf%MOM(ii(5)),exx, eyx, ezx,
1375 8 exy, eyy, ezy, exz
1376 9 eyz, ezz, al, nel,
1380 ELSEIF (igtyp == 46)
THEN
1383 1 x, vr, ixr, gbuf%SKEW,
1386 4 rx1, ry1, rz1, rx2,
1387 5 ry2, rz2, nc1, nc2,
1390 1 gbuf%SKEW,v, ngl, al,
1393 4 ezx, exy, eyy, ezy,
1394 5 exz, eyz, ezz, rx1,
1395 6 ry1, rz1, rx2, ry2,
1396 7 rz2, vx1, vx2, vy1,
1397 8 vy2, vz1, vz2, nc1,
1400 1 al, gbuf%V_REPCVT(ii(1)), gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)),
1401 2 gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_wave,
1402 3 fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)), gbuf%MOM(ii(1)),
1403 4 gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1404 5 partsav, ipartr, exx, eyx,
1405 6 ezx, exy, eyy, ezy,
1406 7 exz, eyz, ezz, rx1,
1407 8 ry1, rz1, rx2, ry2,
1408 9 rz2, vx1, vx2, vy1,
1409 a vy2, vz1, vz2, nc1,
1412 nuvar = nint(geo(25,i0))
1414 off(i)=
min(one,abs(gbuf%OFF(i)))
1418 1 nel ,iout ,i0 ,gbuf%VAR ,nuvar ,
1419 2 gbuf%FOR(ii(1)) ,gbuf%FOR(ii(2)) ,gbuf%FOR(ii(3
1420 3 gbuf%MOM(ii(3)) ,gbuf%EINT ,off ,usti ,ustir ,
1421 4 visi ,visir ,unused ,uiner ,dt1 ,
1422 5 al ,gbuf%V_REPCVT(ii(1)) ,gbuf%V_REPCVT(ii(2)),gbuf%V_REPCVT(ii(3)),gbuf%VR_REPCVT(ii(1)),
1423 6 gbuf%VR_REPCVT(ii(2)),gbuf%VR_REPCVT(ii(3)),fr_w_e )
1426 IF (off(i) < one) gbuf%OFF(i) = off(i)
1430 1 jft, jlt, gbuf%OFF
1431 2 neltst, ityptst, sti
1432 3 ms, in, usti, ustir,
1433 4 visi, visir, gbuf%MASS, uiner,
1434 5 fr_wave, fr_w_e, gbuf%EINT, gbuf%FOR(ii(1)),
1435 6 gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)), gbuf%V_REPCVT(ii
1436 7 gbuf%V_REPCVT(ii(2)), gbuf%V_REPCVT(ii(3)), gbuf%VR_REPCVT(ii(1)),gbuf%VR_REPCVT(ii(2)),
1437 8 gbuf%VR_REPCVT(ii(3)),al, gbuf%FOR(ii(2)), gbuf%FOR(ii(3)),
1438 9 partsav, ipartr, msrt,
1439 a gbuf%G_DT, gbuf%DT, ngl,
1443 1 gbuf%EINT,partsav, ixr, gbuf%MASS,
1444 2 v, ipartr, uiner, x,
1445 3 vr, gresav, grth, igrth,
1446 4 nc1, nc2, itask, iad,
1447 5 igre, nft, nel,sensors)
1449 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1450 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
1452 IF (iparit == 0)
THEN
1454 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
1455 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
1456 3 sti, stir, stifn, stifr,
1457 4 fx1, fx2, fy1, fy2,
1458 5 fz1, fz2, mx1, mx2,
1459 6 my1, my2, mz1, mz2,
1460 7 gbuf%MOM(ii(4)),gbuf%MOM(ii(5)),al, exx,
1461 8 eyx, ezx, exy, eyy,
1462 9 ezy, exz, eyz, ezz,
1466 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1467 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1468 3 fsky, fsky, iadr, fx1,
1469 4 fx2, fy1, fy2, fz1,
1470 5 fz2, mx1, mx2, my1,
1471 6 my2, mz1, mz2, gbuf%MOM
1472 7 gbuf%MOM(ii(5)),exx, eyx, ezx,
1473 8 exy, eyy, ezy, exz,
1474 9 eyz, ezz, al, nel,