5 &(ifabor,nelem,nelmax,nelmax2,ielm,ikle,nbor,nptfr,
6 & gloseg,maxseg,eltseg,oriseg,nseg,nelbor,nulone,knolg,
69 INTEGER,
INTENT(IN) :: NELMAX,NELMAX2,NPTFR,NSEG,MAXSEG,IELM
70 INTEGER,
INTENT(IN) :: NELEM,NELEBX,NELEB
71 INTEGER,
INTENT(IN) :: NBOR(nptfr)
72 INTEGER,
INTENT(IN) :: IFABOR(nelmax2,*),IKLE(nelmax,*)
73 INTEGER,
INTENT(IN) :: NELBOR(*),NULONE(*)
74 INTEGER,
INTENT(IN) :: IKLBOR(nelebx,2)
75 INTEGER,
INTENT(INOUT) :: GLOSEG(maxseg,2)
76 INTEGER,
INTENT(INOUT) :: ELTSEG(nelmax,*),ORISEG(nelmax,3)
77 INTEGER,
INTENT(IN) :: KNOLG(*)
83 INTEGER NEL,IFA,I1,I2,J1,J2,IFACE,JFACE,IG1,IG2
84 INTEGER IELEM,IELEM1,IELEM2
87 parameter( next = (/ 2,3,1 /) )
91 IF(ielm.NE.11.AND.ielm.NE.12.AND.ielm.NE.13.AND.ielm.NE.14)
THEN 93 501
FORMAT(1x,
'STOSEG (BIEF) : UNEXPECTED ELEMENT: ',1i6)
114 gloseg(ieleb,1) = nbor(iklbor(ieleb,1))
115 gloseg(ieleb,2) = nbor(iklbor(ieleb,2))
118 eltseg(nel,ifa) = ieleb
130 DO ielem1 = 1 , nelem
132 IF(eltseg(ielem1,iface).EQ.0)
THEN 136 i1 = ikle(ielem1, iface)
137 i2 = ikle(ielem1,next(iface))
139 WRITE(
lu,*)
'STOSEG: EDGE MADE OF ONLY ONE POINT' 140 WRITE(
lu,*)
' ELEMENT ',ielem1,
' FACE ',iface
144 eltseg(ielem1,iface) = nse
156 oriseg(ielem1,iface) = 1
160 oriseg(ielem1,iface) = 2
163 ielem2 = ifabor(ielem1,iface)
168 j1 = ikle(ielem2, jface)
169 j2 = ikle(ielem2,next(jface))
171 IF(i1.EQ.j2.AND.i2.EQ.j1)
THEN 172 eltseg(ielem2,jface) = nse
173 oriseg(ielem2,jface) = 3-oriseg(ielem1,iface)
176 ELSEIF(i1.EQ.j1.AND.i2.EQ.j2)
THEN 178 WRITE(
lu,*)
'STOSEG: WRONG MESH' 179 WRITE(
lu,*)
' FACE ',jface
180 WRITE(
lu,*)
' OF ELEMENT ',ielem2
181 WRITE(
lu,*)
' IS NOT WELL ORIENTED' 182 WRITE(
lu,*)
' (POINTS ',i1,
' AND ',i2,
')' 188 WRITE(
lu,*)
'STOSEG: WRONG MESH' 189 WRITE(
lu,*)
' ELEMENTS ',ielem1,
' AND ',ielem2
190 WRITE(
lu,*)
' LINKED BY POINTS ',i1,
' AND ',i2
191 WRITE(
lu,*)
' BUT THESE POINTS ARE NOT AN EDGE' 192 WRITE(
lu,*)
' OF ELEMENT ',ielem2
206 WRITE(
lu,503) nse,nseg
207 503
FORMAT(1x,
'STOSEG (BIEF): WRONG NUMBER OF SEGMENTS : ',1i6,
208 &
' INSTEAD OF ',1i6,
' EXPECTED')
subroutine stoseg(IFABOR, NELEM, NELMAX, NELMAX2, IELM, IKLE, NBOR, NPTFR, GLOSEG, MAXSEG, ELTSEG, ORISEG, NSEG, NELBOR, NULONE, KNOLG, IKLBOR, NELEBX, NELEB)