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