32 1 IXR ,GEO ,INUM ,ISEL ,IGEO ,
33 2 ITR1 ,EADD ,INDEX ,ITRI ,
34 3 IPARTR ,ND ,IGRSURF,IGRSPRING,
35 4 CEP ,XEP ,IRESOFF,TAGPRT_SMS, CLUSTERS,
36 5 IPM ,R_SKEW ,ITAGPRLD_SPRING)
60#include
"implicit_f.inc"
64#include "vect01_c.inc"
71 INTEGER IXR(NIXR,*),ISEL(*),INUM(9,*),IPARTR(*),
72 . EADD(*),ITR1(*),INDEX(*),ITRI(5,*),
73 . ND, CEP(*), XEP(*),IRESOFF(*),R_SKEW(*),
74 . TAGPRT_SMS(*), IGEO(NPROPGI,*),IPM(NPROPMI,*)
75 my_real :: GEO(NPROPG,*)
76 INTEGER ,
INTENT(INOUT),
DIMENSION(NUMELR) ::ITAGPRLD_SPRING
78 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
79 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
80 TYPE (CLUSTER_) ,
DIMENSION(NCLUSTER) :: CLUSTERS
85 . i,j,k,l, ng, issn, npn, nn, n, mid, pid ,igtyp,
86 . ii,jj,ii2,jj2,ii3,jj3,ii4,jj4,ii5,jj5,
88 . mskmtn,mskisn,mskpid, mode, work(70000)
90 INTEGER MY_SHIFTL,MY_SHIFTR,MY_AND
91 INTEGER :: CLUSTER_TYP,CLUSTER_NEL
92 INTEGER,
DIMENSION(:),
ALLOCATABLE :: SAVE_CLUSTER
95 DATA mskmtn /o
'07770000000'/
96 DATA mskisn /o
'00000000700'/
97 DATA mskpid /o
'07777777777'/
128 mtn = nint(geo(8,pid))
130 IF(geo(5,pid)/=zero) issn=1
137 iprld = itagprld_spring(ii)
138 IF (iprld>0) iflag_gtyp = 1+iprld
143 IF(tagprt_sms(ipartr(ii))/=0)jsms=1
150 issn=my_shiftl(issn,6)
151 mtn=my_shiftl(mtn,21)
153 itri(1,i)=jsms + issn + mtn
165 CALL my_orders( mode, work, itri, index, numelr , 5)
168 ipartr(i) =inum(1,index(i))
169 iresoff(i)=inum(8,index(i))
170 r_skew(i)=inum(9,index(i))
179 ixr(k,i)=inum(k+1,index(i))
194 IF(igrsurf(i)%ELTYP(j) == 6)
195 . igrsurf(i)%ELEM(j) = itr1(igrsurf(i)%ELEM(j))
202 nn=igrspring(i)%NENTITY
204 igrspring(i)%ENTITY(j) = itr1(igrspring(i)%ENTITY(j))
211 cluster_typ = clusters(i)%TYPE
212 IF(cluster_typ==2.OR.cluster_typ==3)
THEN
213 cluster_nel = clusters(i)%NEL
214 ALLOCATE( save_cluster( cluster_nel ) )
215 save_cluster( 1:cluster_nel ) = clusters(i)%ELEM( 1:cluster_nel )
217 clusters(i)%ELEM(j) = itr1( save_cluster( j ) )
219 DEALLOCATE( save_cluster )
234 inum(8,1:numelr)=itagprld_spring(1:numelr)
236 itagprld_spring(i) =inum(8,index(i))
244 jj=itri(1,index(i-1))
247 jj2=itri(2,index(i-1))
250 jj3=itri(3,index(i-1))
253 jj4=itri(4,index(i-1))
256 jj5=itri(5,index(i-1))
258 mtn = nint(geo(8,ii2))
259 IF (ii /=jj .OR. ii2/=jj2 .OR. ii3/=jj3 .OR.
260 . ii4/=jj4 .OR. ii5/=jj5)
THEN
265 eadd(nd+1) = numelr+1
subroutine rgrhead(ixr, geo, inum, isel, igeo, itr1, eadd, index, itri, ipartr, nd, igrsurf, igrspring, cep, xep, iresoff, tagprt_sms, clusters, ipm, r_skew, itagprld_spring)
subroutine lectur(multi_fvm, lsubmodel, is_dyna, detonators, ebcs_tab, seatbelt_converted_elements, nb_seatbelt_shells, nb_dyna_include, user_windows, output, mat_elem, names_and_titles, defaults, glob_therm, pblast, sensor_user_struct)