5 &(x,y,ikle,ipo,nbor,nptfr,ncolor,ifabor,color)
51 DOUBLE PRECISION,
INTENT(INOUT) :: X(*) , Y(*)
52 INTEGER,
INTENT(INOUT) :: NBOR(*) , IKLE(
nelmax,4) , NCOLOR(*)
53 INTEGER,
INTENT(INOUT) :: IFABOR(
nelmax,*) , IPO(*)
54 LOGICAL,
INTENT(INOUT) :: COLOR
55 INTEGER,
INTENT(IN) :: NPTFR
57 INTEGER NPOIN2 , NELEM2
58 INTEGER ITEST , IELEM , KELEM , ISWAP , KSWAP
60 INTEGER :: IP(3) , KP , ISUI(3)
62 parameter( isui = (/ 2 , 3 , 1 /) )
85 IF (ipo(ikle(k,1))+ipo(ikle(k,2))+ipo(ikle(k,3)).EQ.3)
THEN 90 IF (itest.GT.int(0.1*
nelmax))
THEN 96 WRITE(
lu,4070) x(ikle(k,1)),y(ikle(k,1)),
97 & x(ikle(k,2)),y(ikle(k,2)),x(ikle(k,3)),y(ikle(k,3))
99 CALL decoup (k,x,y,ikle,ncolor,ifabor,
100 & nelem2,npoin2,color)
123 ip(1) = ikle(ielem,1)
124 ip(2) = ikle(ielem,2)
125 ip(3) = ikle(ielem,3)
128 IF(ifabor(ielem,i).GT.0.AND.ipo(ip(i))+ipo(ip(j)).EQ.2)
THEN 129 kelem = ifabor(ielem,i)
135 IF (ipo(ikle(kelem,1)).EQ.0) k=1
136 IF (ipo(ikle(kelem,2)).EQ.0) k=2
137 IF (ipo(ikle(kelem,3)).EQ.0) k=3
140 IF ((x(kp)-x(ip(i)))*(y(ip(isui(j)))-y(ip(i))).GT.
141 & (y(kp)-y(ip(i)))*(x(ip(isui(j)))-x(ip(i))).AND.
142 & (x(kp)-x(ip(j)))*(y(ip(isui(j)))-y(ip(j))).LT.
143 & (y(kp)-y(ip(j)))*(x(ip(isui(j)))-x(ip(j))))
THEN 147 ikle(kelem,isui(k)) = ip(isui(j))
149 WRITE(
lu,4080) x(ip(i)),y(ip(i)),
169 4000
FORMAT(//,1x,
'**************************************************',
170 & /,1x,
'THE MAXIMUM NUMBER OF OVERSTRESSED TRIANGLES ',
171 & /,1x,
'IS',i5,
' : IT IS GREATER IN YOUR CASE ||',
172 & /,1x,
'**************************************************')
173 4050
FORMAT(//,1x,
'OVERSTRESSED ELEMENTS ARE CANCELLED',/,
174 & 1x,
'-----------------------------------',/)
175 4070
FORMAT (1x,
'ADDITIONAL NODE AT CENTRE OF TRIANGLE :',/,
176 & 1x,
'(',d9.3,
',',d9.3,
'),(',d9.3,
',',d9.3,
'),',
177 &
'(',d9.3,
',',d9.3,
')')
178 4080
FORMAT (1x,
'SWAP OF FACE :',/,
179 & 1x,
'(',d9.3,
',',d9.3,
'),(',d9.3,
',',d9.3,
')')
180 4100
FORMAT (/,1x,
'NUMBER OF CANCELLED ELEMENTS : ',i5,/,
181 & 1x,
'AFTER BEING CANCELLED :',/,
182 & 1x,
' NUMBER OF POINTS : ',i5,/,
183 & 1x,
' NUMBER OF ELEMENTS : ',i5,//,
184 & 1x,
'MOREOVER,',i4,
' TRIANGLES HAVE BEEN SWAPPED',//)
185 4200
FORMAT (1x,
' BUT',i4,
' COULD NOT BE',//)
subroutine surcon(X, Y, IKLE, IPO, NBOR, NPTFR, NCOLOR, IFABOR, COLOR)
subroutine decoup(ISURC, X, Y, IKLE, NCOLOR, IFABOR, NELEM2, NPOIN2, COLOR)