44 1 ELBUF_STR, JFT, JLT, NEL,
45 2 MTN, IGEO, GEO, IPM,
49 6 DT2T, NELTST, ITYPTST, STIFN,
50 7 STIFR, MS, IN, FSKY,
51 8 IADR, NSENSOR, SENSOR_TAB,OFFSET, ANIM,
52 9 PARTSAV, IPARTR, TANI,
53 A BUFMAT, BUFGEO, PM, RBY,
57 E GRESAV, GRTH, IGRTH, MSRT,
58 F DMELRT, H3D_DATA, JSMS, IGRE,
59 G NFT, STF, SANIN, IRESP,
72#include "implicit_f.inc"
86 type(python_),
intent(inout) :: PYTHON
87 INTEGER,
INTENT(IN) :: STF
88 INTEGER,
INTENT(IN) :: SANIN
89 INTEGER,
INTENT(IN) :: IRESP
90 INTEGER,
INTENT(IN) :: SNPC
91 INTEGER,
INTENT(IN) :: IGRE,NSENSOR
92 INTEGER,
INTENT(IN) :: NFT
93 INTEGER,
INTENT(IN) ::
94 INTEGER IXR(NIXR,*), NPF(*),IADR(3,*),IPARTR(*),
95 . IGEO(NPROPGI,*),JFT,JLT,NELTST ,ITYPTST,OFFSET,
96 . NEL,MTN,GRTH(*),IGRTH(*),FLG_KJ2,IPM(NPROPMI,*)
98 . GEO(NPROPG,*),X(*),F(*),TF(STF),SKEW(LSKEW,*),FSKY(*),
99 . VR(*), V(*), AR(*), STIFN(*),STIFR(*),MS(*), IN(*),
100 . ANIM(SANIN),PARTSAV(*),TANI(15,*),
101 . BUFMAT(*),BUFGEO(*),PM(*),RBY(*),
102 . FX1(MVSIZ),FY1(MVSIZ),FZ1(MVSIZ),
103 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
104 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
105 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),gresav(*),
107 DOUBLE PRECISION XDP(3,*)
110 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
112 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR),
INTENT(IN) :: SENSOR_TAB
116 INTEGER NGL(MVSIZ),PID(MVSIZ),NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ),
117 . MID(MVSIZ),IEQUIL(MVSIZ)
120 . STI(3,MVSIZ),STIR(3,MVSIZ),VISI(MVSIZ),VISIR(MVSIZ),
121 . USTI(MVSIZ),USTIR(MVSIZ),DF(MVSIZ),AL(MVSIZ),UNUSED(MVSIZ),
122 . UINER(MVSIZ),FR_W_E(MVSIZ),OFF(MVSIZ),BID
124 . exx2(mvsiz), eyx2(mvsiz), ezx2(mvsiz),
126 . exz2(mvsiz), eyz2(mvsiz), ezz2(mvsiz),
127 . al2(mvsiz),x1(mvsiz),y1(mvsiz),z1(mvsiz),
128 . x2(mvsiz),y2(mvsiz),z2(mvsiz),x3(mvsiz),y3(mvsiz),z3(mvsiz),
129 . ex(mvsiz),ey(mvsiz),ez(mvsiz),
130 . exx(mvsiz),eyx(mvsiz),ezx(mvsiz),
131 . exy(mvsiz),eyy(mvsiz),ezy(mvsiz),
133 . xcr(mvsiz),xk(mvsiz),xm(mvsiz),xc(mvsiz),rx1(mvsiz),rx2(mvsiz),
134 . ry1(mvsiz),ry2(mvsiz),rz1(mvsiz),rz2(mvsiz),xin(mvsiz),
135 . ak(mvsiz),xkm(mvsiz),xcm(mvsiz),xkr(mvsiz),
136 . ex2(mvsiz),ey2(mvsiz),ez2(mvsiz),vx1(mvsiz),vx2(mvsiz),
137 . vy1(mvsiz),vy2(mvsiz),vz1(mvsiz),vz2(mvsiz)
138 INTEGER IGTYP,I,I0,NUVAR,IADBUF
140 . x1dp(3,mvsiz),x2dp(3,mvsiz),x3dp(3,mvsiz),
141 . elx(3,mvsiz),al2dp(mvsiz),aldp(mvsiz)
143 TYPE(g_bufel_),
POINTER :: GBUF
146 GBUF => elbuf_str%GBUF
162 ii(i) = (i-1)*nel + 1
175 2 x1dp, x2dp, ngl, x1,
178 5 ry1, rz1, rx2, ry2,
179 6 rz2, nc1, nc2, nel)
181 1 geo, gbuf%OFF, sensor_tab, gbuf%TOTDEPL(ii(1)),
182 2 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%LENGTH(ii(1)), gbuf%LENGTH(ii(2)),
183 3 gbuf%LENGTH(ii(3)), gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT
184 4 igeo, pid, nel, nsensor )
187 IF (gbuf%OFF(i) /= -ten)
THEN
188 off(i)=
min(one,abs(gbuf%OFF(i)))
195 nuvar = nint(geo(25,i0))
198 iadbuf = ipm(7,mid(i))
199 nuvar =
max(nuvar, nint(bufmat(iadbuf + 4 -1)))
203 1 ipm, igeo, mid, pid,
204 2 bufmat, skew, geo, gbuf%FOR(ii(1)),
205 3 gbuf%FOR(ii(2)), gbuf%FOR(ii(3)), gbuf%EINT, gbuf%TOTDEPL(ii(1)),
206 4 gbuf%TOTDEPL(ii(2)), gbuf%TOTDEPL(ii(3)), npf, tf,
207 5 off, gbuf%DEP_IN_TENS(ii(1)), gbuf%DEP_IN_TENS(ii(2)), gbuf%DEP_IN_TENS(ii(3)),
208 6 gbuf%DEP_IN_COMP(ii(1)), gbuf%DEP_IN_COMP(ii(2)), gbuf%DEP_IN_COMP
209 7 gbuf%FOREP(ii(2)), gbuf%FOREP(ii(3)), gbuf%LENGTH(ii(1)),
210 8 gbuf%LENGTH(ii(3)), gbuf%MOM(ii(1)), gbuf%MOM(ii(2)), gbuf%MOM(ii(3)),
211 9 gbuf%TOTROT(ii(1)), gbuf%TOTROT(ii(2)), gbuf%TOTROT(ii(3)), gbuf%ROT_IN_TENS(ii(1)),
212 a gbuf%ROT_IN_TENS(ii(2)), gbuf%ROT_IN_TENS(ii(3)), gbuf%MOMEP(ii(1)), gbuf%MOMEP(ii(2)),
213 b gbuf%MOMEP(ii(3)), gbuf%ROT_IN_COMP(ii(1)), gbuf%ROT_IN_COMP(ii(2)), gbuf%ROT_IN_COMP(ii(3)),
214 c anim, gbuf%POSX, gbuf%POSY, gbuf%POSZ,
215 d gbuf%POSXX, gbuf%POSYY, gbuf%POSZZ,
216 e v, gbuf%E6, gbuf%RUPTCRIT, nel,
217 f gbuf%LENGTH_ERR, x1dp, x2dp, gbuf%YIELD(ii(1)),
218 g gbuf%YIELD(ii(2)), gbuf%YIELD(ii(3)), gbuf%YIELD(ii(4)), gbuf%YIELD(ii(5)),
219 h gbuf%YIELD(ii(6)), ngl, xkr, exx,
220 i eyx, ezx, exy, eyy,
221 j ezy, exz, eyz, ezz,
222 k xcr, rx1, ry1, rz1,
223 l rx2, ry2, rz2, xin,
225 n nc1, nc2, nuvar, gbuf%VAR,
226 o gbuf%MASS, gbuf%DEFINI(ii(1)), gbuf%DEFINI(ii(2)), gbuf%DEFINI(ii(3)),
227 p gbuf%DEFINI(ii(4)), gbuf%DEFINI(ii(5)), gbuf%DEFINI(ii(6)), iequil,
228 q gbuf%SKEW_ID, nft, stf,
229 r iresp, snpc, gbuf%G_YIELD_IN_COMP ,gbuf%G_XXOLD_IN_COMP,
230 s gbuf%YIELD_IN_COMP(ii(1)),gbuf%YIELD_IN_COMP(ii(2)),gbuf%YIELD_IN_COMP(ii(3)),gbuf%YIELD_IN_COMP(ii(4)),
231 t gbuf%YIELD_IN_COMP(ii(5)),gbuf%YIELD_IN_COMP(ii(6)),gbuf%XXOLD_IN_COMP(ii(1)),gbuf%XXOLD_IN_COMP(ii(2)),
232 u gbuf%XXOLD_IN_COMP(ii(3)),gbuf%XXOLD_IN_COMP(ii(4)),gbuf%XXOLD_IN_COMP(ii(5)),gbuf%XXOLD_IN_COMP(ii(6)))
235 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
239 1 jft, jlt, gbuf%OFF, dt2t,
240 2 neltst, ityptst, sti, stir,
241 3 ms, in, msrt, dmelrt,
242 4 gbuf%G_DT,gbuf%DT, ngl, xcr,
244 6 xkr, nc1, nc2, jsms)
246 1 gbuf%EINT,partsav, ixr, geo,
247 2 v, ipartr, gbuf%MASS,gresav,
248 3 grth, igrth, gbuf%OFF, nc1,
252 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
253 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),tani, h3d_data,
255 IF (iparit == 0)
THEN
257 1 f, gbuf%FOR(ii(1)),gbuf%FOR
260 4 fx1, fx2, fy1, fy2,
262 6 my1, my2, mz1, mz2,
264 8 x2, y2, z2, iequil,
265 9 exx, eyx, ezx, exy,
266 a eyy, ezy, exz, eyz,
267 b ezz, nc1, nc2, nel)
270 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
271 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
272 3 fsky, fsky, iadr, fx1,
273 4 fx2, fy1, fy2, fz1,
274 5 fz2, mx1, mx2, my1,
275 6 my2, mz1, mz2, geo,
277 8 y2, z2, iequil, exx,
278 9 eyx, ezx, exy, eyy,
279 a ezy, exz, eyz, ezz,
subroutine r23l108def3(python, ipm, igeo, mid, pid, uparam, skew, geo, 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, iposx, iposy, iposz, iposxx, iposyy, iposzz, v, e6, critnew, nel, x0_err, x1dp, x2dp, yieldx, yieldy, yieldz, yieldx2, yieldy2, yieldz2, ngl, xkr, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, xcr, rx1, ry1, rz1, rx2, ry2, rz2, xin, ak, xm, xkm, xcm, nc1, nc2, nuvar, uvar, mass, dx0, dy0, dz0, rx0, ry0, rz0, iequil, skew_id, nft, stf, sanin, iresp, snpc, szyield_comp, szxxold_comp, yieldxc, yieldyc, yieldzc, yieldrxc, yieldryc, yieldrzc, dxoldc, dyoldc, dzoldc, drxoldc, dryoldc, drzoldc)
subroutine r23law108(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, 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, stf, sanin, iresp, snpc)