OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lecggroup.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!|| lecggroup ../starter/source/groups/lecggroup.F
25!||--- called by ------------------------------------------------------
26!|| lectur ../starter/source/starter/lectur.F
27!||--- calls -----------------------------------------------------
28!|| hm_grogro ../starter/source/groups/hm_grogro.F
29!|| hm_option_start ../starter/source/devtools/hm_reader/hm_option_start.F
30!||--- uses -----------------------------------------------------
31!|| message_mod ../starter/share/message_module/message_mod.f
32!|| submodel_mod ../starter/share/modules1/submodel_mod.F
33!||====================================================================
34 SUBROUTINE lecggroup(
35 . FLAGG ,
36 . ICOUNT ,ITER ,IGRBRIC ,IGRQUAD ,IGRSH4N,
37 . IGRSH3N,IGRTRUSS,IGRBEAM ,IGRSPRING,IGRPART,
38 . LSUBMODEL)
39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE message_mod
43 USE groupdef_mod
44 USE submodel_mod
45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C C o m m o n B l o c k s
51C-----------------------------------------------
52#include "com01_c.inc"
53#include "com04_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER FLAGG,ICOUNT,ITER
58C-----------------------------------------------
59 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
60 TYPE (GROUP_) , DIMENSION(NGRQUAD) :: IGRQUAD
61 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
62 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
63 TYPE (GROUP_) , DIMENSION(NGRTRUS) :: IGRTRUSS
64 TYPE (GROUP_) , DIMENSION(NGRBEAM) :: IGRBEAM
65 TYPE (GROUP_) , DIMENSION(NGRSPRI) :: IGRSPRING
66 TYPE (GROUP_) , DIMENSION(NGRPART) :: IGRPART
67 TYPE(submodel_data) LSUBMODEL(NSUBMOD)
68C-----------------------------------------------
69C L o c a l V a r i a b l e s
70C-----------------------------------------------
71 INTEGER IBRIC,IQUAD,ISHEL,ISH3N,ITRUS,IBEAM,ISPRI,IPRT,IFLAG
72 SAVE IBRIC,IQUAD,ISHEL,ISH3N,ITRUS,IBEAM,ISPRI,IPRT,IFLAG
73C-----------------------------------------------
74C LECTURE DES GROUPES DE GROUPES
75C=======================================================================
76 iflag = mod(flagg,2)
77C-----------------------------------------------
78C BRICK
79C-----------------------------------------------
80 IF (flagg == 0) ibric = 0
81 IF (ngrbric > 0) THEN
82 CALL hm_option_start('/GRBRIC')
83 CALL hm_grogro(numels ,ngrbric,igrbric,ibric, iflag ,iter ,'BRIC' ,lsubmodel)
84 ENDIF
85C-----------------------------------------------
86C QUAD
87C-----------------------------------------------
88 IF (flagg == 0) iquad = 0
89 IF (ngrquad > 0) THEN
90 CALL hm_option_start('/GRQUAD')
91 CALL hm_grogro(numelq ,ngrquad,igrquad,iquad, iflag ,iter ,'QUAD' ,lsubmodel)
92 ENDIF
93C-----------------------------------------------
94C SHELL
95C-----------------------------------------------
96 IF (flagg == 0) ishel = 0
97 IF (ngrshel > 0) THEN
98 CALL hm_option_start('/GRSHEL')
99 CALL hm_grogro(numelc ,ngrshel,igrsh4n,ishel,iflag ,iter ,'SHEL' ,lsubmodel)
100 ENDIF
101C-----------------------------------------------
102C TRUS
103C-----------------------------------------------
104 IF (flagg == 0) itrus = 0
105 IF (ngrtrus > 0) THEN
106 CALL hm_option_start('/GRTRUS')
107 CALL hm_grogro(numelt ,ngrtrus,igrtruss,itrus, iflag ,iter ,'TRUS',lsubmodel )
108 ENDIF
109C-----------------------------------------------
110C BEAM
111C-----------------------------------------------
112 IF (flagg == 0) ibeam = 0
113 IF (ngrbeam > 0) THEN
114 CALL hm_option_start('/GRBEAM')
115 CALL hm_grogro(numelp ,ngrbeam,igrbeam,ibeam,iflag ,iter ,'BEAM' ,lsubmodel)
116 ENDIF
117C-----------------------------------------------
118C SPRI GROUP
119C-----------------------------------------------
120 IF (flagg == 0) ispri = 0
121 IF (ngrspri > 0) THEN
122 CALL hm_option_start('/GRSPRI')
123 CALL hm_grogro(numelr ,ngrspri,igrspring,ispri,iflag ,iter ,'SPRI' ,lsubmodel)
124 ENDIF
125C-----------------------------------------------
126C SH_3N GROUP
127C-----------------------------------------------
128 IF (flagg == 0) ish3n = 0
129 IF (ngrsh3n > 0 .AND. n2d==0)THEN
130 CALL hm_option_start('/GRSH3N')
131 CALL hm_grogro(numeltg ,ngrsh3n,igrsh3n,ish3n, iflag ,iter ,'SH3N' ,lsubmodel)
132 ENDIF
133C-----------------------------------------------
134C TRIA GROUP
135C-----------------------------------------------
136 IF (flagg == 0) ish3n = 0
137 IF (ngrsh3n > 0 .AND. n2d/=0)THEN
138 CALL hm_option_start('/GRTRIA')
139 CALL hm_grogro(numeltg,ngrsh3n,igrsh3n,ish3n,iflag,iter,'TRIA' ,lsubmodel)
140 ENDIF
141C-----------------------------------------------
142C PART GROUP
143C-----------------------------------------------
144 IF (flagg == 0) iprt = 0
145 IF (ngrpart > 0)THEN
146 CALL hm_option_start('/GRPART')
147 CALL hm_grogro(npart ,ngrpart,igrpart,iprt,iflag ,iter ,'PART' ,lsubmodel)
148 ENDIF
149C-----------
150 icount = ibric+iquad+ishel+ish3n+itrus+ibeam+ispri+iprt
151C-----------
152 RETURN
153 END
subroutine hm_grogro(numen, ngreln, igrelem, icount, flag, iter, elkey, lsubmodel)
Definition hm_grogro.F:38
subroutine hm_option_start(entity_type)
subroutine lecggroup(flagg, icount, iter, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart, lsubmodel)
Definition lecggroup.F:39
program starter
Definition starter.F:39