OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rforc3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| rforc3 ../engine/source/elements/spring/rforc3.F
25!||--- called by ------------------------------------------------------
26!|| forint ../engine/source/elements/forint.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../engine/source/output/message/message.F
29!|| arret ../engine/source/system/arret.F
30!|| preload_axial ../engine/source/elements/spring/preload_axial.F90
31!|| r1coor3 ../engine/source/elements/spring/r1coor3.F
32!|| r1cum3 ../engine/source/elements/spring/r1cum3.f
33!|| r1cum3p ../engine/source/elements/spring/r1cum3p.F
34!|| r1def3 ../engine/source/elements/spring/r1def3.F
35!|| r1len3 ../engine/source/elements/spring/r1len3.F
36!|| r1sens3 ../engine/source/elements/spring/r1sens3.F
37!|| r1tors ../engine/source/elements/spring/r1tors.F
38!|| r26def3 ../engine/source/elements/spring/r26def3.F
39!|| r27def3 ../engine/source/elements/spring/r27def3.F
40!|| r2coor3 ../engine/source/elements/spring/r2coor3.F
41!|| r2cum3 ../engine/source/elements/spring/r2cum3.F
42!|| r2cum3p ../engine/source/elements/spring/r2cum3p.F
43!|| r2def3 ../engine/source/elements/spring/r2def3.F
44!|| r2len3 ../engine/source/elements/spring/r2len3.F
45!|| r2sens3 ../engine/source/elements/spring/r2sens3.F
46!|| r2tors ../engine/source/elements/spring/r2tors.F
47!|| r3bilan ../engine/source/elements/spring/r3bilan.F
48!|| r3coor3 ../engine/source/elements/spring/r3coor3.F
49!|| r3cum3 ../engine/source/elements/spring/r3cum3.F
50!|| r3cum3p ../engine/source/elements/spring/r3cum3p.F
51!|| r3def3 ../engine/source/elements/spring/r3def3.F
52!|| r3len3 ../engine/source/elements/spring/r3len3.F
53!|| r3tors ../engine/source/elements/spring/r3tors.F
54!|| r4coor3 ../engine/source/elements/spring/r4coor3.F
55!|| r4cum3 ../engine/source/elements/spring/r4cum3.F
56!|| r4cum3p ../engine/source/elements/spring/r4cum3p.F
57!|| r4def3 ../engine/source/elements/spring/r4def3.F
58!|| r4evec3 ../engine/source/elements/spring/r4evec3.F
59!|| r4tors ../engine/source/elements/spring/r4tors.F
60!|| r5bilan ../engine/source/elements/spring/r5bilan.F
61!|| r5cum3 ../engine/source/elements/spring/r5cum3.F
62!|| r5cum3p ../engine/source/elements/spring/r5cum3p.F
63!|| r5def3 ../engine/source/elements/spring/r5def3.F
64!|| r5evec3 ../engine/source/elements/spring/r5evec3.F
65!|| r5len3 ../engine/source/elements/spring/r5len3.F
66!|| r6def3 ../engine/source/elements/spring/r6def3.F
67!|| rbilan ../engine/source/elements/spring/rbilan.F
68!|| rgjoint ../engine/source/elements/joint/rgjoint.F
69!|| rsens_nic ../engine/source/tools/sensor/rsens_nic.F
70!|| ruser32 ../engine/source/elements/spring/ruser32.f
71!|| ruser35 ../engine/source/elements/spring/ruser35.F
72!|| ruser36 ../engine/source/elements/spring/ruser36.F
73!|| ruser44 ../engine/source/elements/spring/ruser44.F
74!|| ruser46 ../engine/source/elements/spring/ruser46.F
75!|| set_spring_elnum ../engine/source/user_interface/uaccess.F
76!||--- uses -----------------------------------------------------
77!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
78!|| element_mod ../common_source/modules/elements/element_mod.F90
79!|| h3d_mod ../engine/share/modules/h3d_mod.F
80!|| message_mod ../engine/share/message_module/message_mod.F
81!|| preload_axial_mod ../engine/source/elements/spring/preload_axial.f90
82!|| python_funct_mod ../common_source/modules/python_mod.F90
83!|| sensor_mod ../common_source/modules/sensor_mod.F90
84!|| table_mod ../engine/share/modules/table_mod.F
85!||====================================================================
86 SUBROUTINE rforc3(PYTHON,
87 1 ELBUF_STR, JFT, JLT, NEL,
88 2 MTN, IGEO, GEO, IXR,
89 3 X, TABLE, XDP, F,
90 4 NPF, TF, SKEW, FLG_KJ2,
91 5 VR, AR, V, DT2T,
92 6 NELTST, ITYPTST, STIFN, STIFR,
93 7 MS, IN, FSKY, IADR,
94 8 SENSORS, OFFSET, ANIM, PARTSAV,
95 9 IPARTR, TANI, FR_WAVE, BUFMAT,
96 A BUFGEO, PM, RBY, FX1,
97 B FX2, FY1, FY2, FZ1,
98 C FZ2, MX1, MX2, MY1,
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,
104 I IDYNA, SNPC)
105C-----------------------------------------------
106C M o d u l e s
107C-----------------------------------------------
108 USE python_funct_mod
109 USE elbufdef_mod
110 USE table_mod
111 USE sensor_mod
112 USE h3d_mod
113 USE message_mod
114 USE preload_axial_mod
115 use element_mod , only : nixr
116C-----------------------------------------------
117C I m p l i c i t T y p e s
118C-----------------------------------------------
119#include "implicit_f.inc"
120C-----------------------------------------------
121C G l o b a l P a r a m e t e r s
122C-----------------------------------------------
123#include "mvsiz_p.inc"
124C-----------------------------------------------
125C C o m m o n B l o c k s
126C-----------------------------------------------
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"
133C-----------------------------------------------
134C D u m m y A r g u m e n t s
135C-----------------------------------------------
136 TYPE(python_), INTENT(INOUT) :: PYTHON
137 INTEGER, INTENT(IN) :: STF !< Size of TF
138 INTEGER, INTENT(IN) :: SANIN !< Size of ANIM
139 INTEGER, INTENT(IN) :: IRESP !< Single precision flag
140 INTEGER, INTENT(IN) :: IMPL_S !< Implicit solver flag
141 INTEGER, INTENT(IN) :: IDYNA !< Dynamic condensation flag
142 INTEGER, INTENT(IN) :: SNPC !< Size of NPF
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
150 my_real DT2T ,
151 . GEO(NPROPG,*),X(*),F(*),TF(STF),SKEW(LSKEW,*),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(*),
159 . msrt(*), dmelrt(*)
160 my_real, INTENT(IN) :: preld1,stf_f
161 DOUBLE PRECISION XDP(3,*)
162 TYPE(ttable) TABLE(*)
163C
164 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
165 TYPE(H3D_DATABASE) :: H3D_DATA
166 TYPE (SENSORS_) , INTENT(INOUT) :: SENSORS
167C-----------------------------------------------
168C L o c a l V a r i a b l e s
169C-----------------------------------------------
170 INTEGER NGL(MVSIZ),MGN(MVSIZ),NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ),IEQUIL(MVSIZ)
171C REAL
172 my_real
173 . STI(3,MVSIZ),STIR(3,MVSIZ),VISI(MVSIZ),VISIR(MVSIZ),
174 . USTI(MVSIZ),USTIR(MVSIZ),DF(MVSIZ),AL(MVSIZ),UNUSED(MVSIZ),
175 . UINER(MVSIZ),FR_W_E(MVSIZ),OFF(MVSIZ),BID
176 my_real
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
192 DOUBLE PRECISION
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),
199 * user_eint(mvsiz)
200 my_real, DIMENSION(:), ALLOCATABLE :: user_uvar
201C-----------------------------------------------
202 TYPE(g_bufel_),POINTER :: GBUF
203 INTEGER II(6)
204!
205 CHARACTER OPTION*256
206 INTEGER SIZE
207C=======================================================================
208 GBUF => elbuf_str%GBUF
209 nsensor = sensors%NSENSOR
210!
211 fx1(1:mvsiz) = zero
212 fx2(1:mvsiz) = zero
213 fy1(1:mvsiz) = zero
214 fy2(1:mvsiz) = zero
215 fz1(1:mvsiz) = zero
216 fz2(1:mvsiz) = zero
217 mx1(1:mvsiz) = zero
218 mx2(1:mvsiz) = zero
219 my1(1:mvsiz) = zero
220 my2(1:mvsiz) = zero
221 mz1(1:mvsiz) = zero
222 mz2(1:mvsiz) = zero
223!
224 DO i=1,6
225 ii(i) = (i-1)*nel + 1
226 ENDDO
227C
228 i0 = ixr(1,1)
229 igtyp = igeo(11,i0)
230C
231 bid = zero
232C
233 nuvar = nint(geo(25,i0))
234C
235 fr_w_e(1:nel) = zero
236C=======================================================================
237 IF (igtyp == 4) THEN
238C=======================================================================
239 CALL r1coor3(
240 1 x, vr, ixr, xdp,
241 2 x1dp, x2dp, ngl, mgn,
242 3 nc1, nc2, nel)
243 CALL r1sens3(
244 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
245 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel,nsensor)
246C
247 DO i=jft,jlt
248 IF (gbuf%OFF(i) /= -ten) THEN
249 off(i)=min(one,abs(gbuf%OFF(i)))
250 ELSE
251C spring may be activated by sensor and is actually inactive.
252 off(i)=zero
253 ENDIF
254 ENDDO
255C
256 CALL r1def3(python,
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)),
262 6 ngl, mgn, ex, ey,
263 7 ez, xk, xm, xc,
264 8 ak, nc1, nc2, nuvar,
265 9 gbuf%VAR, gbuf%DEFINI, nel, nft,stf,
266 a sanin, iresp, snpc)
267C
268 DO i=jft,jlt
269 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
270 ENDDO
271C
272 CALL r1len3(
273 1 jft, jlt, gbuf%OFF, dt2t,
274 2 neltst, ityptst, sti, ms,
275 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
276 4 ngl, xk, xm, xc,
277 5 ak, nc1, nc2, jsms)
278 CALL rbilan(
279 1 gbuf%EINT, partsav, ixr, geo,
280 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
281 3 grth, igrth, gbuf%OFF, nc1,
282 4 nc2, x, vr, itask,
283 5 nel, igre, sensors)
284 CALL r1tors(
285 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
286!
287 IF (preld1>zero) THEN
288 DO i=jft,jlt
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)
292 ENDDO
293 CALL preload_axial(nel,preld1,gbuf%BPRELD,vl12,stf_f,gbuf%FOR)
294 gbuf%FOREP(jft:jlt) = gbuf%FOR(jft:jlt)
295 END IF
296 IF (iparit == 0) THEN
297 CALL r1cum3(
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,
302 5 ex, ey, ez, nc1,
303 6 nc2, nel)
304 ELSE
305 CALL r1cum3p(
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,
310 5 mz2, ex, ey, ez,
311 6 nel, nft)
312 ENDIF
313
314C=======================================================================
315 ELSEIF (igtyp == 26) THEN
316C=======================================================================
317 CALL r1coor3(
318 1 x, vr, ixr, xdp,
319 2 x1dp, x2dp, ngl, mgn,
320 3 nc1, nc2, nel)
321 CALL r1sens3(
322 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
323 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel ,nsensor)
324C
325 DO i=jft,jlt
326 IF (gbuf%OFF(i) /= -ten) THEN
327 off(i)=min(one,abs(gbuf%OFF(i)))
328 ELSE
329C spring may be activated by sensor and is actually inactive.
330 off(i)=zero
331 ENDIF
332 ENDDO
333C
334 CALL r26def3(python,
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,
340 6 mgn, ex, ey, ez,
341 7 xk, xm, xc, ak,
342 8 nel, nft, iad, gbuf%RUPTCRIT(ii(1)))
343C
344 DO i=jft,jlt
345 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
346 ENDDO
347C
348 CALL r1len3(
349 1 jft, jlt, gbuf%OFF, dt2t,
350 2 neltst, ityptst, sti, ms,
351 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
352 4 ngl, xk, xm, xc,
353 5 ak, nc1, nc2, jsms)
354 CALL rbilan(
355 1 gbuf%EINT, partsav, ixr, geo,
356 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
357 3 grth, igrth, gbuf%OFF, nc1,
358 4 nc2, x, vr, itask,
359 5 nel, igre, sensors)
360 CALL r1tors(
361 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
362!
363 IF (iparit == 0) THEN
364 CALL r1cum3(
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,
369 5 ex, ey, ez, nc1,
370 6 nc2, nel)
371 ELSE
372 CALL r1cum3p(
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,
377 5 mz2, ex, ey, ez,
378 6 nel, nft)
379 ENDIF
380C=======================================================================
381 ELSEIF (igtyp == 27) THEN
382C=======================================================================
383 CALL r1coor3(
384 1 x, vr, ixr, xdp,
385 2 x1dp, x2dp, ngl, mgn,
386 3 nc1, nc2, nel)
387 CALL r1sens3(
388 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
389 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel ,nsensor )
390C
391 DO i=jft,jlt
392 IF (gbuf%OFF(i) /= -ten) THEN
393 off(i)=min(one,abs(gbuf%OFF(i)))
394 ELSE
395C spring may be activated by sensor and is actually inactive.
396 off(i)=zero
397 ENDIF
398 ENDDO
399C
400 CALL r27def3(python,
401 1 gbuf%FOR(ii(1)), gbuf%EINT, gbuf%TOTDEPL(ii(1)),gbuf%LENGTH(ii(1)),
402 2 gbuf%POSX, geo, igeo, npf,
403 3 tf, v, off, anim,
404 4 gbuf%LENGTH_ERR, x1dp, x2dp, ngl,
405 5 mgn, ex, ey, ez,
406 6 xk, xm, xc, ak,
407 7 nel, nft, gbuf%RUPTCRIT(ii(1)))
408C
409 DO i=jft,jlt
410 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
411 ENDDO
412C
413 CALL r1len3(
414 1 jft, jlt, gbuf%OFF, dt2t,
415 2 neltst, ityptst, sti, ms,
416 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
417 4 ngl, xk, xm, xc,
418 5 ak, nc1, nc2, jsms)
419 CALL rbilan(
420 1 gbuf%EINT, partsav, ixr, geo,
421 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
422 3 grth, igrth, gbuf%OFF, nc1,
423 4 nc2, x, vr, itask,
424 5 nel, igre, sensors)
425 CALL r1tors(
426 1 gbuf%FOR(ii(1)),tani, h3d_data, nel)
427!
428 IF (iparit == 0) THEN
429 CALL r1cum3(
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,
434 5 ex, ey, ez, nc1,
435 6 nc2, nel)
436 ELSE
437 CALL r1cum3p(
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,
442 5 mz2, ex, ey, ez,
443 6 nel, nft)
444 ENDIF
445C=======================================================================
446 ELSEIF (igtyp == 8) THEN
447C=======================================================================
448 CALL r2coor3(
449 1 x, vr, ixr, xdp,
450 2 x1dp, x2dp, ngl, x1,
451 3 y1, z1, x2, y2,
452 4 z2, mgn, rx1, ry1,
453 5 rz1, rx2, ry2, rz2,
454 6 nc1, nc2, nel)
455 CALL r2sens3(
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)
460C
461 DO i=jft,jlt
462 IF (gbuf%OFF(i) /= -ten) THEN
463 off(i)=min(one,abs(gbuf%OFF(i)))
464 ELSE
465C spring may be activated by sensor and is actually inactive.
466 off(i)=zero
467 ENDIF
468 ENDDO
469C
470 CALL r2def3(python,
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,
491 l xin, ak, xm, xkm,
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,
496 q iresp, snpc)
497C
498 DO i=jft,jlt
499 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
500 ENDDO
501
502 CALL rsens_nic(nel ,ixr ,gbuf%FOR,gbuf%MOM,skew ,
503 . nsensor,sensors%SENSOR_TAB)
504C
505 CALL r2len3(
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,
510 5 xin, xm, xkm, xcm,
511 6 xkr, nc1, nc2, jsms)
512 CALL rbilan(
513 1 gbuf%EINT,partsav, ixr, geo,
514 2 v, ipartr, bid, gresav,
515 3 grth, igrth, gbuf%OFF, nc1,
516 4 nc2, x, vr, itask,
517 5 nel, igre,sensors)
518 CALL r2tors(
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,
521 3 nel)
522 IF (iparit == 0) THEN
523 CALL r2cum3(
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,
530 7 geo, x1, y1, z1,
531 8 x2, y2, z2, iequil,
532 9 exx, eyx, ezx, exy,
533 a eyy, ezy, exz, eyz,
534 b ezz, nc1, nc2, nel)
535 ELSE
536 CALL r2cum3p(
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,
543 7 x1, y1, z1, x2,
544 8 y2, z2, iequil, exx,
545 9 eyx, ezx, exy, eyy,
546 a ezy, exz, eyz, ezz,
547 b nel, nft)
548 ENDIF
549C=======================================================================
550 ELSEIF (igtyp == 12) THEN
551C=======================================================================
552 CALL r3coor3(
553 1 x, vr, ixr, xdp,
554 2 x1dp, x2dp, x3dp, ngl,
555 3 mgn, nc1, nc2, nc3,
556 4 nel)
557 CALL r1sens3(
558 1 geo, gbuf%OFF, sensors%SENSOR_TAB, gbuf%TOTDEPL(ii(1)),
559 2 gbuf%LENGTH(ii(1)), igeo, mgn, nel, nsensor )
560C
561 DO i=jft,jlt
562 IF (gbuf%OFF(i) /= -ten) THEN
563 off(i)=min(one,abs(gbuf%OFF(i)))
564 ELSE
565C spring may be activated by sensor and is actually inactive.
566 off(i)=zero
567 ENDIF
568 ENDDO
569C
570 CALL r3def3(python,
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,
574 4 v, ixr, df, anim,
575 5 gbuf%POSX, igeo, gbuf%LENGTH_ERR,
576 6 x1dp, x2dp, x3dp, gbuf%YIELD(ii(1)),
577 7 table, gbuf%INIFRIC, ngl, mgn,
578 8 ex, ey, ez, xk,
579 9 xm, xc, ak, ex2,
580 a ey2, ez2, nc1, nc2,
581 b nc3, nuvar, gbuf%VAR, gbuf%DEFINI,
582 c nel, nft, stf, sanin,
583 d iresp, snpc)
584c
585 DO i=jft,jlt
586 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
587 ENDDO
588 CALL r3len3(
589 1 jft, jlt, gbuf%OFF, dt2t,
590 2 neltst, ityptst, sti, ms,
591 3 msrt, dmelrt, gbuf%G_DT,gbuf%DT,
592 4 ngl, xk, xm, xc,
593 5 ak, nc1, nc2, nc3,
594 6 jsms)
595 CALL r3bilan(
596 1 gbuf%EINT, partsav, ixr, geo,
597 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
598 3 grth, igrth, nc1, nc2,
599 4 nc3, x, vr, itask,
600 5 nel, igre,sensors)
601 CALL r3tors(
602 1 gbuf%FOR(ii(1)),df, tani, h3d_data,
603 2 nel)
604 IF (iparit == 0) THEN
605 CALL r3cum3(
606 1 f, gbuf%FOR(ii(1)),sti, stifn,
607 2 df, ex, ey, ez,
608 3 ex2, ey2, ez2, nc1,
609 4 nc2, nc3, nel)
610 ELSE
611 CALL r3cum3p(
612 1 gbuf%FOR(ii(1)),sti, fsky, fsky,
613 2 iadr, df, ex, ey,
614 3 ez, ex2, ey2, ez2,
615 4 nel, nft)
616 ENDIF
617C=======================================================================
618 ELSEIF (igtyp == 13) THEN
619C=======================================================================
620 CALL r2coor3(
621 1 x, vr, ixr, xdp,
622 2 x1dp, x2dp, ngl, x1,
623 3 y1, z1, x2, y2,
624 4 z2, mgn, rx1, ry1,
625 5 rz1, rx2, ry2, rz2,
626 6 nc1, nc2, nel)
627 CALL r2sens3(
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 )
632C
633 DO i=jft,jlt
634 IF (gbuf%OFF(i) /= -ten) THEN
635 off(i)=min(one,abs(gbuf%OFF(i)))
636 ELSE
637C spring may be activated by sensor and is actually inactive.
638 off(i)=zero
639 ENDIF
640 ENDDO
641C
642 CALL r4evec3(
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,
653 b nc1, nc2, nel)
654 CALL r4def3(python,
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,
677 n ak, xm, xkm, xcm,
678 o xkr, vx1, vx2, vy1,
679 p vy2, vz1, vz2, nuvar,
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,
684 u iresp, snpc)
685C
686 DO i=jft,jlt
687 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
688 ENDDO
689 CALL r2len3(
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,
694 5 xin, xm, xkm, xcm,
695 6 xkr, nc1, nc2, jsms)
696 CALL rbilan(
697 1 gbuf%EINT, partsav, ixr, geo,
698 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
699 3 grth, igrth, gbuf%OFF, nc1,
700 4 nc2, x, vr, itask,
701 5 nel, igre,sensors)
702 CALL r4tors(
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,
705 3 h3d_data, nel)
706! preloading
707 IF (preld1>zero) THEN
708 DO i=jft,jlt
709 vl12(i) = (vx2(i)-vx1(i))*exx(i)+
710 1 (vy2(i)-vy1(i))*eyx(i)+(vz2(i)-vz1(i))*ezx(i)
711 ENDDO
712 CALL preload_axial(nel,preld1,gbuf%BPRELD,vl12,stf_f,gbuf%FOR)
713 gbuf%FOREP(jft:jlt) = gbuf%FOR(jft:jlt)
714 END IF
715 IF (iparit == 0) THEN
716 CALL r4cum3(
717 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
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,
722 6 my1, my2, mz1, mz2,
723 7 al, exx, eyx, ezx,
724 8 exy, eyy, ezy, exz,
725 9 eyz, ezz, nc1, nc2,
726 a nel)
727 ELSE
728 CALL r4cum3p(
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,
737 9 al, nel, nft)
738 ENDIF
739C=======================================================================
740 ELSEIF (igtyp == 25) THEN
741C=======================================================================
742 CALL r2coor3(
743 1 x, vr, ixr, xdp,
744 2 x1dp, x2dp, ngl, x1,
745 3 y1, z1, x2, y2,
746 4 z2, mgn, rx1, ry1,
747 5 rz1, rx2, ry2, rz2,
748 6 nc1, nc2, nel)
749 CALL r2sens3(
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 )
754C
755 DO i=jft,jlt
756 IF (gbuf%OFF(i) /= -ten) THEN
757 off(i) = min(one,abs(gbuf%OFF(i)))
758 ELSE
759c spring may be activated by sensor and is actually inactive.
760 off(i) = zero
761 ENDIF
762 ENDDO
763C
764 CALL r4evec3(
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,
775 b nc1, nc2, nel)
776 CALL r6def3(python,
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,
796 k ak, xm, xkm, xcm,
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,
804 s snpc)
805C
806 DO i=jft,jlt
807 IF (gbuf%OFF(i) /= -ten .AND. off(i) < one) gbuf%OFF(i) = off(i)
808 ENDDO
809C
810 CALL r2len3(
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,
815 5 xin, xm, xkm, xcm,
816 6 xkr, nc1, nc2, jsms)
817 CALL rbilan(
818 1 gbuf%EINT, partsav, ixr, geo,
819 2 v, ipartr, gbuf%LENGTH(ii(1)),gresav,
820 3 grth, igrth, gbuf%OFF, nc1,
821 4 nc2, x, vr, itask,
822 5 nel, igre, sensors)
823 CALL r4tors(
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,
826 3 h3d_data, nel)
827 IF (iparit == 0) THEN
828 CALL r4cum3(
829 1 f, gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),
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,
835 7 al, exx, eyx, ezx,
836 8 exy, eyy, ezy, exz,
837 9 eyz, ezz, nc1, nc2,
838 a nel)
839 ELSE
840 CALL r4cum3p(
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,
849 9 al, nel, nft)
850 ENDIF
851C=======================================================================
852 ELSEIF (igtyp >= 29 .AND. igtyp <= 31) THEN
853C=======================================================================
854 CALL r4coor3(
855 1 x, vr, ixr, gbuf%SKEW,
856 2 ngl, x1, y1, z1,
857 3 x2, y2, z2, mgn,
858 4 rx1, ry1, rz1, rx2,
859 5 ry2, rz2, nc1, nc2,
860 6 nel)
861 CALL r5evec3(
862 1 gbuf%SKEW,v, ngl, al,
863 2 x1, y1, z1, x2,
864 3 y2, z2, exx, eyx,
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,
870 9 nc2, nel)
871
872 CALL r5def3(
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,
882 a vy2, vz1, vz2, nc1,
883 b nc2, nel)
884C
885 DO i=jft,jlt
886 off(i)=min(one,abs(gbuf%OFF(i)))
887 ENDDO
888C
889 CALL set_spring_elnum(jft,jlt,ixr)
890C
891 IF( igtyp==29 .OR. igtyp==30 .OR. igtyp==31)THEN
892 DO i=1,nel
893 user_eint(i) = gbuf%EINT(i)
894
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)
898C
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)
902
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)
906
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)
910 ENDDO
911 ALLOCATE(user_uvar(nuvar*nel))
912 user_uvar(1:nuvar*nel)=gbuf%VAR(1:nuvar*nel)
913 ENDIF
914
915
916 IF (igtyp == 29) THEN
917
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 )
926 ELSE
927 ! ----------------
928 ! ERROR to be printed & exit
929 option='PROP/USER1 - SPRING'
930 size=len_trim(option)
931 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo)
932 CALL arret(2)
933 ! ----------------
934 ENDIF
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 )
944 ELSE
945 ! ----------------
946 ! ERROR to be printed & exit
947 option='PROP/USER2 - SPRING'
948 size=len_trim(option)
949 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo)
950 CALL arret(2)
951 ! ----------------
952 ENDIF
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 )
962 ELSE
963 ! ----------------
964 ! ERROR to be printed & exit
965 option='PROP/USER3 - SPRING'
966 size=len_trim(option)
967 CALL ancmsg(msgid=257,c1=option(1:size),anmode=aninfo)
968 CALL arret(2)
969 ! ----------------
970 ENDIF
971 ENDIF
972
973
974 IF( igtyp==29 .OR. igtyp==30 .OR. igtyp==31)THEN
975 DO i=1,nel
976 gbuf%EINT(i) = user_eint(i)
977
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)
981C
982 gbuf%MOM(ii(1)+i-1) = user_momx(i)
983 gbuf%MOM(ii(2)+i-1) = user_momy(i)
984 gbuf%MOM(ii(3)+i-1) = user_momz(i)
985
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)
989
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)
993 ENDDO
994 gbuf%VAR(1:nuvar*nel) = user_uvar(1:nuvar*nel)
995 DEALLOCATE(user_uvar)
996 ENDIF
997C
998 DO i=jft,jlt
999 IF (off(i) < one) gbuf%OFF(i) = off(i)
1000 ENDDO
1001C
1002 CALL r5len3(
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,
1013 b nc2, jsms)
1014
1015 CALL r5bilan(
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)
1021 CALL r4tors(
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,
1024 3 h3d_data, nel)
1025 IF (iparit == 0) THEN
1026 CALL r5cum3(
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,
1036 a nc1, nc2, nel)
1037 ELSE
1038 CALL r5cum3p(
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,
1041 3 fsky, fsky, iadr, fx1,
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,
1048 a nft)
1049 ENDIF
1050C=======================================================================
1051 ELSEIF (igtyp == 32) THEN
1052C=======================================================================
1053 CALL r2coor3(
1054 1 x, vr, ixr, xdp,
1055 2 x1dp, x2dp, ngl, x1,
1056 3 y1, z1, x2, y2,
1057 4 z2, mgn, rx1, ry1,
1058 5 rz1, rx2, ry2, rz2,
1059 6 nc1, nc2, nel)
1060 CALL r4evec3(
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,
1071 b nc1, nc2, nel)
1072 CALL r5def3(
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,
1083 b nc2, nel)
1084C
1085 nuvar = nint(geo(25,i0))
1086 DO i=jft,jlt
1087 off(i)=min(one,abs(gbuf%OFF(i)))
1088 ENDDO
1089C
1090 CALL ruser32(
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 )
1097C
1098 DO i=jft,jlt
1099 IF (off(i) < one) gbuf%OFF(i) = off(i)
1100 ENDDO
1101C
1102 CALL r5len3(
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,
1113 b nc2, jsms)
1114
1115 CALL r5bilan(
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)
1121 CALL r4tors(
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,
1124 3 h3d_data, nel)
1125 IF (iparit == 0) THEN
1126 CALL r4cum3(
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,
1136 a nel)
1137 ELSE
1138 CALL r4cum3p(
1139 1 gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%MOM(ii(1)),
1140 2 gbuf%MOM(ii(2)),gbuf%MOM(ii(3)),sti, stir,
1141 3 fsky, fsky, iadr, fx1,
1142 4 fx2, fy1, fy2, fz1,
1143 5 fz2, mx1, mx2, my1,
1144 6 my2, mz1, mz2, exx,
1145 7 eyx, ezx, exy, eyy,
1146 8 ezy, exz, eyz, ezz,
1147 9 al, nel, nft)
1148 ENDIF
1149C=======================================================================
1150 ELSEIF (igtyp == 33 .OR. igtyp == 45) THEN
1151C=======================================================================
1152C
1153 nuvar = nint(geo(25,i0))
1154 IF (igtyp == 45) flg_kj2 = 1
1155C
1156 CALL rgjoint(
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,
1164 8 tani, rby, x, v,
1165 9 vr, sti, stir, ms,
1166 a in, partsav, dt1, dt2t,
1167 b f, ar, fx1, fx2,
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 )
1175C=======================================================================
1176 ELSEIF (igtyp == 35 .OR. igtyp == 36) THEN
1177C=======================================================================
1178 CALL r4coor3(
1179 1 x, vr, ixr, gbuf%SKEW,
1180 2 ngl, x1, y1, z1,
1181 3 x2, y2, z2, mgn,
1182 4 rx1, ry1, rz1, rx2,
1183 5 ry2, rz2, nc1, nc2,
1184 6 nel)
1185 CALL r5evec3(
1186 1 gbuf%SKEW,v, ngl, al,
1187 2 x1, y1, z1, x2,
1188 3 y2, z2, exx, eyx,
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,
1194 9 nc2, nel)
1195 CALL r5def3(
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(1)),
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,
1206 b nc2, nel)
1207C
1208 nuvar = nint(geo(25,i0))
1209 DO i=jft,jlt
1210 off(i)=min(one,abs(gbuf%OFF(i)))
1211 ENDDO
1212C
1213 IF (igtyp == 35) THEN
1214 CALL ruser35(
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
1222 CALL ruser36(
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)))
1229 ENDIF
1230C
1231 DO i=jft,jlt
1232 IF (off(i) < one) gbuf%OFF(i) = off(i)
1233 ENDDO
1234C
1235 CALL r5len3(
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,
1246 b nc2, jsms)
1247
1248 CALL r5bilan(
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)
1254 CALL r4tors(
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,
1257 3 h3d_data, nel)
1258 IF (iparit == 0) THEN
1259 CALL r5cum3(
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,
1264 5 fz1, fz2, mx1, mx2,
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,
1269 a nc1, nc2, nel)
1270 ELSE
1271 CALL r5cum3p(
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,
1281 a nft)
1282 ENDIF
1283C=======================================================================
1284 ELSEIF (igtyp == 44) THEN
1285C=======================================================================
1286 CALL r4coor3(
1287 1 x, vr, ixr, gbuf%SKEW,
1288 2 ngl, x1, y1, z1,
1289 3 x2, y2, z2, mgn,
1290 4 rx1, ry1, rz1, rx2,
1291 5 ry2, rz2, nc1, nc2,
1292 6 nel)
1293 CALL r5evec3(
1294 1 gbuf%SKEW,v, ngl, al,
1295 2 x1, y1, z1, x2,
1296 3 y2, z2, exx, eyx,
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,
1302 9 nc2, nel)
1303 CALL r5def3(
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,
1314 b nc2, nel)
1315C
1316 nuvar = nint(geo(25,i0))
1317 DO i=jft,jlt
1318 off(i)=min(one,abs(gbuf%OFF(i)))
1319 ENDDO
1320C
1321 CALL ruser44(
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 )
1328C
1329 DO i=jft,jlt
1330 IF (off(i) < one) gbuf%OFF(i) = off(i)
1331 ENDDO
1332C
1333 CALL r5len3(
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,
1344 b nc2, jsms)
1345
1346 CALL r5bilan(
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)
1352 CALL r4tors(
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,
1355 3 h3d_data, nel)
1356 IF (iparit == 0) THEN
1357 CALL r5cum3(
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,
1367 a nc1, nc2, nel)
1368 ELSE
1369 CALL r5cum3p(
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, ezx,
1377 8 exy, eyy, ezy, exz,
1378 9 eyz, ezz, al, nel,
1379 a nft)
1380 ENDIF
1381C=======================================================================
1382 ELSEIF (igtyp == 46) THEN
1383C=======================================================================
1384 CALL r4coor3(
1385 1 x, vr, ixr, gbuf%SKEW,
1386 2 ngl, x1, y1, z1,
1387 3 x2, y2, z2, mgn,
1388 4 rx1, ry1, rz1, rx2,
1389 5 ry2, rz2, nc1, nc2,
1390 6 nel)
1391 CALL r5evec3(
1392 1 gbuf%SKEW,v, ngl, al,
1393 2 x1, y1, z1, x2,
1394 3 y2, z2, exx, eyx,
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,
1400 9 nc2, nel)
1401 CALL r5def3(
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,
1412 b nc2, nel)
1413C
1414 nuvar = nint(geo(25,i0))
1415 DO i=jft,jlt
1416 off(i)=min(one,abs(gbuf%OFF(i)))
1417 ENDDO
1418C
1419 CALL ruser46(
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 )
1426C
1427 DO i=jft,jlt
1428 IF (off(i) < one) gbuf%OFF(i) = off(i)
1429 ENDDO
1430C
1431 CALL r5len3(
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,
1442 b nc2, jsms)
1443
1444 CALL r5bilan(
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)
1450 CALL r4tors(
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,
1453 3 h3d_data, nel)
1454 IF (iparit == 0) THEN
1455 CALL r5cum3(
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)),
1458 3 sti, stir, stifn, stifr,
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,
1465 a nc1, nc2, nel)
1466 ELSE
1467 CALL r5cum3p(
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,
1477 a nft)
1478 ENDIF
1479C-----
1480 ENDIF ! IGTYP
1481C-----------------------------------------------
1482 RETURN
1483 END SUBROUTINE rforc3
1484
subroutine set_spring_elnum(jft, jlt, ixr)
Definition uaccess.F:706
#define min(a, b)
Definition macros.h:20
subroutine r1coor3(x, vr, ixr, xdp, x1dp, x2dp, ngl, mgm, nc1, nc2, nel)
Definition r1coor3.F:34
subroutine r1cum3(f, for, sti, stifn, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, ex, ey, ez, nc1, nc2, nel)
Definition r1cum3.F:35
subroutine r1cum3p(for, sti, fsky, fskyv, iadr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, ex, ey, ez, nel, nft)
Definition r1cum3p.F:35
subroutine r1def3(python, geo, f, al0, e, dl, npf, tf, off, dpl, fep, dpl2, anim, ipos, igeo, al0_err, x1dp, x2dp, v, yield, ngl, mgn, ex, ey, ez, xk, xm, xc, ak, nc1, nc2, nuvar, uvar, dl0, nel, nft, stf, sanin, iresp, snpc)
Definition r1def3.F:44
subroutine r1len3(jft, jlt, off, dt2t, neltst, ityptst, sti, ms, msrt, dmelrt, g_dt, dtel, ngl, xk, xm, xc, ak, nc1, nc2, jsms)
Definition r1len3.F:34
subroutine r1sens3(geo, off, sensor_tab, dx, x0, igeo, mgn, nel, nsensor)
Definition r1sens3.F:33
subroutine r1tors(for, tani, h3d_data, nel)
Definition r1tors.F:32
subroutine r26def3(python, f, e, dl, al0, dv0, fep, dpl2, ipos, geo, igeo, npf, tf, v, off, anim, fr_wave, al0_err, x1dp, x2dp, ngl, mgn, ex, ey, ez, xk, xm, xc, ak, nel, nft, iad, crit)
Definition r26def3.F:41
subroutine r27def3(python, f, e, dl, al0, ipos, geo, igeo, npf, tf, v, off, anim, al0_err, x1dp, x2dp, ngl, mgn, ex, ey, ez, xk, xm, xc, fscale, nel, nft, crit)
Definition r27def3.F:40
subroutine r2coor3(x, vr, ixr, xdp, x1dp, x2dp, ngl, x1, y1, z1, x2, y2, z2, mgm, rx1, ry1, rz1, rx2, ry2, rz2, nc1, nc2, nel)
Definition r2coor3.F:37
subroutine r2cum3(f, forx, fory, forz, xm, xmom, ymom, zmom, sti, stir, stifn, stifr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, geo, x1, y1, z1, x2, y2, z2, iequil, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, nc1, nc2, nel)
Definition r2cum3.F:41
subroutine r2cum3p(forx, fory, forz, xmom, ymom, zmom, sti, stir, fsky, fskyv, iadr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, geo, x1, y1, z1, x2, y2, z2, iequil, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, nel, nft)
Definition r2cum3p.F:41
subroutine r2def3(python, 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, igeo, e6, critnew, nel, x0_err, x1dp, x2dp, yieldx, yieldy, yieldz, yieldx2, yieldy2, yieldz2, ngl, xkr, mgn, 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, dx0, dy0, dz0, rx0, ry0, rz0, iequil, skew_id, nft, stf, sanin, iresp, snpc)
Definition r2def3.F:61
subroutine r2len3(jft, jlt, off, dt2t, neltst, ityptst, sti, stir, ms, in, msrt, dmelrt, g_dt, dtel, ngl, xcr, xin, xm, xkm, xcm, xkr, nc1, nc2, jsms)
Definition r2len3.F:38
subroutine r2sens3(geo, off, sensor_tab, dx, dy, dz, x0, y0, z0, rx, ry, rz, igeo, mgn, nel, nsensor)
Definition r2sens3.F:35
subroutine r2tors(forx, fory, forz, xmom, ymom, zmom, tani, h3d_data, nel)
Definition r2tors.F:35
subroutine r3bilan(eint, partsav, ixr, geo, v, ipartr, al0, gresav, grth, igrth, nc1, nc2, nc3, x, vr, itask, nel, igre, sensors)
Definition r3bilan.F:40
subroutine r3coor3(x, vr, ixr, xdp, x1dp, x2dp, x3dp, ngl, mgn, nc1, nc2, nc3, nel)
Definition r3coor3.F:35
subroutine r3cum3(f, for, sti, stifn, df, ex, ey, ez, ex2, ey2, ez2, nc1, nc2, nc3, nel)
Definition r3cum3.F:33
subroutine r3cum3p(for, sti, fsky, fskyv, iadr, df, ex, ey, ez, ex2, ey2, ez2, nel, nft)
Definition r3cum3p.F:33
subroutine r3def3(python, geo, f, al0, e, dl, npf, tf, off, dpl, fep, dpx2, dfs, v, ixr, df, anim, ipos, igeo, al0_err, x1dp, x2dp, x3dp, yield, table, inifric, ngl, mgn, ex, ey, ez, xk, xm, xc, ak, ex2, ey2, ez2, nc1, nc2, nc3, nuvar, uvar, dl0, nel, nft, stf, sanin, iresp, snpc)
Definition r3def3.F:51
subroutine r3len3(jft, jlt, off, dt2t, neltst, ityptst, sti, ms, msrt, dmelrt, g_dt, dtel, ngl, xk, xm, xc, ak, nc1, nc2, nc3, jsms)
Definition r3len3.F:35
subroutine r3tors(for, df, tani, h3d_data, nel)
Definition r3tors.F:33
subroutine r4coor3(x, vr, ixr, rloc, ngl, x1, y1, z1, x2, y2, z2, mgn, rx1, ry1, rz1, rx2, ry2, rz2, nc1, nc2, nel)
Definition r4coor3.F:37
subroutine r4cum3(f, forx, fory, forz, xm, xmom, ymom, zmom, sti, stir, stifn, stifr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, al, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, nc1, nc2, nel)
Definition r4cum3.F:41
subroutine r4cum3p(forx, fory, forz, xmom, ymom, zmom, sti, stir, fsky, fskyv, iadr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, al, nel, nft)
Definition r4cum3p.F:40
subroutine r4def3(python, 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, posx, posy, posz, posxx, posyy, poszz, fr_wave, e6, nel, exx2, eyx2, ezx2, exy2, eyy2, ezy2, exz2, eyz2, ezz2, al2dp, igeo, crit_new, x0_err, aldp, yieldx, yieldy, yieldz, yieldx2, yieldy2, yieldz2, ngl, mgn, 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, dx0, dy0, dz0, rx0, ry0, rz0, fx0, fy0, fz0, xmom0, ymom0, zmom0, nft, stf, sanin, iresp, snpc)
Definition r4def3.F:65
subroutine r4evec3(rloc, v, exx2, eyx2, ezx2, exy2, eyy2, ezy2, exz2, eyz2, ezz2, al2dp, x1dp, x2dp, al2, aldp, rloc_err, ngl, al, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, rx1, ry1, rz1, rx2, ry2, rz2, vx1, vx2, vy1, vy2, vz1, vz2, nc1, nc2, nel)
Definition r4evec3.F:42
subroutine r4tors(forx, fory, forz, xmom, ymom, zmom, tani, al, h3d_data, nel)
Definition r4tors.F:36
subroutine r5bilan(eint, partsav, ixr, umas, v, ipartr, uiner, x, vr, gresav, grth, igrth, nc1, nc2, itask, iad, igre, nft, nel, sensors)
Definition r5bilan.F:40
subroutine r5cum3(f, forx, fory, forz, xm, xmom, ymom, zmom, sti, stir, stifn, stifr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, mom1y, mom1z, al, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, nc1, nc2, nel)
Definition r5cum3.F:39
subroutine r5cum3p(forx, fory, forz, xmom, ymom, zmom, sti, stir, fsky, fskyv, iadr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, mom1y, mom1z, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, al, nel, nft)
Definition r5cum3p.F:39
subroutine r5def3(xl, vx2l, ry1l, rz1l, rx2l, ry2l, rz2l, fr_wave, fr_w_e, eint, fx, xmom, ymom, zmom, fy, fz, partsav, ipartr, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, rx1, ry1, rz1, rx2, ry2, rz2, vx1, vx2, vy1, vy2, vz1, vz2, nc1, nc2, nel)
Definition r5def3.F:40
subroutine r5evec3(rloc, v, ngl, al, x1, y1, z1, x2, y2, z2, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, rx1, ry1, rz1, rx2, ry2, rz2, vx1, vx2, vy1, vy2, vz1, vz2, nc1, nc2, nel)
Definition r5evec3.F:38
subroutine r5len3(jft, jlt, off, dt2t, neltst, ityptst, sti, stir, ms, in, usti, ustir, visi, visir, umas, uiner, fr_wave, fr_w_e, eint, fx, xmom, ymom, zmom, vx, ry1, rz1, rx, ry2, rz2, xl, fy, fz, partsav, ipartr, msrt, dmelrt, g_dt, dtel, ngl, nc1, nc2, jsms)
Definition r5len3.F:40
subroutine r6def3(python, 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, rmep, zmep, rpx2, rpy2, rpz2, anim, posx, posy, posz, posxx, posyy, poszz, e6, nel, al2dp, exx2, eyx2, ezx2, exy2, eyy2, ezy2, exz2, eyz2, ezz2, igeo, x0_err, aldp, yieldx, yieldy, yieldx2, yieldy2, ngl, mgn, xcr, rx1, ry1, rz1, rx2, ry2, rz2, xin, ak, xm, xkm, xcm, xkr, vx1, vx2, vy1, vy2, vz1, vz2, nuvar, uvar, dx0, dy0, dz0, rx0, ry0, rz0, fx0, fy0, fz0, xmom0, ymom0, zmom0, critnew, nft, stf, sanin, iresp, impl_s, idyna, snpc)
Definition r6def3.F:63
subroutine rbilan(eint, partsav, ixr, geo, v, ipartr, al0, gresav, grth, igrth, off_dum, nc1, nc2, x, vr, itask, nel, igre, sensors)
Definition rbilan.F:40
subroutine rforc3(python, elbuf_str, jft, jlt, nel, mtn, igeo, geo, 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, itask, h3d_data, jsms, nft, iad, igre, preld1, stf_f, stf, sanin, iresp, impl_s, idyna, snpc)
Definition rforc3.F:105
subroutine rgjoint(jft, jlt, ipartr, nel, nuvar, iout, iprop, iadr, fsky, fskyv, off, forx, fory, forz, e, dx, dy, dz, rx, ry, rz, xmom, ymom, zmom, uvar, stifn, stifr, ixr, tani, rby, x, vx, vr, sti, stir, ms, in, partsav, dt1, dt2t, f, ar, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, gresav, grth, igrth, msrt, dmelrt, neltst, ityptst, igtyp, sensor_tab, nc1, nc2, xdp, x0_err, h3d_data, jsms, igre, nft, nsensor)
Definition rgjoint.F:59
subroutine rsens_nic(nel, ixr, for, mom, skew, nsensor, sensor_tab)
Definition rsens_nic.F:33
subroutine ruser32(nel, iout, iprop, uvar, nuvar, fx, fy, fz, xmom, ymom, zmom, e, off, stifm, stifr, viscm, viscr, mass, xiner, dt, xl, vx, ry1, rz1, rx, ry2, rz2, fr_wave, nsensor, sensor_tab)
Definition ruser32.F:44
subroutine ruser35(nel, iout, iprop, uvar, nuvar, fx, fy, fz, xmom, ymom, zmom, e, off, stifm, stifr, viscm, viscr, mass, xiner, dt, xl, vx, ry1, rz1, rx, ry2, rz2, fr_wave)
Definition ruser35.F:41
subroutine ruser36(nel, iprop, uvar, nuvar, fr_wave, fx, fy, fz, xmom, ymom, zmom, e, off, stifm, stifr, viscm, viscr, mass, xiner, dt, xl, vx, ry1, rz1, rx, ry2, rz2)
Definition ruser36.F:41
subroutine ruser44(nel, iout, iprop, uvar, nuvar, fx, fy, fz, xmom, ymom, zmom, e, off, stifm, stifr, viscm, viscr, mass, xiner, dt, xl, vx, ry1, rz1, rx, ry2, rz2, fr_wave_e)
Definition ruser44.F:41
subroutine ruser46(nel, iout, iprop, uvar, nuvar, fx, fy, fz, xmom, ymom, zmom, e, off, stifm, stifr, viscm, viscr, mass, xiner, dt, xl, vx, ry1, rz1, rx, ry2, rz2, fr_wave)
Definition ruser46.F:41
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:895
subroutine arret(nn)
Definition arret.F:86