48 1 SNSTRF ,SSECBUF ,ITABM1 ,FLAG_R2R ,NOM_OPT ,
49 2 IGRBRIC ,IGRQUAD ,IGRSH4N ,IGRSH3N ,IGRTRUSS,
50 3 IGRBEAM ,IGRSPRING ,IGRNOD, LSUBMODEL , SEATBELT_SHELL_TO_SPRING,
64#include "implicit_f.inc"
74 INTEGER ,
INTENT(INOUT) :: SNSTRF,SSECBUF
75 INTEGER ,
INTENT(IN) :: ITABM1(*)
76 INTEGER NOM_OPT(LNOPT1,*)
77 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
78 INTEGER ,
INTENT(IN) :: NB_SEATBELT_SHELLS
79 INTEGER ,
INTENT(IN) :: SEATBELT_SHELL_TO_SPRING(NUMELC,2)
83 INTEGER I,KK,IBID,ISAV,IGU,IGUS,IGUQ,IGUC,IGUT,IGUP,IGUR,IGUTG,
84 . NNOD,NBINTER,NSEGQ,NSEGS,NSEGC,NSEGT,NSEGP,NSEGR,NSEGTG,NFRAM,
86 . FLAG_R2R,N1,N2,N3,POS_SEC_R2R,NSEG0,NSEG,
88 CHARACTER(LEN=NCHARTITLE)::TITR
89 CHARACTER(LEN=NCHARKEY) :: KEY2
93 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
94 TYPE () ,
DIMENSION(NGRBRIC) :: IGRBRIC
95 TYPE (GROUP_) ,
DIMENSION(NGRQUAD) :: IGRQUAD
96 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
97 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
98 TYPE (GROUP_) ,
DIMENSION(NGRTRUS) :: IGRTRUSS
99 TYPE (GROUP_) ,
DIMENSION(NGRBEAM) :: IGRBEAM
100 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
104 INTEGER GRSIZEN,USR2SYS,GRSIZE_R2R,GRSIZE_ELE,GRSIZE_ELE_TRANS
105 EXTERNAL GRSIZEN,USR2SYS,GRSIZE_R2R,GRSIZE_ELE,GRSIZE_ELE_TRANS
114 IF (flag_r2r == 1)
THEN
126 IF (flag_r2r == 0)
THEN
133 CALL hm_option_read_key(lsubmodel, option_id=id, option_titr=titr, unit_id=uid, keyword2=key2)
135 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,i),ltitr)
137 CALL hm_get_intv(
'Axis_Origin_Node_N1', n1, is_available, lsubmodel)
138 CALL hm_get_intv(
'Axis_Node_N2', n2, is_available, lsubmodel)
139 CALL hm_get_intv(
'Axis_Node_N3', n3, is_available, lsubmodel)
140 CALL hm_get_intv(
'ISAVE', isav, is_available, lsubmodel)
142 IF(key2(1:5) ==
'PARAL' .OR. key2(1:6) ==
'CIRCLE')
THEN
146 CALL hm_get_intv(
'Grnod_ID', igu, is_available, lsubmodel)
147 CALL hm_get_intv(
'System_Id', nfram, is_available, lsubmodel)
151 CALL hm_get_intv(
'grbrick_id', igus, is_available, lsubmodel)
152 CALL hm_get_intv(
'grshel_id', iguc, is_available, lsubmodel)
153 CALL hm_get_intv(
'grtrus_id', igut, is_available, lsubmodel)
154 CALL hm_get_intv(
'grbeam_id', igup, is_available, lsubmodel)
155 CALL hm_get_intv(
'grsprg_id', igur, is_available, lsubmodel)
156 CALL hm_get_intv(
'grtria_id', igutg, is_available, lsubmodel)
157 CALL hm_get_intv(
'Niter', nbinter, is_available, lsubmodel)
159 IF (flag_r2r == 1)
THEN
161 IF (n1 /= 0) n1=usr2sys(n1,itabm1,mess,id)
162 IF (n2 /= 0) n2=usr2sys(n2,itabm1,mess,id)
163 IF (n3 /= 0) n3=usr2sys(n3,itabm1,mess,id)
167 ELSEIF (flag_r2r == 2)
THEN
170 nseg = grsize_ele(igus,igrbric,ngrbric)
171 nsegc = grsize_r2r(igus,igrbric,ngrbric,9)
172 nseg0 = grsize_r2r(igus,igrbric,ngrbric,8)
174 nseg = nseg + grsize_ele(iguq,igrquad,ngrquad)
175 nsegc = nsegc + grsize_r2r(iguq,igrquad,ngrquad,9)
176 nseg0 = nseg0 + grsize_r2r(iguq,igrquad,ngrquad,8)
178 nseg = nseg + grsize_ele(iguc,igrsh4n,ngrshel)
179 nsegc = nsegc + grsize_r2r(iguc,igrsh4n,ngrshel,9)
180 nseg0 = nseg0 + grsize_r2r(iguc,igrsh4n,ngrshel,8)
182 nseg = nseg + grsize_ele(igut,igrtruss,ngrtrus)
183 nsegc = nsegc + grsize_r2r(igut,igrtruss,ngrtrus,9)
184 nseg0 = nseg0 + grsize_r2r(igut,igrtruss,ngrtrus,8)
186 nseg = nseg + grsize_ele(igup,igrbeam,ngrbeam)
187 nsegc = nsegc + grsize_r2r(igup,igrbeam,ngrbeam,9)
188 nseg0 = nseg0 + grsize_r2r(igup,igrbeam,ngrbeam,8)
190 nseg = nseg + grsize_ele(igur,igrspring,ngrspri)
191 nsegc = nsegc + grsize_r2r(igur,igrspring,ngrspri,9)
192 nseg0 = nseg0 + grsize_r2r(igur,igrspring,ngrspri,8)
194 nseg = nseg + grsize_ele(igutg,igrsh3n,ngrsh3n)
195 nsegc = nsegc + grsize_r2r(igutg,igrsh3n,ngrsh3n,9)
196 nseg0 = nseg0 + grsize_r2r(igutg,igrsh3n,ngrsh3n,8)
201 IF ((nsegc > 0).OR.((nseg/=nseg0).AND.(nseg > 0)))
THEN
204 . msgtype=msgwarning,
205 . anmode=aninfo_blind_1,
207 ELSEIF ((nseg == 0).AND.(nseg0 > 0))
THEN
214 IF (nfram == 0 .AND. istyp == 0)
THEN
215 nnod = grsizen(igu,igrnod,ngrnod)
217 nnod = 20 * grsize_ele(igus,igrbric,ngrbric)
218 nnod = nnod + 4 * grsize_ele(iguq,igrquad,ngrquad)
219 nnod = nnod + 4 * grsize_ele(iguc,igrsh4n,ngrshel)
220 nnod = nnod + 2 * grsize_ele(igut,igrtruss,ngrtrus)
221 nnod = nnod + 2 * grsize_ele(igup,igrbeam,ngrbeam)
222 nnod = nnod + 2 * grsize_ele(igur,igrspring,ngrspri)
223 nnod = nnod + 3 * grsize_ele(igutg,igrsh3n,ngrsh3n)
225 nsegs = grsize_ele(igus,igrbric,ngrbric)
226 nsegq = grsize_ele(iguq,igrquad,ngrquad)
227 nsegc = grsize_ele(iguc,igrsh4n,ngrshel)
228 nsegt = grsize_ele(igut,igrtruss,ngrtrus)
229 nsegp = grsize_ele(igup,igrbeam,ngrbeam)
230 nsegr = grsize_ele(igur,igrspring,ngrspri)
231 IF (nb_seatbelt_shells /=0)
232 . nsegr = nsegr + grsize_ele_trans(iguc,igrsh4n,ngrshel,seatbelt_shell_to_spring)
233 nsegtg = grsize_ele(igutg,igrsh3n,ngrsh3n)
235 snstrf = snstrf +30 + nbinter
237 IF(isav >= 100) ssecbuf=ssecbuf+12*nnod
238 IF(isav >= 101) ssecbuf=ssecbuf+12*nnod
239 IF(isav >= 102) ssecbuf=ssecbuf+6*nnod
243 IF (flag_r2r == 2) nsect = compt
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)