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
51 use element_mod , only : nixs, nixq, nixc, nixt, nixp, nixr, nixtg
52C-----------------------------------------------
53C I m p l i c i t T y p e s
54C-----------------------------------------------
55#include "implicit_f.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "scr17_c.inc"
60#include "com01_c.inc"
61#include "com04_c.inc"
62#include "param_c.inc"
63C-----------------------------------------------
64C D u m m y A r g u m e n t s
65C-----------------------------------------------
66 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
67 INTEGER ITAB(*),ITABM1(*),
68 . ISUBMOD(*),IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*),
69 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),IXTG(NIXTG,*),
70 . IXS10(6,*),IXS16(8,*),IXS20(12,*),IPART(LIPART1,*),
71 . IPARTQ(*),IPARTC(*),IPARTT(*),IPARTP(*),IPARTR(*),
72 . IPARTG(*), SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*),
73 . ISKN(LISKN,*),IPARTS(*),
74 . IXS_S(*), IXS_S_IND(*), IXQ_S(*), IXQ_S_IND(*),
75 . IXC_S(*), IXC_S_IND(*), IXT_S(*), IXT_S_IND(*),
76 . IXP_S(*), IXP_S_IND(*), IXR_S(*), IXR_S_IND(*),
77 . IXTG_S(*), IXTG_S_IND(*)
78 INTEGER FLAGG,IADBOXMAX
80 . x(3,*),skew(lskew,*),rtrans(*)
81 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
82!
83C-----------------------------------------------
84 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
85 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
86 TYPE (GROUP_) , DIMENSION(NGRQUAD) :: IGRQUAD
87 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
88 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
89 TYPE (GROUP_) , DIMENSION(NGRTRUS) :: IGRTRUSS
90 TYPE (GROUP_) , DIMENSION(NGRBEAM) :: IGRBEAM
91 TYPE (GROUP_) , DIMENSION(NGRSPRI) :: IGRSPRING
92 TYPE (BOX_) , DIMENSION(NBBOX) :: IBOX
93C-----------------------------------------------
94C L o c a l V a r i a b l e s
95C-----------------------------------------------
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 READING ELEMENT GROUPS
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