OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lag_ntag.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/.
23C======================================================================|
24!||====================================================================
25!|| init_int ../engine/source/tools/lagmul/lag_ntag.F
26!||--- called by ------------------------------------------------------
27!|| lag_mult ../engine/source/tools/lagmul/lag_mult.F
28!|| lag_multp ../engine/source/tools/lagmul/lag_mult.F
29!||====================================================================
30 SUBROUTINE init_int(I,J)
31C !!!! I est reel a l'appel
32 INTEGER I,J
33 i = j
34 RETURN
35 END
36C======================================================================|
37!||====================================================================
38!|| init_intv ../engine/source/tools/lagmul/lag_ntag.F
39!||--- called by ------------------------------------------------------
40!|| lag_mult ../engine/source/tools/lagmul/lag_mult.F
41!|| lag_multp ../engine/source/tools/lagmul/lag_mult.F
42!||====================================================================
43 SUBROUTINE init_intv(INTV, LEN)
44#include "implicit_f.inc"
45 INTEGER LEN, INTV(*)
46 INTEGER I
47 DO i = 1,len
48 intv(i) = 0
49 ENDDO
50 RETURN
51 END
52C======================================================================|
53
54!||====================================================================
55!|| ltag_bcs ../engine/source/tools/lagmul/lag_ntag.F
56!||--- called by ------------------------------------------------------
57!|| lag_mult ../engine/source/tools/lagmul/lag_mult.F
58!||--- uses -----------------------------------------------------
59!|| groupdef_mod ../common_source/modules/groupdef_mod.F
60!||====================================================================
61 SUBROUTINE ltag_bcs(COMNTAG,NGRNOD,IGRNOD,IBCSLAG)
62C-----------------------------------------------
63C M o d u l e s
64C-----------------------------------------------
65 USE groupdef_mod
66C-----------------------------------------------
67C I m p l i c i t T y p e s
68C-----------------------------------------------
69#include "implicit_f.inc"
70C-----------------------------------------------
71C C o m m o n B l o c k s
72C-----------------------------------------------
73#include "lagmult.inc"
74C-----------------------------------------------
75C D u m m y A r g u m e n t s
76C-----------------------------------------------
77 INTEGER IBCSLAG(5,*),COMNTAG(*),NGRNOD
78C-----------------------------------------------
79 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
80C-----------------------------------------------
81C L o c a l V a r i a b l e s
82C-----------------------------------------------
83 INTEGER I,N,IGR,NN
84C======================================================================|
85 DO i=1,nbcslag
86 igr = ibcslag(1,i)
87 DO n=1,igrnod(igr)%NENTITY
88 nn=igrnod(igr)%ENTITY(n)
89 comntag(nn) = comntag(nn) + 1
90 ENDDO
91 ENDDO
92C---
93 RETURN
94 END
95
96!||====================================================================
97!|| ltag_i2main ../engine/source/tools/lagmul/lag_ntag.F
98!||--- called by ------------------------------------------------------
99!|| lag_mult ../engine/source/tools/lagmul/lag_mult.F
100!||--- calls -----------------------------------------------------
101!|| ltag_i2 ../engine/source/tools/lagmul/lag_ntag.F
102!||--- uses -----------------------------------------------------
103!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.f90
104!||====================================================================
105 SUBROUTINE ltag_i2main(COMNTAG ,IPARI ,INTBUF_TAB )
106C-----------------------------------------------
107C M o d u l e s
108C-----------------------------------------------
109 USE intbufdef_mod
110C-----------------------------------------------
111C I m p l i c i t T y p e s
112C-----------------------------------------------
113#include "implicit_f.inc"
114C-----------------------------------------------
115C C o m m o n B l o c k s
116C-----------------------------------------------
117#include "param_c.inc"
118#include "com04_c.inc"
119C-----------------------------------------------
120C D u m m y A r g u m e n t s
121C-----------------------------------------------
122 INTEGER IPARI(NPARI,NINTER), COMNTAG(*)
123C-----------------------------------------------
124C L o c a l V a r i a b l e s
125C-----------------------------------------------
126 INTEGER NTY,ILAGM,NSN,NMN,NRTS,NRTM,NIN
127
128 TYPE(intbuf_struct_) INTBUF_TAB(*)
129C======================================================================|
130 DO nin=1,ninter
131 IF (ipari(33,nin)==1.AND.ipari(7,nin)==2) THEN
132 nrts = ipari(3,nin)
133 nrtm = ipari(4,nin)
134 nsn = ipari(5,nin)
135 nmn = ipari(6,nin)
136 CALL ltag_i2(intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,intbuf_tab(nin)%IRTLM,comntag,nsn )
137 ENDIF
138 ENDDO
139 RETURN
140 END
141!||====================================================================
142!|| ltag_i2 ../engine/source/tools/lagmul/lag_ntag.F
143!||--- called by ------------------------------------------------------
144!|| ltag_i2main ../engine/source/tools/lagmul/lag_ntag.F
145!||====================================================================
146 SUBROUTINE ltag_i2(IRECT ,NSV ,IRTL ,COMNTAG, NSN )
147C-----------------------------------------------
148C I m p l i c i t T y p e s
149C-----------------------------------------------
150#include "implicit_f.inc"
151C-----------------------------------------------
152C D u m m y A r g u m e n t s
153C-----------------------------------------------
154 INTEGER NSN, IRECT(4,*), NSV(*), IRTL(*), COMNTAG(*)
155C-----------------------------------------------
156C L o c a l V a r i a b l e s
157C-----------------------------------------------
158 INTEGER II, JJ, L, NN, NIR, N4
159C-----------------------------------------------
160 DO ii=1,nsn
161 l = irtl(ii)
162 nn = nsv(ii)
163 comntag(nn) = comntag(nn) + 1
164 nir = 3
165 DO jj=1,3
166 nn = irect(jj,l)
167 comntag(nn) = comntag(nn) + 1
168 ENDDO
169 n4 = irect(4,l)
170 IF (n4/=irect(3,l)) comntag(n4) = comntag(n4) + 1
171 ENDDO
172C---
173 RETURN
174 END
175
176!||====================================================================
177!|| ltag_fxv ../engine/source/tools/lagmul/lag_ntag.F
178!||--- called by ------------------------------------------------------
179!|| lag_mult ../engine/source/tools/lagmul/lag_mult.F
180!||====================================================================
181 SUBROUTINE ltag_fxv(COMNTAG ,IBFV )
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 "param_c.inc"
190#include "com04_c.inc"
191C-----------------------------------------------
192C D u m m y A r g u m e n t s
193C-----------------------------------------------
194 INTEGER IBFV(NIFV,*), COMNTAG(*)
195C-----------------------------------------------
196C L o c a l V a r i a b l e s
197C-----------------------------------------------
198 INTEGER N, NN
199C======================================================================|
200 DO n=1,nfxvel
201 IF (ibfv(8,n)/=0) THEN
202 nn = iabs(ibfv(1,n))
203 comntag(nn) = comntag(nn) + 1
204 ENDIF
205 ENDDO
206C---
207 RETURN
208 END
209!||====================================================================
210!|| ltag_gjnt ../engine/source/tools/lagmul/lag_ntag.F
211!||--- called by ------------------------------------------------------
212!|| lag_mult ../engine/source/tools/lagmul/lag_mult.F
213!||====================================================================
214 SUBROUTINE ltag_gjnt(COMNTAG ,GJBUFI )
215C-----------------------------------------------
216C I m p l i c i t T y p e s
217C-----------------------------------------------
218#include "implicit_f.inc"
219C-----------------------------------------------
220C C o m m o n B l o c k s
221C-----------------------------------------------
222#include "param_c.inc"
223C-----------------------------------------------
224C D u m m y A r g u m e n t s
225C-----------------------------------------------
226 INTEGER GJBUFI(LKJNI,*), COMNTAG(*)
227C-----------------------------------------------
228C L o c a l V a r i a b l e s
229C-----------------------------------------------
230 INTEGER I,JTYP,N0,N1,N2,N3
231C======================================================================|
232 DO i=1,ngjoint
233 jtyp= gjbufi(2,i)
234 n0 = gjbufi(3,i)
235 n1 = gjbufi(4,i)
236 n2 = gjbufi(5,i)
237 n3 = gjbufi(6,i)
238 comntag(n0) = comntag(n0) + 1
239 comntag(n1) = comntag(n1) + 1
240 comntag(n2) = comntag(n2) + 1
241 IF (jtyp==2) comntag(n3) = comntag(n3) + 1
242 ENDDO
243C---
244 RETURN
245 END
246
247!||====================================================================
248!|| ltag_mpc ../engine/source/tools/lagmul/lag_ntag.F
249!||--- called by ------------------------------------------------------
250!|| lag_mult ../engine/source/tools/lagmul/lag_mult.f
251!||====================================================================
252 SUBROUTINE ltag_mpc(COMNTAG ,IMPCNC ,IMPCNN )
253C-----------------------------------------------
254C I m p l i c i t T y p e s
255C-----------------------------------------------
256#include "implicit_f.inc"
257C-----------------------------------------------
258C C o m m o n B l o c k s
259C-----------------------------------------------
260#include "param_c.inc"
261C-----------------------------------------------
262C D u m m y A r g u m e n t s
263C-----------------------------------------------
264 INTEGER IMPCNC(*), IMPCNN(*), COMNTAG(*)
265C-----------------------------------------------
266C L o c a l V a r i a b l e s
267C-----------------------------------------------
268 INTEGER I, J, KF, NN
269C======================================================================|
270 kf = 0
271 DO i=1,nummpc
272 DO j=1,impcnc(i)
273 kf = kf+1
274 nn = impcnn(kf)
275 comntag(nn) = comntag(nn) + 1
276 ENDDO
277 ENDDO
278C---
279 RETURN
280 END
281
282!||====================================================================
283!|| ltag_rby ../engine/source/tools/lagmul/lag_ntag.F
284!||--- called by ------------------------------------------------------
285!|| lag_mult ../engine/source/tools/lagmul/lag_mult.F
286!||====================================================================
287 SUBROUTINE ltag_rby(COMNTAG, NPBYL ,LPBYL )
288C-----------------------------------------------
289C I m p l i c i t T y p e s
290C-----------------------------------------------
291#include "implicit_f.inc"
292C-----------------------------------------------
293C C o m m o n B l o c k s
294C-----------------------------------------------
295#include "lagmult.inc"
296#include "param_c.inc"
297C-----------------------------------------------
298C D u m m y A r g u m e n t s
299C-----------------------------------------------
300 INTEGER COMNTAG(*), NPBYL(NNPBY,*), LPBYL(*)
301C-----------------------------------------------
302C L o c a l V a r i a b l e s
303C-----------------------------------------------
304 INTEGER I,N,NN,MSL,TNSL
305C======================================================================|
306 tnsl = 0
307 DO n = 1,nrbylag
308 msl = npbyl(2,n)
309 DO i=1,msl
310 nn = lpbyl(tnsl+i)
311 comntag(nn) = comntag(nn) + 1
312 ENDDO
313 tnsl = tnsl + msl*3
314 ENDDO
315C---
316 RETURN
317 END
subroutine lag_mult(ipari, x, a, wat, v, ms, in, vr, itask, wag, itab, ixs, ixs20, ixs16, igrnod, fani, fsav, skew, ar, lambda, lagbuf, ibcslag, ixs10, gjbufi, gjbufr, ibmpc, rbmpc, npbyl, lpbyl, ibfv, vel, npf, tf, newfront, icontact, rwbuf, lprw, nprw, rbyl, d, dr, kinet, nsensor, sensor_tab, intbuf_tab, h3d_data, igrbric, python, nodes)
Definition lag_mult.F:70
subroutine ltag_rby(comntag, npbyl, lpbyl)
Definition lag_ntag.F:288
subroutine ltag_i2main(comntag, ipari, intbuf_tab)
Definition lag_ntag.F:106
subroutine ltag_gjnt(comntag, gjbufi)
Definition lag_ntag.F:215
subroutine ltag_i2(irect, nsv, irtl, comntag, nsn)
Definition lag_ntag.F:147
subroutine init_intv(intv, len)
Definition lag_ntag.F:44
subroutine ltag_mpc(comntag, impcnc, impcnn)
Definition lag_ntag.F:253
subroutine ltag_bcs(comntag, ngrnod, igrnod, ibcslag)
Definition lag_ntag.F:62
subroutine ltag_fxv(comntag, ibfv)
Definition lag_ntag.F:182
subroutine init_int(i, j)
Definition lag_ntag.F:31