34
36 USE intbufdef_mod
37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "param_c.inc"
45
46
47
48 INTEGER NSN, NRTS, ITAB(*),
49TYPE(INTBUF_STRUCT_) INTBUF_TAB
50
51
52
53 INTEGER J, N, M, K, NISUB, NISUBS
54 INTEGER IERROR,WORK(70000)
55 INTEGER, DIMENSION(:),ALLOCATABLE :: , INDEX, LISUBS, INFLG_SUBS, ADDSUBS
56 INTEGER, DIMENSION(:,:),ALLOCATABLE :: ISAV
57
58 ALLOCATE (itri(nsn),isav(3,nsn),index(2*nsn),stat=ierror)
59 IF (ierror /= 0)
60 .
CALL ancmsg(msgid=268,anmode=aninfo,
61 . msgtype=msgerror,
62 . c1='SORTING SECONDARY NODES IN INTERFACE TYPE25')
63
64
65
66
67 DO n=1,nsn
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)
71 END DO
72
73 nisub = ipari(36)
74 nisubs =ipari(37)
75 IF(nisub > 0)THEN
76 ALLOCATE (lisubs(nisubs),inflg_subs(nisubs),addsubs(nsn+1),stat=ierror)
77 IF (ierror /= 0)
78 .
CALL ancmsg(msgid=268,anmode=aninfo,
79 . msgtype=msgerror,
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)
84 END IF
85
87
88 DO n=1,nsn
89 intbuf_tab%NSV(n) =isav(1,index(n))
90 IF(ilev==2) intbuf_tab%NBINFLG(n)=isav(2,index(n))
91 END DO
92
93 IF(nisub > 0)THEN
94 intbuf_tab%ADDSUBS(1)=1
95 DO n=1,nsn
96 m=index(n)
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(k)
102 END DO
103 END DO
104 END IF
105
106 DO n=1,nrts
107 DO j=1,4
108 m = intbuf_tab%IRECTS(4*(n-1)+j)
109 IF(m/=0) intbuf_tab%IRECTS(4*(n-1)+j)=isav(1,index(m))
110 END DO
111 END DO
112
113 DEALLOCATE (itri,isav,index)
114 IF(nisub > 0)DEALLOCATE (lisubs,inflg_subs,addsubs)
115
116 RETURN
void my_orders(int *mode, int *iwork, int *data, int *index, int *n, int *irecl)
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)