OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lecgroup.F File Reference
#include "implicit_f.inc"
#include "scr17_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine lecgroup (itab, itabm1, isubmod, x, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ipart, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartg, flagg, sh4tree, sh3tree, skew, iskn, unitab, ibox, ixs10, ixs16, ixs20, rtrans, lsubmodel, ixs_s, ixs_s_ind, ixq_s, ixq_s_ind, ixc_s, ixc_s_ind, ixt_s, ixt_s_ind, ixp_s, ixp_s_ind, ixr_s, ixr_s_ind, ixtg_s, ixtg_s_ind, iadboxmax, subset, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring)

Function/Subroutine Documentation

◆ lecgroup()

subroutine lecgroup ( integer, dimension(*) itab,
integer, dimension(*) itabm1,
integer, dimension(*) isubmod,
x,
integer, dimension(nixs,*) ixs,
integer, dimension(nixq,*) ixq,
integer, dimension(nixc,*) ixc,
integer, dimension(nixt,*) ixt,
integer, dimension(nixp,*) ixp,
integer, dimension(nixr,*) ixr,
integer, dimension(nixtg,*) ixtg,
integer, dimension(lipart1,*) ipart,
integer, dimension(*) iparts,
integer, dimension(*) ipartq,
integer, dimension(*) ipartc,
integer, dimension(*) ipartt,
integer, dimension(*) ipartp,
integer, dimension(*) ipartr,
integer, dimension(*) ipartg,
integer flagg,
integer, dimension(ksh4tree,*) sh4tree,
integer, dimension(ksh3tree,*) sh3tree,
skew,
integer, dimension(liskn,*) iskn,
type (unit_type_), intent(in) unitab,
type (box_), dimension(nbbox) ibox,
integer, dimension(6,*) ixs10,
integer, dimension(8,*) ixs16,
integer, dimension(12,*) ixs20,
rtrans,
type(submodel_data), dimension(*) lsubmodel,
integer, dimension(*) ixs_s,
integer, dimension(*) ixs_s_ind,
integer, dimension(*) ixq_s,
integer, dimension(*) ixq_s_ind,
integer, dimension(*) ixc_s,
integer, dimension(*) ixc_s_ind,
integer, dimension(*) ixt_s,
integer, dimension(*) ixt_s_ind,
integer, dimension(*) ixp_s,
integer, dimension(*) ixp_s_ind,
integer, dimension(*) ixr_s,
integer, dimension(*) ixr_s_ind,
integer, dimension(*) ixtg_s,
integer, dimension(*) ixtg_s_ind,
integer iadboxmax,
type (subset_), dimension(nsubs) subset,
type (group_), dimension(ngrbric) igrbric,
type (group_), dimension(ngrquad) igrquad,
type (group_), dimension(ngrshel) igrsh4n,
type (group_), dimension(ngrsh3n) igrsh3n,
type (group_), dimension(ngrtrus) igrtruss,
type (group_), dimension(ngrbeam) igrbeam,
type (group_), dimension(ngrspri) igrspring )

Definition at line 32 of file lecgroup.F.

44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE unitab_mod
48 USE submodel_mod
49 USE groupdef_mod
51C-----------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "scr17_c.inc"
59#include "com01_c.inc"
60#include "com04_c.inc"
61#include "param_c.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
66 INTEGER ITAB(*),ITABM1(*),
67 . ISUBMOD(*),IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*),
68 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),IXTG(NIXTG,*),
69 . IXS10(6,*),IXS16(8,*),IXS20(12,*),IPART(LIPART1,*),
70 . IPARTQ(*),IPARTC(*),IPARTT(*),IPARTP(*),IPARTR(*),
71 . IPARTG(*), SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*),
72 . ISKN(LISKN,*),IPARTS(*),
73 . IXS_S(*), IXS_S_IND(*), IXQ_S(*), IXQ_S_IND(*),
74 . IXC_S(*), IXC_S_IND(*), IXT_S(*), IXT_S_IND(*),
75 . IXP_S(*), IXP_S_IND(*), IXR_S(*), IXR_S_IND(*),
76 . IXTG_S(*), IXTG_S_IND(*)
77 INTEGER FLAGG,IADBOXMAX
79 . x(3,*),skew(lskew,*),rtrans(*)
80 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
81!
82C-----------------------------------------------
83 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
84 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
85 TYPE (group_) , DIMENSION(NGRQUAD) :: igrquad
86 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
87 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
88 TYPE (GROUP_) , DIMENSION(NGRTRUS) :: IGRTRUSS
89 TYPE (GROUP_) , DIMENSION(NGRBEAM) :: IGRBEAM
90 TYPE (GROUP_) , DIMENSION(NGRSPRI) :: IGRSPRING
91 TYPE (BOX_) , DIMENSION(NBBOX) :: IBOX
92C-----------------------------------------------
93C L o c a l V a r i a b l e s
94C-----------------------------------------------
95 INTEGER KK,K
96 INTEGER ADMBID
97 DATA admbid/0/
98C-----------------------------------------------
99C IGRELEM(IGS)%ID : GROUP identifier
100C IGRELEM(IGS)%TITLE : GROUP title
101C IGRELEM(IGS)%NENTITY : Entities (elements) number of the GROUP
102C IGRELEM(IGS)%GRTYPE : TYPE ( 0-NOEUDS, 1-BRIC, 2-QUAD, 3-SHELL_4N,
103! 4-TRUSS, 5-BEAM, 6-SPRINGS,7-SHELL_3N)
104!! GRTYPE --- > OBSOLETE
105C IGRELEM(IGS)%SORTED : FLAG for sorted/unsorted elements
106! = 0 -> sorted
107! = 1 -> unsorted
108C IGRELEM(IGS)%GRPGRP : TYPE of element GROUP
109! = 1 ELEM
110! = 2 GRELEM
111! = 3 SUBSET,PART,MAT,PROP
112! = 4 BOX,GENE
113! = 5 SUBMOD
114C IGRELEM(IGS)%LEVEL : Hierarchy level
115! (FLAG 'SUBLEVEL DONE' FOR GROUPS OF GROUPS)
116! = 0 ---> not yet initialized
117! = 1 ---> done
118C-----------------------------------------------
119C LECTURE DES GROUPES D'ELEMENTS
120C=======================================================================
121C-----------------------------------------------
122C BRICK
123C-----------------------------------------------
124 IF (ngrbric > 0)THEN
125 CALL hm_lecgre(
126 1 igrbric,ixs ,
127 2 8 ,nixs ,numels,ngrbric, 1,
128 3 ipart ,iparts ,x ,'BRIC',
129 4 isubmod ,flagg ,admbid,admbid,admbid,
130 5 admbid ,admbid,skew ,iskn ,unitab,
131 6 itabm1 ,ibox ,rtrans ,lsubmodel,
132 7 ixs_s ,ixs_s_ind,iadboxmax,subset,'/GRBRIC')
133 ENDIF
134C-----------------------------------------------
135C QUAD
136C-----------------------------------------------
137 IF (ngrquad > 0)THEN
138 CALL hm_lecgre(
139 1 igrquad,ixq ,
140 2 4 ,nixq ,numelq,ngrquad, 2,
141 3 ipart ,ipartq ,x ,'QUAD',
142 4 isubmod ,flagg ,admbid,admbid,admbid,
143 5 admbid ,admbid,skew ,iskn ,unitab,
144 6 itabm1 ,ibox ,rtrans ,lsubmodel,
145 7 ixq_s ,ixq_s_ind,iadboxmax,subset,'/GRQUAD')
146 ENDIF
147C-----------------------------------------------
148C SHELL
149C-----------------------------------------------
150 IF (ngrshel > 0)THEN
151 CALL hm_lecgre(
152 1 igrsh4n,ixc ,
153 2 4 ,nixc ,numelc,ngrshel, 3,
154 3 ipart ,ipartc ,x ,'SHEL',
155 4 isubmod,flagg ,ksh4tree,sh4tree,2 ,
156 5 4 ,3 ,skew ,iskn ,unitab,
157 6 itabm1 ,ibox ,rtrans ,lsubmodel,
158 7 ixc_s ,ixc_s_ind,iadboxmax,subset,'/GRSHEL')
159 ENDIF
160C-----------------------------------------------
161C TRUS
162C-----------------------------------------------
163 IF (ngrtrus > 0)THEN
164 CALL hm_lecgre(
165 1 igrtruss,ixt ,
166 2 2 ,nixt ,numelt,ngrtrus, 4,
167 3 ipart ,ipartt ,x ,'TRUS',
168 4 isubmod ,flagg ,admbid,admbid,admbid,
169 5 admbid ,admbid,skew ,iskn ,unitab,
170 6 itabm1 ,ibox ,rtrans ,lsubmodel,
171 7 ixt_s ,ixt_s_ind,iadboxmax,subset,'/GRTRUS')
172 ENDIF
173C-----------------------------------------------
174C BEAM
175C-----------------------------------------------
176 IF (ngrbeam > 0)THEN
177 CALL hm_lecgre(
178 1 igrbeam,ixp ,
179 2 2 ,nixp ,numelp,ngrbeam, 5,
180 3 ipart ,ipartp ,x ,'BEAM',
181 4 isubmod ,flagg ,admbid,admbid,admbid,
182 5 admbid ,admbid,skew ,iskn ,unitab,
183 6 itabm1 ,ibox ,rtrans ,lsubmodel,
184 7 ixp_s ,ixp_s_ind,iadboxmax,subset,'/GRBEAM')
185 ENDIF
186C-----------------------------------------------
187C SPRI GROUP
188C-----------------------------------------------
189 IF (ngrspri > 0)THEN
190 CALL hm_lecgre(
191 1 igrspring,ixr ,
192 2 2 ,nixr ,numelr,ngrspri, 6,
193 3 ipart ,ipartr ,x ,'SPRI',
194 4 isubmod ,flagg ,admbid,admbid,admbid,
195 5 admbid ,admbid,skew ,iskn ,unitab,
196 6 itabm1 ,ibox ,rtrans ,lsubmodel,
197 7 ixr_s ,ixr_s_ind,iadboxmax,subset,'/GRSPRI')
198 ENDIF
199C-----------------------------------------------
200C SH_3N GROUP
201C-----------------------------------------------
202 IF (ngrsh3n > 0 .AND. n2d==0)THEN
203 CALL hm_lecgre(
204 1 igrsh3n ,ixtg ,
205 2 3 ,nixtg ,numeltg ,ngrsh3n ,7 ,
206 3 ipart ,ipartg ,x ,'SH3N' ,
207 4 isubmod ,flagg ,ksh3tree ,sh3tree ,2 ,
208 5 4 ,3 ,skew ,iskn ,unitab ,
209 6 itabm1 ,ibox ,rtrans ,lsubmodel ,
210 7 ixtg_s ,ixtg_s_ind,iadboxmax,subset ,'/GRSH3N')
211 ENDIF
212C-----------------------------------------------
213C TRIA GROUP
214C-----------------------------------------------
215 IF (ngrsh3n > 0 .AND. n2d/=0)THEN
216 CALL hm_lecgre(
217 1 igrsh3n ,ixtg ,
218 2 3 ,nixtg ,numeltg ,ngrsh3n ,7 ,
219 3 ipart ,ipartg ,x ,'TRIA' ,
220 4 isubmod ,flagg ,ksh3tree ,sh3tree ,2 ,
221 5 4 ,3 ,skew ,iskn ,unitab ,
222 6 itabm1 ,ibox ,rtrans ,lsubmodel ,
223 7 ixtg_s ,ixtg_s_ind,iadboxmax,subset ,'/GRTRIA')
224 ENDIF
225C-----------
226 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine hm_lecgre(igrelem, ix, nix1, nix, numel, ngrele, ielt, ipart, iparte, x, elkey, isubmod, flag, keltree, eltree, ksontree, nsontree, klevtree, skew, iskn, unitab, itabm1, ibox, rtrans, lsubmodel, ixx_s, ixx_s_ind, iadboxmax, subset, startkey)
Definition hm_lecgre.F:56