38 use element_mod , only : nixc,nixtg
39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "com04_c.inc"
47#include "units_c.inc"
48
49
50
51 INTEGER IXC(NIXC,*), IXTG(NIXTG,*)
52 INTEGER IBUF(*), ELEM(3,*), ELTG(*)
53 INTEGER NEL, ILVOUT
54 INTEGER MINUS_SIGN_REVERSE(NEL)
55
56
57
58 INTEGER I, J, K, I1, I2, I3
59 INTEGER N1, N2, N3, N4, IEL, IREVERSE
60 CHARACTER*6 TITL
61
62
63
64 IF (ilvout >= 2) WRITE(iout,1000)
65 DO i=1,nel
66 i1=elem(1,i)
67 i2=elem(2,i)
68 i3=elem(3,i)
69 i1=ibuf(i1)
70 i2=ibuf(i2)
71 i3=ibuf(i3)
72 iel=eltg(i)
73 ireverse=0
74 IF (iel<=numelc) THEN
75 n1 =ixc(2,iel)
76 n2 =ixc(3,iel)
77 n3 =ixc(4,iel)
78 n4 =ixc(5,iel)
79 k =ixc(nixc,iel)
80 titl='SHELL:'
81 IF(i1==n1) THEN
82 IF(i2==n3) THEN
83 IF(i3==n2) ireverse=1
84 ELSEIF(i2==n4) THEN
85 ireverse=1
86 ENDIF
87 ELSEIF(i1==n2) THEN
88 IF(i2==n4) THEN
89 IF(i3==n3) ireverse=1
90 ELSEIF(i2==n1) THEN
91 ireverse=1
92 ENDIF
93 ELSEIF(i1==n3) THEN
94 IF(i2==n1) THEN
95 IF(i3==n4) ireverse=1
96 ELSEIF(i2==n2) THEN
97 ireverse=1
98 ENDIF
99 ELSEIF(i1==n4) THEN
100 IF(i2==n2) THEN
101 IF(i3==n1) ireverse=1
102 ELSEIF(i2==n3) THEN
103 ireverse=1
104 ENDIF
105 ENDIF
106 ELSEIF (iel>numelc) THEN
107 j=iel-numelc
108 n1 =ixtg(2,j)
109 n2 =ixtg(3,j)
110 n3 =ixtg(4,j)
111 k =ixtg(nixtg,j)
112 titl='SH3N: '
113 IF(i1==n1.AND.i2==n3) ireverse=1
114 IF(i1==n2.AND.i2==n1) ireverse=1
115 IF(i1==n3.AND.i2==n2) ireverse=1
116 ENDIF
117
118 IF(ireverse==1 .AND. minus_sign_reverse(i)==0) THEN
119 i2=elem(2,i)
120 i3=elem(3,i)
121 elem(2,i)=i3
122 elem(3,i)=i2
123 IF(ilvout >= 2) THEN
124 WRITE(iout,1100) i,titl,k
125 ENDIF
126 ENDIF
127
128 ENDDO
129
130 1000 FORMAT(/5x,'FVMBAG INTERNAL SURFACE ELEMENTS RENUMBERED'
131 . /5x,'---------------------------------------------')
132 1100 FORMAT( 5x,'TRIANGLE',i8,5x,a,i8)
133 RETURN