OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
fvventholeint.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!|| fvventholeint ../starter/source/airbag/fvventholeint.F
25!||--- called by ------------------------------------------------------
26!|| fvmesh0 ../starter/source/airbag/fvmesh0.F
27!||--- uses -----------------------------------------------------
28!||====================================================================
29 SUBROUTINE fvventholeint(IBUF , ELEM , IBAGHOL,
30 . NVENT , IGRSURF,
31 . ITAGEL, NN , NEL, NB_NODE)
32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35 USE groupdef_mod
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "param_c.inc"
44#include "com04_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER IBUF(*), ELEM(3,*), IBAGHOL(NIBHOL,*),
49 . NVENT,
50 . itagel(*), nn, nel, nb_node
51 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
52C-----------------------------------------------
53C L o c a l V a r i a b l e s
54C-----------------------------------------------
55 INTEGER I, II, ITABINV(NB_NODE), ITAGVENT(NN),
56 . ISU, NELSU, IEL, NG1, NG2, NG3, NG4, N1, N2, N3, N4,
57 . ivent, nall, nn1, nn2, iventyp
58C----------------------------------------------------
59 DO i=1,nb_node
60 itabinv(i)=0
61 ENDDO
62C
63 DO i=1,nn
64 ii=ibuf(i)
65 itabinv(ii)=i
66 itagvent(i)=0
67 ENDDO
68C
69 DO ivent=1,nvent
70 isu=ibaghol(2,ivent)
71 IF(isu == 0) cycle
72 iventyp=ibaghol(13,ivent)
73 IF(iventyp == 0) cycle
74 nelsu=igrsurf(isu)%NSEG
75 DO i=1,nelsu
76 ng1 = igrsurf(isu)%NODES(i,1)
77 ng2 = igrsurf(isu)%NODES(i,2)
78 ng3 = igrsurf(isu)%NODES(i,3)
79 ng4 = igrsurf(isu)%NODES(i,4)
80 n1=itabinv(ng1)
81 n2=itabinv(ng2)
82 n3=itabinv(ng3)
83 n4=itabinv(ng4)
84 itagvent(n1)=ivent
85 itagvent(n2)=ivent
86 itagvent(n3)=ivent
87 itagvent(n4)=ivent
88 ENDDO
89 ENDDO
90C
91 DO iel=1,nel
92 IF(itagel(iel) > 0) cycle ! injecteur
93 n1=elem(1,iel)
94 n2=elem(2,iel)
95 n3=elem(3,iel)
96 nall=itagvent(n1)*itagvent(n2)*itagvent(n3)
97 IF(nall/=0) THEN
98 nn1=itagvent(n2)-itagvent(n1)
99 nn2=itagvent(n3)-itagvent(n1)
100 IF (nn1 == 0 .AND. nn2 == 0) itagel(iel)=-itagvent(n1)
101 ENDIF
102 ENDDO
103C
104 RETURN
105 END
subroutine fvventholeint(ibuf, elem, ibaghol, nvent, igrsurf, itagel, nn, nel, nb_node)