35 1 KXX ,IPARG ,GEO ,EADD,
36 2 ND ,DD_IAD ,IDX ,LB_MAX, INUM,
37 3 INDEX ,CEP ,IPARTX ,ITR1, IGRSURF,
60#include "implicit_f.inc"
68#include "vect01_c.inc"
73 INTEGER KXX(5,*),IPARG(NPARG,*),EADD(*),
74 . ND, DD_IAD(NSPMD+1,*),IDX,IGEO(NPROPGI,*),
75 . LB_MAX, INUM(6,*), INDEX(*),CEP(*),
79 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
83 INTEGER NGR1, NG, ISSN, MTNN, I, NE1, N, NFIX,
84 . PID, NEL_PREC, LB_L, P, NEL, IGTYP,NB,
85 . MODE, WORK(70000),NN,NGROU, J,MID,IETYP,
86 . MT,IXX(*),NUVAR,NUVARN,NXVIE,NXVIN,INND,II,,
87 . ngp(nspmd+1),ipartr2r
89 INTEGER,
DIMENSION(:),
ALLOCATABLE :: MINDEXX2
90 DATA NXVIE/3/, NXVIN/0/
97 CALL zeroin(1,nd*(nspmd+1),dd_iad(1,nspgroup+1))
102 dd_iad(p,nspgroup+n) = 0
107 nel = eadd(n+1)-eadd(n)
111 inum(1,i)=ipartx(nft+i)
112 inum(2,i)=kxx(1,nft+i)
113 inum(3,i)=kxx(2,nft+i)
114 inum(4,i)=kxx(3,nft+i)
115 inum(5,i)=kxx(4,nft+i)
116 inum(6,i)=kxx(5,nft+i)
120 CALL my_orders( mode, work, cep(nft+1), index, nel , 1)
122 ipartx(i+nft)=inum(1,index(i))
123 kxx(1,i+nft)=inum(2,index(i))
124 kxx(2,i+nft)=inum(3,index(i))
125 kxx(3,i+nft)=inum(4,index(i))
126 kxx(4,i+nft)=inum(5,index(i))
127 kxx(5,i+nft)=inum(6,index(i))
128 itr1(nft+index(i)) = nft+i
131 p = cep(nft+index(1))
134 IF (cep(nft+index(i))/=p)
THEN
135 dd_iad(p+1,nspgroup+n) = nb
137 p = cep(nft+index(i))
142 dd_iad(p+1,nspgroup+n) = nb
144 dd_iad(p,nspgroup+n) = dd_iad(p,nspgroup+n)
145 . + dd_iad(p-1,nspgroup+n)
148 dd_iad(p,nspgroup+n) = dd_iad(p-1,nspgroup+n)+1
150 dd_iad(1,nspgroup+n) = 1
155 index(i) = cep(nft+index(i))
158 cep(nft+i) = index(i)
168 IF(igrsurf(i)%ELTYP(j) == 100)
169 . igrsurf(i)%ELEM(j) = itr1(igrsurf(i)%ELEM(j))
181 nel = dd_iad(p+1,nspgroup+n)-dd_iad(p,nspgroup+n)
183 nel_prec = dd_iad(p,nspgroup+n)-dd_iad(1,nspgroup+n)
185 ng = (nel-1)/nvsiz + 1
191 IF (nsubdom>0) ipartr2r = 1
195 igtyp=nint(geo(12,pid))
196 IF(igtyp<28.OR.igtyp>31)
THEN
199 . anmode=aninfo_blind_1,
208 geo(8,pid)=ietyp + em01
209 IF(geo(5,pid)/=zero)issn=1
212 CALL zeroin(1,nparg,iparg(1,ngroup))
214 ne1 =
min( nvsiz, nel + nel_prec - nft)
215 nuvar =nint( geo(25,pid))
216 nuvarn=nint( geo(35,pid))
218 iparg(1,ngroup) = mtnn
219 iparg(2,ngroup) = ne1
220 iparg(3,ngroup) = ii-1
221 iparg(4,ngroup) = lbufel+1
223 iparg(5,ngroup) = ietyp
224 iparg(9,ngroup) = issn
226 IF (nsubdom>0) iparg(77,ngroup)= ipartr2r
229 iparg(32,ngroup)= p-1
240 ngp(nspmd+1)=ngp(nspmd+1)+ngp(p)
241 dd_iad(p,nspgroup+n)=ngp(p)
243 dd_iad(nspmd+1,nspgroup+n)=ngp(nspmd+1)
247 nspgroup = nspgroup + nd
250 WRITE(iout,1001)(n,iparg(1,n),iparg(2,n),iparg(3,n)+1,
251 + iparg(4,n),iparg(5,n),
253 WRITE(iout,1002) lbufel
255 1000
FORMAT(10x,
' 3D - MULTI-PURPOSE ELEMENT GROUPS '/
256 + 10x,
' ----------------------------------'/
257 +
' GROUP ELEMENT ELEMENT FIRST BUFFER ELEMENT '/
258 +
' MATERIAL NUMBER ELEMENT ADDRESS TYPE '/)
259 1001
FORMAT(6(1x,i7,1x))
260 1002
FORMAT(
' BUFFER LENGTH : ',i10 )
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)