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)
43 use element_mod ,
only : nixr
61#include "implicit_f.inc"
65#include "vect01_c.inc"
72 INTEGER IXR(NIXR,*),ISEL(*),INUM(9,*),IPARTR(*),
73 . EADD(*),ITR1(*),INDEX(*),ITRI(5,*),
74 . ND, CEP(*), XEP(*),IRESOFF(*),R_SKEW(*),
75 . TAGPRT_SMS(*), (NPROPGI,*),IPM(NPROPMI,*)
76 my_real :: GEO(NPROPG,*)
77 INTEGER ,
INTENT(INOUT),
DIMENSION(NUMELR) ::ITAGPRLD_SPRING
79 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
80 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
81 TYPE (CLUSTER_) ,
DIMENSION(NCLUSTER) :: CLUSTERS
86 . i,j,k, issn, nn, mid, pid ,igtyp,
87 . ii,jj,ii2,jj2,ii3,jj3,ii4,jj4,ii5,jj5,
89 . mskmtn,mskisn,mskpid, mode, work(70000)
91 INTEGER MY_SHIFTL,MY_SHIFTR,MY_AND
92 INTEGER :: CLUSTER_TYP,CLUSTER_NEL
93 INTEGER,
DIMENSION(:),
ALLOCATABLE :: SAVE_CLUSTER
96 DATA mskmtn /o
'07770000000'/
97 DATA mskisn /o
'00000000700'/
98 DATA mskpid /o
'07777777777'/
129 mtn = nint(geo(8,pid))
131 IF(geo(5,pid)/=zero) issn=1
138 iprld = itagprld_spring(ii)
139 IF (iprld>0) iflag_gtyp = 1+iprld
144 IF(tagprt_sms(ipartr(ii))/=0)jsms=1
151 issn=my_shiftl(issn,6)
152 mtn=my_shiftl(mtn,21)
154 itri(1,i)=jsms + issn + mtn
166 CALL my_orders( mode, work, itri, index, numelr , 5)
169 ipartr(i) =inum(1,index(i))
170 iresoff(i)=inum(8,index(i))
171 r_skew(i)=inum(9,index(i))
180 ixr(k,i)=inum(k+1,index(i))
195 IF(igrsurf(i)%ELTYP(j) == 6)
196 . igrsurf(i)%ELEM(j) = itr1(igrsurf(i)%ELEM(j))
203 nn=igrspring(i)%NENTITY
205 igrspring(i)%ENTITY(j) = itr1(igrspring(i)%ENTITY(j))
212 cluster_typ = clusters(i)%TYPE
213 IF(cluster_typ==2.OR.cluster_typ==3)
THEN
214 cluster_nel = clusters(i)%NEL
215 ALLOCATE( save_cluster( cluster_nel ) )
216 save_cluster( 1:cluster_nel ) = clusters(i)%ELEM( 1:cluster_nel )
218 clusters(i)%ELEM(j) = itr1( save_cluster( j ) )
220 DEALLOCATE( save_cluster )
235 inum(8,1:numelr)=itagprld_spring(1:numelr)
237 itagprld_spring(i) =inum(8,index(i))
245 jj=itri(1,index(i-1))
248 jj2=itri(2,index(i-1))
251 jj3=itri(3,index(i-1))
254 jj4=itri(4,index(i-1))
257 jj5=itri(5,index(i-1))
259 mtn = nint(geo(8,ii2))
260 IF (ii /=jj .OR. ii2/=jj2 .OR. ii3/=jj3 .OR.
261 . ii4/=jj4 .OR. ii5/=jj5)
THEN
266 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)