48 1 ELBUF_STR, JFT, JLT, NEL,
49 2 MTN, IGEO, GEO, IPM,
53 6 DT2T, NELTST, ITYPTST, STIFN,
54 7 STIFR, MS, IN, FSKY,
55 8 IADR, NSENSOR, SENSOR_TAB,OFFSET, ANIM,
56 9 PARTSAV, IPARTR, TANI, FR_WAVE,
57 A BUFMAT, BUFGEO, PM, RBY,
61 E GRESAV, GRTH, IGRTH, MSRT,
62 F DMELRT, H3D_DATA, JSMS, IGRE,
63 G NFT, PRELD1, STF_F, STF,
74 use element_mod ,
only : nixr
78#include "implicit_f.inc"
92 TYPE(python_),
intent(inout) :: PYTHON
93 INTEGER,
INTENT(IN) :: STF
94 INTEGER,
INTENT(IN) :: SANIN
95 INTEGER,
INTENT(IN) :: IRESP
96 INTEGER,
INTENT(IN) :: SNPC
97 INTEGER,
INTENT(IN) :: IGRE,NSENSOR
98 INTEGER,
INTENT(IN) :: NFT
99 INTEGER,
INTENT(IN) :: JSMS
100 INTEGER IXR(,*), NPF(*),IADR(3,*),IPARTR(*),
101 . IGEO(NPROPGI,*),JFT,JLT,NELTST ,ITYPTST,OFFSET,
102 . NEL,MTN,GRTH(*),IGRTH(*),FLG_KJ2,IPM(NPROPMI,*)
104 . GEO(NPROPG,*),X(*),F(*),TF(STF),SKEW(LSKEW,*),FSKY(*),
105 . VR(*), V(*), AR(*), STIFN(*),STIFR(*),MS(*), IN(*),
106 . ANIM(*),PARTSAV(*),TANI(15,*),
107 . FR_WAVE(*),BUFMAT(*),BUFGEO(*),PM(*),RBY(*),
108 . FX1(MVSIZ),FY1(MVSIZ),FZ1(MVSIZ),
109 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
110 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
111 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),gresav(*),
113 my_real,
INTENT(IN) :: preld1,stf_f
114 DOUBLE PRECISION XDP(3,*)
117 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
118 TYPE(H3D_DATABASE) :: H3D_DATA
119 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR),
INTENT(IN) :: SENSOR_TAB
123 INTEGER NGL(MVSIZ),PID(MVSIZ),NC1(MVSIZ),NC2(MVSIZ),
127 . STI(3,MVSIZ),STIR(3,MVSIZ),
129 . FR_W_E(MVSIZ),OFF(MVSIZ),BID
131 . exx2(mvsiz), eyx2(mvsiz), ezx2(mvsiz),
132 . exy2(mvsiz), eyy2(mvsiz), ezy2(mvsiz),
133 . exz2(mvsiz), eyz2(mvsiz), ezz2(mvsiz),
134 . al2(mvsiz),x1(mvsiz),y1(mvsiz),z1(mvsiz),
135 . x2(mvsiz),y2(mvsiz),z2(mvsiz),
137 . exx(mvsiz),eyx(mvsiz),ezx(mvsiz),
138 . exy(mvsiz),eyy(mvsiz),ezy(mvsiz),
139 . exz(mvsiz),eyz(mvsiz),ezz(mvsiz),
140 . xcr(mvsiz),xm(mvsiz),rx1(mvsiz),rx2(mvsiz),
141 . ry1(mvsiz),ry2(mvsiz),rz1(mvsiz),rz2(mvsiz),xin(mvsiz),
142 . ak(mvsiz),xkm(mvsiz),xcm(mvsiz),xkr(mvsiz),
143 . vx1(mvsiz),vx2(mvsiz),
144 . vy1(mvsiz),vy2(mvsiz),vz1(mvsiz),vz2(mvsiz),vl12(mvsiz)
145 INTEGER IGTYP,I,I0,NUVAR,IADBUF
147 . x1dp(3,mvsiz),x2dp(3,mvsiz),
148 . al2dp(mvsiz),aldp(mvsiz)
150 TYPE(g_bufel_),
POINTER :: GBUF
153 GBUF => elbuf_str%GBUF
169 ii(i) = (i-1)*nel + 1
182 2 x1dp, x2dp, ngl, x1,
185 5 ry1, rz1, rx2, ry2,
186 6 rz2, nc1, nc2, nel)
188 1 geo, gbuf%OFF, sensor_tab, gbuf%TOTDEPL(ii(1)),
189 2 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
190 3 gbuf%LENGTH(ii(3)), gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)),
191 4 igeo, pid, nel, nsensor )
194 IF (gbuf%OFF(i) /= -ten)
THEN
195 off(i)=
min(one,abs(gbuf%OFF(i)))
203 1 gbuf%SKEW, v, exx2, eyx2,
204 2 ezx2, exy2, eyy2, ezy2,
205 3 exz2, eyz2, ezz2, al2dp,
206 4 x1dp, x2dp, al2, aldp,
207 5 gbuf%SKEW_ERR,ngl, al, exx,
208 6 eyx, ezx, exy, eyy,
209 7 ezy, exz, eyz, ezz,
210 8 rx1, ry1, rz1, rx2,
211 9 ry2, rz2, vx1, vx2,
212 a vy1, vy2, vz1, vz2,
215 nuvar = nint(geo(25,i0))
218 iadbuf = ipm(7,mid(i))
223 1 skew, ipm, igeo, mid,
224 2 pid, geo, bufmat, gbuf%FOR(ii(1)),
225 3 gbuf%FOR(ii(2)), gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)),
226 4 gbuf%TOTDEPL(ii(2)), gbuf%TOTDEPL(ii(3)), npf, tf,
228 6 gbuf%DEP_IN_COMP(ii(1)),gbuf%DEP_IN_COMP(ii(2)),gbuf%DEP_IN_COMP(ii(3)),gbuf%FOREP(ii(1)),
229 7 gbuf%FOREP(ii(2)), gbuf%FOREP(ii(3)), gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
230 8 gbuf%LENGTH(ii(3)), gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)),
231 9 gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)), gbuf%ROT_IN_TENS(ii(1)),
232 a gbuf%ROT_IN_TENS(ii(2)),gbuf%ROT_IN_TENS(ii(3)),gbuf%MOMEP(ii(1)), gbuf%MOMEP(ii(2)),
233 b gbuf%MOMEP(ii(3)), gbuf%ROT_IN_COMP(ii(1)),gbuf%ROT_IN_COMP(ii(2)),gbuf%ROT_IN_COMP(ii
234 c anim, gbuf%POSX, gbuf%POSY, gbuf%POSZ,
235 d gbuf%POSXX, gbuf%POSYY, gbuf%POSZZ, fr_wave,
236 e gbuf%E6, nel, exx2, eyx2,
237 f ezx2, exy2, eyy2, ezy2,
238 g exz2, eyz2, ezz2, al2dp,
239 h ngl, gbuf%RUPTCRIT, gbuf%LENGTH_ERR, aldp,
240 i gbuf%YIELD(ii(1)), gbuf%YIELD(ii(2)), gbuf%YIELD(ii(3)), gbuf%YIELD(ii(4)),
241 j gbuf%YIELD(ii(5)), gbuf%YIELD(ii(6)), exx, eyx,
242 k ezx, exy, eyy, ezy,
244 m rx1, ry1, rz1, rx2,
247 p vx1, vx2, vy1, vy2,
248 q vz1, vz2, nuvar, gbuf%VAR,
249 r gbuf%MASS, gbuf%DEFINI(ii(1)), gbuf%DEFINI(ii(2)), gbuf%DEFINI(ii(3)),
250 s gbuf%DEFINI(ii(4)), gbuf%DEFINI(ii(5)), gbuf%DEFINI(ii(6)), nft,
251 t stf, sanin, iresp, snpc,
252 u gbuf%G_YIELD_IN_COMP ,gbuf%G_XXOLD_IN_COMP, gbuf%YIELD_IN_COMP(ii
253 v gbuf%YIELD_IN_COMP(ii(3)),gbuf%YIELD_IN_COMP(ii(4)),gbuf%YIELD_IN_COMP(ii(5)),gbuf%YIELD_IN_COMP(ii(6)),
254 w gbuf%XXOLD_IN_COMP(ii(1)),gbuf%XXOLD_IN_COMP(ii(2)),gbuf%XXOLD_IN_COMP(ii(3)),gbuf%XXOLD_IN_COMP(ii(4)),
255 x gbuf%XXOLD_IN_COMP(ii(5)),gbuf%XXOLD_IN_COMP(ii(6)))
258 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
261 1 jft, jlt, gbuf%OFF, dt2t,
262 2 neltst, ityptst, sti, stir,
263 3 ms, in, msrt, dmelrt,
264 4 gbuf%G_DT,gbuf%DT, ngl, xcr,
266 6 xkr, nc1, nc2, jsms)
268 1 gbuf%EINT,partsav, ixr, geo,
269 2 v, ipartr, gbuf%MASS,gresav,
270 3 grth, igrth, gbuf%OFF, nc1,
274 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
275 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, al,
278 IF (preld1>zero)
THEN
280 vl12(i) = (vx2(i)-vx1(i))*exx(i)+
281 1 (vy2(i)-vy1(i))*eyx(i)+(vz2(i)-vz1(i))*ezx(i)
283 CALL preload_axial(nel,preld1,gbuf%BPRELD,vl12,stf_f,gbuf%FOR)
284 gbuf%FOREP(jft:jlt) = gbuf%FOR(jft:jlt)
286 IF (iparit == 0)
THEN
288 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
289 2 ar, gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),
290 3 sti, stir, stifn, stifr,
291 4 fx1, fx2, fy1, fy2,
292 5 fz1, fz2, mx1, mx2,
293 6 my1, my2, mz1, mz2,
295 8 exy, eyy, ezy, exz,
296 9 eyz, ezz, nc1, nc2,
300 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
301 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
302 3 fsky, fsky, iadr, fx1,
303 4 fx2, fy1, fy2, fz1,
304 5 fz2, mx1, mx2, my1,
305 6 my2, mz1, mz2, exx,
306 7 eyx, ezx, exy, eyy,
307 8 ezy, exz, eyz, ezz,
subroutine r23forc3(python, elbuf_str, jft, jlt, nel, mtn, igeo, geo, ipm, ixr, x, table, xdp, f, npf, tf, skew, flg_kj2, vr, ar, v, dt2t, neltst, ityptst, stifn, stifr, ms, in, fsky, iadr, sensors, offset, anim, partsav, ipartr, tani, fr_wave, bufmat, bufgeo, pm, rby, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, gresav, grth, igrth, msrt, dmelrt, flag_slipring_update, flag_retractor_update, h3d_data, jsms, igre, nft, preld1, stf_f, stf, sanin, iresp, snpc)
subroutine r23l113def3(python, skew, ipm, igeo, mid, pid, geo, uparam, fx, fy, fz, e, dx, dy, dz, npf, tf, off, dpx, dpy, dpz, dpx2, dpy2, dpz2, fxep, fyep, fzep, x0, y0, z0, xmom, ymom, zmom, rx, ry, rz, rpx, rpy, rpz, xmep, ymep, zmep, rpx2, rpy2, rpz2, anim, posx, posy, posz, posxx, posyy, poszz, fr_wave, e6, nel, exx2, eyx2, ezx2, exy2, eyy2, ezy2, exz2, eyz2, ezz2, al2dp, ngl, crit_new, x0_err, aldp, yieldx, yieldy, yieldz, yieldx2, yieldy2, yieldz2, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, xcr, rx1, ry1, rz1, rx2, ry2, rz2, xin, ak, xm, xkm, xcm, xkr, vx1, vx2, vy1, vy2, vz1, vz2, nuvar, uvar, mass, dx0, dy0, dz0, rx0, ry0, rz0, nft, stf, sanin, iresp, snpc, szyield_comp, szxxold_comp, yieldxc, yieldyc, yieldzc, yieldrxc, yieldryc, yieldrzc, dxoldc, dyoldc, dzoldc, drxoldc, dryoldc, drzoldc)
subroutine r23law113(python, elbuf_str, jft, jlt, nel, mtn, igeo, geo, ipm, ixr, x, table, xdp, f, npf, tf, skew, flg_kj2, vr, ar, v, dt2t, neltst, ityptst, stifn, stifr, ms, in, fsky, iadr, nsensor, sensor_tab, offset, anim, partsav, ipartr, tani, fr_wave, bufmat, bufgeo, pm, rby, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, gresav, grth, igrth, msrt, dmelrt, h3d_data, jsms, igre, nft, preld1, stf_f, stf, sanin, iresp, snpc)