OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r23forc3.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!|| r23forc3 ../engine/source/elements/spring/r23forc3.F
25!||--- called by ------------------------------------------------------
26!|| forint ../engine/source/elements/forint.f
27!||--- calls -----------------------------------------------------
28!|| r23law108 ../engine/source/elements/spring/r23law108.F
29!|| r23law113 ../engine/source/elements/spring/r23law113.F
30!|| r23law114 ../engine/source/elements/spring/r23law114.F
31!||--- uses -----------------------------------------------------
32!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
33!|| element_mod ../common_source/modules/elements/element_mod.F90
34!|| h3d_mod ../engine/share/modules/h3d_mod.F
35!|| python_funct_mod ../common_source/modules/python_mod.F90
36!|| sensor_mod ../common_source/modules/sensor_mod.F90
37!|| table_mod ../engine/share/modules/table_mod.F
38!||====================================================================
39 SUBROUTINE r23forc3(PYTHON,
40 1 ELBUF_STR, JFT, JLT, NEL,
41 2 MTN, IGEO, GEO, IPM,
42 3 IXR, X, TABLE, XDP,
43 4 F, NPF, TF, SKEW,
44 5 FLG_KJ2, VR, AR, V,
45 6 DT2T, NELTST, ITYPTST, STIFN,
46 7 STIFR, MS, IN, FSKY,
47 8 IADR, SENSORS , OFFSET, ANIM,
48 9 PARTSAV, IPARTR, TANI, FR_WAVE,
49 A BUFMAT, BUFGEO, PM, RBY,
50 B FX1, FX2, FY1, FY2,
51 C FZ1, FZ2, MX1, MX2,
52 D MY1, MY2, MZ1, MZ2,
53 E GRESAV, GRTH, IGRTH, MSRT,
54 F DMELRT, FLAG_SLIPRING_UPDATE, FLAG_RETRACTOR_UPDATE,H3D_DATA,
55 G JSMS, IGRE, NFT, PRELD1,
56 H STF_F, STF, SANIN, IRESP,
57 I SNPC )
58C-----------------------------------------------
59C M o d u l e s
60C-----------------------------------------------
61 USE python_funct_mod
62 USE elbufdef_mod
63 USE table_mod
64 USE h3d_mod
65 USE sensor_mod
66 use element_mod , only : nixr
67C-----------------------------------------------
68C I m p l i c i t T y p e s
69C-----------------------------------------------
70#include "implicit_f.inc"
71C-----------------------------------------------
72C G l o b a l P a r a m e t e r s
73C-----------------------------------------------
74#include "mvsiz_p.inc"
75C-----------------------------------------------
76C C o m m o n B l o c k s
77C-----------------------------------------------
78#include "param_c.inc"
79#include "com04_c.inc"
80C-----------------------------------------------
81C D u m m y A r g u m e n t s
82C-----------------------------------------------
83 type(python_), intent(inout) :: PYTHON
84 INTEGER, INTENT(IN) :: STF !< Size of TF
85 INTEGER, INTENT(IN) :: SANIN !< Size of ANIM
86 INTEGER, INTENT(IN) :: IRESP !< Single precision flag
87 INTEGER, INTENT(IN) :: SNPC !< Size of NPF
88 INTEGER, INTENT(IN) :: IGRE
89 INTEGER, INTENT(IN) :: NFT
90 INTEGER, INTENT(IN) :: JSMS
91 INTEGER IXR(NIXR,*), NPF(*),IADR(3,*),IPARTR(*),
92 . IGEO(NPROPGI,*),JFT,JLT,NELTST ,ITYPTST,OFFSET,
93 . NEL,MTN,GRTH(*),IGRTH(*),FLG_KJ2,IPM(NPROPMI,*),FLAG_SLIPRING_UPDATE,
94 . FLAG_RETRACTOR_UPDATE
95 my_real DT2T ,
96 . GEO(NPROPG,*),X(*),F(*),TF(STF),SKEW(LSKEW,*),FSKY(*),
97 . VR(*), V(*), AR(*), STIFN(*),STIFR(*),MS(*), IN(*),
98 . ANIM(SANIN),PARTSAV(*),TANI(15,*),
99 . FR_WAVE(*),BUFMAT(*),BUFGEO(*),PM(*),RBY(*),
100 . FX1(MVSIZ),FY1(MVSIZ),FZ1(MVSIZ),
101 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
102 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
103 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),gresav(*),
104 . msrt(*), dmelrt(*)
105 my_real, INTENT(IN) :: preld1,stf_f
106 DOUBLE PRECISION XDP(3,*)
107 TYPE(ttable) TABLE(*)
108C
109 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
110 TYPE(H3D_DATABASE) :: H3D_DATA
111 TYPE (SENSORS_) , INTENT(IN) :: SENSORS
112C-----------------------------------------------
113C L o c a l V a r i a b l e s
114C-----------------------------------------------
115 INTEGER :: NSENSOR
116C=======================================================================
117 NSENSOR = sensors%NSENSOR
118!
119 IF(mtn == 108) THEN
120 ! Like type08 spring
121 CALL r23law108(python,
122 1 elbuf_str, jft, jlt, nel,
123 2 mtn, igeo, geo, ipm,
124 3 ixr, x, table, xdp,
125 4 f, npf, tf, skew,
126 5 flg_kj2, vr, ar, v,
127 6 dt2t, neltst, ityptst, stifn,
128 7 stifr, ms, in, fsky,
129 8 iadr, nsensor,sensors%SENSOR_TAB,offset, anim,
130 9 partsav, ipartr, tani,
131 a bufmat, bufgeo, pm, rby,
132 b fx1, fx2, fy1, fy2,
133 c fz1, fz2, mx1, mx2,
134 d my1, my2, mz1, mz2,
135 e gresav, grth, igrth, msrt,
136 f dmelrt, h3d_data, jsms, igre,
137 g nft, stf, sanin, iresp,
138 h snpc)
139
140 ELSEIF(mtn == 113) THEN
141 ! Like type13 spring
142 CALL r23law113(python,
143 1 elbuf_str, jft, jlt, nel,
144 2 mtn, igeo, geo, ipm,
145 3 ixr, x, table, xdp,
146 4 f, npf, tf, skew,
147 5 flg_kj2, vr, ar, v,
148 6 dt2t, neltst, ityptst, stifn,
149 7 stifr, ms, in, fsky,
150 8 iadr, nsensor,sensors%SENSOR_TAB,offset, anim,
151 9 partsav, ipartr, tani, fr_wave,
152 a bufmat, bufgeo, pm, rby,
153 b fx1, fx2, fy1, fy2,
154 c fz1, fz2, mx1, mx2,
155 d my1, my2, mz1, mz2,
156 e gresav, grth, igrth, msrt,
157 f dmelrt, h3d_data, jsms, igre,
158 g nft, preld1, stf_f, stf,
159 h sanin, iresp, snpc)
160
161 ELSEIF(mtn == 114) THEN
162 ! seatbelt_element
163 CALL r23law114(python,
164 1 elbuf_str, jft, jlt, nel,
165 2 mtn, igeo, geo, ipm,
166 3 ixr, x, table, xdp,
167 4 f, npf, tf, skew,
168 5 flg_kj2, vr, ar, v,
169 6 dt2t, neltst, ityptst, stifn,
170 7 stifr, ms, in, fsky,
171 8 iadr, sensors%SENSOR_TAB, offset, anim,
172 9 partsav, ipartr, tani, fr_wave,
173 a bufmat, bufgeo, pm, rby,
174 b fx1, fx2, fy1, fy2,
175 c fz1, fz2, mx1, mx2,
176 d my1, my2, mz1, mz2,
177 e gresav, grth, igrth, msrt,
178 f dmelrt, flag_slipring_update, flag_retractor_update,h3d_data,
179 g jsms, igre, nft, nsensor,
180 h stf, sanin, iresp, snpc )
181
182 ENDIF
183C-----------------------------------------------
184 RETURN
185 END SUBROUTINE r23forc3
subroutine forint(timers, python, pm, geo, x, a, ar, v, vr, ms, in, w, elbuf, wa, val2, veul, fv, stifn, stifr, fsky, tf, bufmat, partsav, d, dr, eani, elbuf_tab, tani, fani, fsav, sensors, nloc_dmg, skew, anin, dt2t, bufgeo, itab, iads, iadq, iadt, iadp, mat_elem, iadr, iparg, ale_connect, npc, ixs, ixq, ixt, ixp, ixr, neltst, ipari, ityptst, nstrf, ipart, iparts, ipartq, ipartt, ipartp, ipartr, ipartur, fr_wave, rby, secfcum, agrav, igrv, lgrav, ixs10, ixs20, iads10, iads20, ixs16, iads16, w16, fskym, msnf, igeo, ipm, xsec, itask, temp, fthe, fthesky, igrounc, ngrounc, gresav, grth, igrth, xdp, mssa, dmels, mstr, dmeltr, msp, dmelp, msrt, dmelrt, table, vf, af, df, wf, ffsky, afglob, nbsdvois, nercvois, nesdvois, lercvois, lesdvois, phi1, phi2, msf, nodft, nodlt, flg_kj2, por, icontact, ifoam, sfem_nodvar, kxig3d, ixig3d, knot, wige, condn, condnsky, s_sfem_nodvar, tagprt_sms, itagnd, ms_2d, nale, stressmean, knotlocpc, knotlocel, subset, flag_slipring_update, flag_retractor_update, h3d_data, ifthe, icondn, dt, output, sbufmat, snpc, stf, nodadt, dtfac1, dtmin1, idtmin, iout, istdo, idtmins, dtfacs, nsvois, iresp, maxfunc, userl_avail, glob_therm, imon_mat, dtmins, sanin, ngrth, nelem)
Definition forint.F:126
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)
Definition r23forc3.F:58
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)
Definition r23law108.F:62
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)
Definition r23law113.F:65
subroutine r23law114(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, 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, flag_slipring_update, flag_retractor_update, h3d_data, jsms, igre, nft, nsensor, stf, sanin, iresp, snpc)
Definition r23law114.F:64