30 SUBROUTINE sort_surf(IGRSURF,IXS,IXC,IXTG,IXQ,IXP,IXR,IXT,KXX,NIXX)
38#include "implicit_f.inc"
47 INTEGER,
INTENT(IN) :: NIXX
48 INTEGER,
INTENT(IN) :: IXS(NIXS,NUMELS)
49 INTEGER,
INTENT(IN) :: IXC(,NUMELC)
50 INTEGER,
INTENT(IN) :: IXTG(NIXTG,NUMELTG)
51 INTEGER,
INTENT(IN) :: IXQ(NIXQ,NUMELQ)
52 INTEGER,
INTENT(IN) :: IXP(NIXP,NUMELP)
53 INTEGER,
INTENT(IN) :: IXR(NIXR,NUMELR)
54 INTEGER,
INTENT(IN) :: IXT(NIXT,NUMELT)
55 INTEGER,
INTENT(IN) :: KXX(NIXX,NUMELX)
56 TYPE(),
INTENT(INOUT),
DIMENSION(NSURF) :: IGRSURF
60 INTEGER I,J,,NN,ELEM,ELEM_G,N1,N2,N3,N4,ITYP,K,IADG2,IADIBUF,IT,IAD
61 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IBUFSSG_TRI,IWORK,INDEX
62 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ITRI
66 ALLOCATE (iwork(80000))
71 ALLOCATE (ibufssg_tri(nisx*nn))
73 ALLOCATE (index(3*nn))
76 ibufssg_tri(6*(i-1)+1) = igrsurf(k)%NODES(i,1)
77 ibufssg_tri(6*(i-1)+2) = igrsurf(k)%NODES(i,2)
78 ibufssg_tri(6*(i-1)+3) = igrsurf(k)%NODES(i,3)
79 ibufssg_tri(6*(i-1)+4) = igrsurf(k)%NODES(i,4)
80 ibufssg_tri(6*(i-1)+5) = igrsurf(k)%ELTYP(i)
81 ibufssg_tri(6*(i-1)+6) = igrsurf(k)%ELEM(i)
83 elem = igrsurf(k)%ELEM(i)
84 ityp = igrsurf(k)%ELTYP(i)
103 itri(2,i) = ixs(nixs,elem)
105 itri(2,i) = ixq(nixq,elem)
107 itri(2,i) = ixc(nixc,elem)
109 itri(2,i) = ixt(nixt,elem)
111 itri(2,i) = ixp(nixp,elem)
113 itri(2,i) = ixr(nixr,elem)
115 itri(2,i) = ixtg(nixtg,elem)
117 itri(2,i) = kxx(nixx,elem)
128 igrsurf(k)%NODES(i,1) = ibufssg_tri(6*(it-1)+1)
129 igrsurf(k)%NODES(i,2) = ibufssg_tri(6*(it-1)+2)
130 igrsurf(k)%NODES(i,3) = ibufssg_tri(6*(it-1)+3)
131 igrsurf(k)%NODES(i,4) = ibufssg_tri(6*(it-1)+4)
132 igrsurf(k)%ELTYP(i) = ibufssg_tri(6*(it-1)+5)
133 igrsurf(k)%ELEM(i) = ibufssg_tri(6*(it-1)+6)
136 DEALLOCATE(ibufssg_tri)
subroutine sort_surf(igrsurf, ixs, ixc, ixtg, ixq, ixp, ixr, ixt, kxx, nixx)