32 SUBROUTINE i25sors(NSN ,NRTS, ITAB, ILEV ,IPARI,
40#include "implicit_f.inc"
48 INTEGER NSN, NRTS, ITAB(*), , IPARI(NPARI)
49 TYPE(intbuf_struct_) INTBUF_TAB
53 INTEGER J, N, M, K, NISUB, NISUBS
54 INTEGER IERROR,WORK(70000)
55 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITRI, INDEX, LISUBS, INFLG_SUBS, ADDSUBS
56 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ISAV
58 ALLOCATE (itri(nsn),isav(3,nsn),index(2*nsn),stat=ierror)
60 .
CALL ancmsg(msgid=268,anmode=aninfo,
62 . c1=
'SORTING SECONDARY NODES IN INTERFACE TYPE25'
68 itri(n) =itab(intbuf_tab%NSV(n))
69 isav(1,n)=intbuf_tab%NSV(n)
70 IF(ilev==2) isav(2,n)=intbuf_tab%NBINFLG(n)
76 ALLOCATE (lisubs(nisubs
78 .
CALL ancmsg(msgid=268,anmode=aninfo,
80 . c1
'SORTING SECONDARY NODES IN INTERFACE TYPE25')
81 addsubs(1:nsn+1) =intbuf_tab%ADDSUBS(1:nsn+1)
82 lisubs(1:nisubs) =intbuf_tab%LISUBS(1:nisubs)
83 inflg_subs(1:nisubs)=intbuf_tab%INFLG_SUBS(1:nisubs)
89 intbuf_tab%NSV(n) =isav(1,index(n))
90 IF(ilev==2) intbuf_tab%NBINFLG(n)=isav(2,index(n))
94 intbuf_tab%ADDSUBS(1)=1
97 intbuf_tab%ADDSUBS(n+1)= intbuf_tab%ADDSUBS(n)
98 . + addsubs(m+1) - addsubs(m)
99 DO k=addsubs(m),addsubs(m+1)-1
100 intbuf_tab%LISUBS(intbuf_tab%ADDSUBS(n)+k-addsubs(m)) =lisubs(k)
101 intbuf_tab%INFLG_SUBS(intbuf_tab%ADDSUBS(n)+k-addsubs(m))=inflg_subs
108 m = intbuf_tab%IRECTS(4*(n-1)+j)
109 IF(m/=0) intbuf_tab%IRECTS(4*(n-1)+j)=isav(1,index(m))
113 DEALLOCATE (itri,isav,index)
114 IF(nisub > 0)
DEALLOCATE (lisubs,inflg_subs,addsubs)
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)