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!|| h3d_mod ../engine/share/modules/h3d_mod.F
34!|| python_funct_mod ../common_source/modules/python_mod.F90
35!|| sensor_mod ../common_source/modules/sensor_mod.F90
36!|| table_mod ../engine/share/modules/table_mod.F
37!||====================================================================
38 SUBROUTINE r23forc3(PYTHON,
39 1 ELBUF_STR, JFT, JLT, NEL,
40 2 MTN, IGEO, GEO, IPM,
41 3 IXR, X, TABLE, XDP,
42 4 F, NPF, TF, SKEW,
43 5 FLG_KJ2, VR, AR, V,
44 6 DT2T, NELTST, ITYPTST, STIFN,
45 7 STIFR, MS, IN, FSKY,
46 8 IADR, SENSORS , OFFSET, ANIM,
47 9 PARTSAV, IPARTR, TANI, FR_WAVE,
48 A BUFMAT, BUFGEO, PM, RBY,
49 B FX1, FX2, FY1, FY2,
50 C FZ1, FZ2, MX1, MX2,
51 D MY1, MY2, MZ1, MZ2,
52 E GRESAV, GRTH, IGRTH, MSRT,
53 F DMELRT, FLAG_SLIPRING_UPDATE, FLAG_RETRACTOR_UPDATE,H3D_DATA,
54 G JSMS, IGRE, NFT, PRELD1,
55 H STF_F, STF, SANIN, IRESP,
56 I SNPC )
57C-----------------------------------------------
58C M o d u l e s
59C-----------------------------------------------
60 USE python_funct_mod
61 USE elbufdef_mod
62 USE table_mod
63 USE h3d_mod
64 USE sensor_mod
65C-----------------------------------------------
66C I m p l i c i t T y p e s
67C-----------------------------------------------
68#include "implicit_f.inc"
69C-----------------------------------------------
70C G l o b a l P a r a m e t e r s
71C-----------------------------------------------
72#include "mvsiz_p.inc"
73C-----------------------------------------------
74C C o m m o n B l o c k s
75C-----------------------------------------------
76#include "param_c.inc"
77#include "com04_c.inc"
78C-----------------------------------------------
79C D u m m y A r g u m e n t s
80C-----------------------------------------------
81 type(python_), intent(inout) :: PYTHON
82 INTEGER, INTENT(IN) :: STF !< Size of TF
83 INTEGER, INTENT(IN) :: SANIN !< Size of ANIM
84 INTEGER, INTENT(IN) :: IRESP !< Single precision flag
85 INTEGER, INTENT(IN) :: SNPC !< Size of NPF
86 INTEGER, INTENT(IN) :: IGRE
87 INTEGER, INTENT(IN) :: NFT
88 INTEGER, INTENT(IN) :: JSMS
89 INTEGER IXR(NIXR,*), NPF(*),IADR(3,*),IPARTR(*),
90 . IGEO(NPROPGI,*),JFT,JLT,NELTST ,ITYPTST,OFFSET,
91 . NEL,MTN,GRTH(*),IGRTH(*),FLG_KJ2,IPM(NPROPMI,*),FLAG_SLIPRING_UPDATE,
92 . FLAG_RETRACTOR_UPDATE
93 my_real DT2T ,
94 . GEO(NPROPG,*),X(*),F(*),TF(STF),SKEW(LSKEW,*),FSKY(*),
95 . VR(*), V(*), AR(*), STIFN(*),STIFR(*),MS(*), IN(*),
96 . ANIM(SANIN),PARTSAV(*),TANI(15,*),
97 . FR_WAVE(*),BUFMAT(*),BUFGEO(*),PM(*),RBY(*),
98 . FX1(MVSIZ),FY1(MVSIZ),FZ1(MVSIZ),
99 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
100 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
101 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),gresav(*),
102 . msrt(*), dmelrt(*)
103 my_real, INTENT(IN) :: preld1,stf_f
104 DOUBLE PRECISION XDP(3,*)
105 TYPE(ttable) TABLE(*)
106C
107 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
108 TYPE(H3D_DATABASE) :: H3D_DATA
109 TYPE (SENSORS_) , INTENT(IN) :: SENSORS
110C-----------------------------------------------
111C L o c a l V a r i a b l e s
112C-----------------------------------------------
113 INTEGER :: NSENSOR
114C=======================================================================
115 NSENSOR = sensors%NSENSOR
116!
117 IF(mtn == 108) THEN
118 ! Like type08 spring
119 CALL r23law108(python,
120 1 elbuf_str, jft, jlt, nel,
121 2 mtn, igeo, geo, ipm,
122 3 ixr, x, table, xdp,
123 4 f, npf, tf, skew,
124 5 flg_kj2, vr, ar, v,
125 6 dt2t, neltst, ityptst, stifn,
126 7 stifr, ms, in, fsky,
127 8 iadr, nsensor,sensors%SENSOR_TAB,offset, anim,
128 9 partsav, ipartr, tani,
129 a bufmat, bufgeo, pm, rby,
130 b fx1, fx2, fy1, fy2,
131 c fz1, fz2, mx1, mx2,
132 d my1, my2, mz1, mz2,
133 e gresav, grth, igrth, msrt,
134 f dmelrt, h3d_data, jsms, igre,
135 g nft, stf, sanin, iresp,
136 h snpc)
137
138 ELSEIF(mtn == 113) THEN
139 ! Like type13 spring
140 CALL r23law113(python,
141 1 elbuf_str, jft, jlt, nel,
142 2 mtn, igeo, geo, ipm,
143 3 ixr, x, table, xdp,
144 4 f, npf, tf, skew,
145 5 flg_kj2, vr, ar, v,
146 6 dt2t, neltst, ityptst, stifn,
147 7 stifr, ms, in, fsky,
148 8 iadr, nsensor,sensors%SENSOR_TAB,offset, anim,
149 9 partsav, ipartr, tani, fr_wave,
150 a bufmat, bufgeo, pm, rby,
151 b fx1, fx2, fy1, fy2,
152 c fz1, fz2, mx1, mx2,
153 d my1, my2, mz1, mz2,
154 e gresav, grth, igrth, msrt,
155 f dmelrt, h3d_data, jsms, igre,
156 g nft, preld1, stf_f, stf,
157 h sanin, iresp, snpc)
158
159 ELSEIF(mtn == 114) THEN
160 ! seatbelt_element
161 CALL r23law114(python,
162 1 elbuf_str, jft, jlt, nel,
163 2 mtn, igeo, geo, ipm,
164 3 ixr, x, table, xdp,
165 4 f, npf, tf, skew,
166 5 flg_kj2, vr, ar, v,
167 6 dt2t, neltst, ityptst, stifn,
168 7 stifr, ms, in, fsky,
169 8 iadr, sensors%SENSOR_TAB, offset, anim,
170 9 partsav, ipartr, tani, fr_wave,
171 a bufmat, bufgeo, pm, rby,
172 b fx1, fx2, fy1, fy2,
173 c fz1, fz2, mx1, mx2,
174 d my1, my2, mz1, mz2,
175 e gresav, grth, igrth, msrt,
176 f dmelrt, flag_slipring_update, flag_retractor_update,h3d_data,
177 g jsms, igre, nft, nsensor,
178 h stf, sanin, iresp, snpc )
179
180 ENDIF
181C-----------------------------------------------
182 RETURN
183 END SUBROUTINE r23forc3
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:57
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:61
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:64
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:63