OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
intstamp_mod.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!|| intstamp_mod ../starter/share/modules1/intstamp_mod.F
25!||--- called by ------------------------------------------------------
26!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
27!|| fsdcod ../starter/source/system/fsdcod.F
28!|| inint3_thkvar ../starter/source/interfaces/inter3d1/inint3_thkvar.F
29!|| inintr_thkvar ../starter/source/interfaces/interf1/inintr_thkvar.F
30!|| inter_dcod_friction ../starter/source/interfaces/reader/inter_dcod_friction.F
31!|| inter_dcod_function ../starter/source/interfaces/reader/inter_dcod_function.F
32!|| inter_dcod_sensor ../starter/source/interfaces/reader/inter_dcod_sensor.F
33!|| intstamp_glob_mod ../starter/share/modules1/intstamp_glob_mod.F
34!|| lecstamp ../starter/source/interfaces/interf1/lecstamp.F
35!|| sms_ini_jad_2 ../starter/source/ams/sms_init.F
36!|| sms_ini_jad_3 ../starter/source/ams/sms_init.F
37!||====================================================================
39C-----------------------------------------------
40C m y _ r e a l
41C-----------------------------------------------
42#include "my_real.inc"
43C-----------------------------------------------
44C D e r i v e d T y p e D e f i n i t i o n s
45C-----------------------------------------------
47C---------
48C reference to the interface index in INTBUF_TAB
49C---------
50 INTEGER nointer
51C---------
52C Associated Rbody
53C---------
54 INTEGER irb
55C---------
56C Associated Rbody main node
57C---------
58 INTEGER msr
59C---------
60C Flag / Free rotational ddls (0:NO/1:YES)
61C---------
62 INTEGER irot
63C---------
64C reference interface for damping
65 INTEGER intdamp
66C---------
67C mass, gravity center, inertia, orientation matrix, damping
68C---------
70 . mass, in(3), rot(9), damp, dampr
71 DOUBLE PRECISION xg(3)
72C---------
74 . dw, bracket(3)
75C---------
76C vitesse, deplacement, force
77C---------
79 . v(3), fc(3),stf,
80 . vr(3), mc(3), str
81 DOUBLE PRECISION d(3), dr(3)
82 DOUBLE PRECISION fc6(6,3),st6(6),mc6(6,3),str6(6)
83
84 END TYPE intstamp_data
85C-----------------------------------------------
86C S p e c i f i c F u n c t i o n s
87C-----------------------------------------------
88 CONTAINS
89!||====================================================================
90!|| intstamp_zero ../starter/share/modules1/intstamp_mod.F
91!||--- called by ------------------------------------------------------
92!|| lectur ../starter/source/starter/lectur.F
93!||====================================================================
94 SUBROUTINE intstamp_zero(INTSTAMP)
95C-----------------------------------------------
96C I m p l i c i t T y p e s
97C-----------------------------------------------
98#include "implicit_f.inc"
99C-----------------------------------------------
100C C o m m o n B l o c k s
101C-----------------------------------------------
102#include "com01_c.inc"
103#include "intstamp_c.inc"
104#include "units_c.inc"
105C-----------------------------------------------
106C D u m m y A r g u m e n t s
107C-----------------------------------------------
108 TYPE(intstamp_data) INTSTAMP(*)
109C-----------------------------------------------
110C L o c a l V a r i a b l e s
111C-----------------------------------------------
112 INTEGER N, J, K
113C--------------------------------------
114C ECRITURE DES DIMENSIONS
115C--------------------------------------
116 DO n=1,nintstamp
117 intstamp(n)%NOINTER=0
118 intstamp(n)%IRB =0
119 intstamp(n)%MSR =0
120 intstamp(n)%IROT =0
121 intstamp(n)%INTDAMP=0
122 intstamp(n)%MASS =zero
123 DO j=1,3
124 intstamp(n)%XG(j) =zero
125 END DO
126 DO j=1,3
127 intstamp(n)%IN(j) =zero
128 END DO
129 DO j=1,9
130 intstamp(n)%ROT(j) =zero
131 END DO
132 intstamp(n)%DAMP =zero
133 intstamp(n)%DAMPR=zero
134 DO j=1,3
135 intstamp(n)%V(j)=zero
136 intstamp(n)%D(j)=zero
137 intstamp(n)%VR(j)=zero
138 intstamp(n)%DR(j)=zero
139 intstamp(n)%FC(j)=zero
140 intstamp(n)%MC(j)=zero
141 DO k=1,6
142 intstamp(n)%FC6(k,j)=zero
143 intstamp(n)%MC6(k,j)=zero
144 END DO
145 END DO
146 intstamp(n)%DW =zero
147 DO j=1,3
148 intstamp(n)%BRACKET(j) =zero
149 END DO
150 intstamp(n)%STF=zero
151 intstamp(n)%STR=zero
152 DO k=1,6
153 intstamp(n)%ST6(k) =zero
154 intstamp(n)%STR6(k)=zero
155 END DO
156 END DO
157 RETURN
158 END SUBROUTINE intstamp_zero
159!||====================================================================
160!|| intstamp_wresti ../starter/share/modules1/intstamp_mod.F
161!||--- called by ------------------------------------------------------
162!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
163!||--- calls -----------------------------------------------------
164!||====================================================================
165 SUBROUTINE intstamp_wresti(INTSTAMP, LENI, NODLOCAL)
166C-----------------------------------------------
167C I m p l i c i t T y p e s
168C-----------------------------------------------
169#include "implicit_f.inc"
170C-----------------------------------------------
171C C o m m o n B l o c k s
172C-----------------------------------------------
173#include "com01_c.inc"
174#include "intstamp_c.inc"
175#include "units_c.inc"
176C-----------------------------------------------
177C D u m m y A r g u m e n t s
178C-----------------------------------------------
179 INTEGER LENI, NODLOCAL(*)
180 TYPE(intstamp_data) INTSTAMP(*)
181C-----------------------------------------------
182C L o c a l V a r i a b l e s
183C-----------------------------------------------
184 INTEGER LEN, N, J, NCOND
185C--------------------------------------
186C ECRITURE DES DIMENSIONS
187C--------------------------------------
188 leni=0
189 DO n=1,nintstamp
190 len =1
191 CALL write_i_c(intstamp(n)%NOINTER,len)
192 len =1
193 CALL write_i_c(intstamp(n)%IRB,len)
194 len =1
195 CALL write_i_c(nodlocal(intstamp(n)%MSR),len)
196 len =1
197 CALL write_i_c(intstamp(n)%IROT,len)
198 len =1
199 CALL write_i_c(intstamp(n)%INTDAMP,len)
200 END DO
201 RETURN
202 END SUBROUTINE intstamp_wresti
203!||====================================================================
204!|| intstamp_wrestr ../starter/share/modules1/intstamp_mod.F
205!||--- called by ------------------------------------------------------
206!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
207!||--- calls -----------------------------------------------------
208!||====================================================================
209 SUBROUTINE intstamp_wrestr(INTSTAMP, LENI)
210C-----------------------------------------------
211C I m p l i c i t T y p e s
212C-----------------------------------------------
213#include "implicit_f.inc"
214C-----------------------------------------------
215C C o m m o n B l o c k s
216C-----------------------------------------------
217#include "com01_c.inc"
218#include "intstamp_c.inc"
219#include "units_c.inc"
220C-----------------------------------------------
221C D u m m y A r g u m e n t s
222C-----------------------------------------------
223 INTEGER LENI
224 TYPE(intstamp_data) INTSTAMP(*)
225C-----------------------------------------------
226C L o c a l V a r i a b l e s
227C-----------------------------------------------
228 INTEGER LEN, N, J, NCOND
229C--------------------------------------
230 leni=0
231 DO n=1,nintstamp
232 len =1
233 CALL write_db(intstamp(n)%MASS,len)
234 leni =leni+1
235 len =3
236 CALL write_dpdb(intstamp(n)%XG,len)
237 leni =leni+6
238 len =3
239 CALL write_db(intstamp(n)%IN,len)
240 leni =leni+3
241 len =9
242 CALL write_db(intstamp(n)%ROT,len)
243 leni =leni+9
244 len =1
245 CALL write_db(intstamp(n)%DAMP,len)
246 len =1
247 CALL write_db(intstamp(n)%DAMPR,len)
248 len =3
249 CALL write_dpdb(intstamp(n)%D,len)
250 leni =leni+6
251 len =3
252 CALL write_db(intstamp(n)%V,len)
253 leni =leni+3
254 len =3
255 CALL write_dpdb(intstamp(n)%DR,len)
256 leni =leni+6
257 len =3
258 CALL write_db(intstamp(n)%VR,len)
259 leni =leni+3
260 len =1
261 CALL write_db(intstamp(n)%DW,len)
262 leni =leni+1
263 len =3
264 CALL write_db(intstamp(n)%BRACKET,len)
265 leni =leni+3
266 END DO
267 RETURN
268 END SUBROUTINE intstamp_wrestr
269!||====================================================================
270!|| intstamp_rresti ../starter/share/modules1/intstamp_mod.F
271!||--- calls -----------------------------------------------------
272!||====================================================================
273 SUBROUTINE intstamp_rresti(INTSTAMP)
274C-----------------------------------------------
275C I m p l i c i t T y p e s
276C-----------------------------------------------
277#include "implicit_f.inc"
278C-----------------------------------------------
279C C o m m o n B l o c k s
280C-----------------------------------------------
281#include "com01_c.inc"
282#include "intstamp_c.inc"
283#include "units_c.inc"
284C-----------------------------------------------
285C D u m m y A r g u m e n t s
286C-----------------------------------------------
287 TYPE(intstamp_data) INTSTAMP(*)
288C-----------------------------------------------
289C L o c a l V a r i a b l e s
290C-----------------------------------------------
291 INTEGER LEN, N, NCOND, J, STAT
292C--------------------------------------
293C ECRITURE DES DIMENSIONS
294C--------------------------------------
295 DO n=1,nintstamp
296 len =1
297 CALL read_i_c(intstamp(n)%NOINTER,len)
298 len =1
299 CALL read_i_c(intstamp(n)%IRB,len)
300 len =1
301 CALL read_i_c(intstamp(n)%MSR,len)
302 len =1
303 CALL read_i_c(intstamp(n)%IROT,len)
304 len =1
305 CALL read_i_c(intstamp(n)%INTDAMP,len)
306 END DO
307 RETURN
308 END SUBROUTINE intstamp_rresti
309!||====================================================================
310!|| intstamp_rrestr ../starter/share/modules1/intstamp_mod.F
311!||--- calls -----------------------------------------------------
312!||====================================================================
313 SUBROUTINE intstamp_rrestr(INTSTAMP)
314C-----------------------------------------------
315C I m p l i c i t T y p e s
316C-----------------------------------------------
317#include "implicit_f.inc"
318C-----------------------------------------------
319C C o m m o n B l o c k s
320C-----------------------------------------------
321#include "com01_c.inc"
322#include "intstamp_c.inc"
323#include "units_c.inc"
324C-----------------------------------------------
325C D u m m y A r g u m e n t s
326C-----------------------------------------------
327 TYPE(intstamp_data) INTSTAMP(*)
328C-----------------------------------------------
329C L o c a l V a r i a b l e s
330C-----------------------------------------------
331 INTEGER LEN, N, NCOND, J, STAT
332C--------------------------------------
333 DO n=1,nintstamp
334 len =1
335 CALL read_db(intstamp(n)%MASS,len)
336 len =3
337 CALL read_dpdb(intstamp(n)%XG,len)
338 len =3
339 CALL read_db(intstamp(n)%IN,len)
340 len =9
341 CALL read_db(intstamp(n)%ROT,len)
342 len =1
343 CALL read_db(intstamp(n)%DAMP,len)
344 len =1
345 CALL read_db(intstamp(n)%DAMPR,len)
346 len =3
347 CALL read_dpdb(intstamp(n)%D,len)
348 len =3
349 CALL read_db(intstamp(n)%V,len)
350 len =3
351 CALL read_dpdb(intstamp(n)%DR,len)
352 len =3
353 CALL read_db(intstamp(n)%VR,len)
354 len =1
355 CALL read_db(intstamp(n)%DW,len)
356 len =3
357 CALL read_db(intstamp(n)%BRACKET,len)
358 END DO
359 RETURN
360 END SUBROUTINE intstamp_rrestr
361
362 END MODULE intstamp_mod
#define my_real
Definition cppsort.cpp:32
subroutine intstamp_rresti(intstamp)
subroutine intstamp_wrestr(intstamp, leni)
subroutine intstamp_zero(intstamp)
subroutine intstamp_wresti(intstamp, leni, nodlocal)
subroutine intstamp_rrestr(intstamp)
subroutine read_dpdb(a, n)
Definition read_db.F:251
subroutine read_db(a, n)
Definition read_db.F:88
subroutine write_db(a, n)
Definition write_db.F:140
subroutine write_dpdb(a, n)
Definition write_db.F:302
void write_i_c(int *w, int *len)
void read_i_c(int *w, int *len)