5 &(isurc,x,y,ikle,ncolor,ifabor, nelem2,npoin2,color)
41 DOUBLE PRECISION,
INTENT(INOUT) :: X(*) , Y(*)
42 INTEGER,
INTENT(IN) :: ISURC
43 INTEGER,
INTENT(INOUT) :: NELEM2 , NPOIN2
44 INTEGER,
INTENT(INOUT) :: IKLE(
nelmax,4) , NCOLOR(*)
45 INTEGER,
INTENT(INOUT) :: IFABOR(
nelmax,*)
46 LOGICAL,
INTENT(INOUT) :: COLOR
49 INTEGER IFAC , ICOLOR , I , I1 , I2 , I3
62 x(npoin2) = (x(i1) + x(i2) + x(i3))/3.d0
63 y(npoin2) = (y(i1) + y(i2) + y(i3))/3.d0
72 IF(ifabor(isurc,ifac).GT.0) icolor = ifabor(isurc,ifac)
76 IF(ikle(icolor,i).NE.i1.AND.ikle(icolor,i).NE.i2.AND.
77 & ikle(icolor,i).NE.i3)
78 & ncolor(npoin2) = ncolor(ikle(icolor,i))
88 ikle(isurc,3) = npoin2
93 ikle(nelem2,3) = npoin2
95 kelem = ifabor(isurc,2)
96 ifabor(nelem2,1) = kelem
97 ifabor(nelem2,2) = nelem2+1
98 ifabor(nelem2,3) = isurc
100 IF (ifabor(kelem,1).EQ.isurc) ifabor(kelem,1) = nelem2
101 IF (ifabor(kelem,2).EQ.isurc) ifabor(kelem,2) = nelem2
102 IF (ifabor(kelem,3).EQ.isurc) ifabor(kelem,3) = nelem2
104 ifabor(isurc,2) = nelem2
109 ikle(nelem2,3) = npoin2
111 kelem = ifabor(isurc,3)
112 ifabor(nelem2,1) = ifabor(isurc,3)
113 ifabor(nelem2,2) = isurc
114 ifabor(nelem2,3) = nelem2-1
116 IF (ifabor(kelem,1).EQ.isurc) ifabor(kelem,1) = nelem2
117 IF (ifabor(kelem,2).EQ.isurc) ifabor(kelem,2) = nelem2
118 IF (ifabor(kelem,3).EQ.isurc) ifabor(kelem,3) = nelem2
120 ifabor(isurc,3) = nelem2
subroutine decoup(ISURC, X, Y, IKLE, NCOLOR, IFABOR, NELEM2, NPOIN2, COLOR)