39
40
41
44 USE format_mod , ONLY : fmw_4i
45
46
47
48
49
50
51
52#include "implicit_f.inc"
53
54
55
56#include "units_c.inc"
57#include "com01_c.inc"
58#include "com04_c.inc"
59#include "scr03_c.inc"
60
61
62
63 INTEGER NRT, IR,MSN
64 INTEGER,INTENT(IN) :: S_MSV,SIRECT
65 INTEGER IRECT(4,SIRECT/4), ITAB(NUMNOD), MSV(S_MSV),SURF_NODES(NRT,4)
66 INTEGER ID
67 CHARACTER(LEN=NCHARTITLE) :: TITR
68 INTEGER, DIMENSION(2*NUMNOD+1), INTENT(INOUT) :: NTAG
69 LOGICAL, INTENT(INOUT) :: TYPE18
70
71
72
73 INTEGER I, N23, IT, J, NSGOLD,ITG,K,L,IR1,K4
74 INTEGER OLDIRECT,OLDIRECT1
75
76
77
78 INTEGER USR2SYS
79
80 i=1
81 l=1
82 DO j=1,nrt
83 DO k=1,4
84 irect(k,j)=surf_nodes(j,k)
85 l=l+1
86 ENDDO
87 l=l+2
88 ENDDO
89
90 DO i=1,nrt
91 IF(irect(4,i)==0) irect(4,i)=irect(3,i)
92 IF(irect(1,i)==irect(4,i)) THEN
93 oldirect=irect(4,i)
94 irect(4,i)=irect(3,i)
95 CALL ancmsg(msgid=106,msgtype=msgwarning,anmode=aninfo_blind_2,
97 . c1=titr,
98 . i2=irect(1,i),
99 . i3=irect(2,i),
100 . i4=irect(3,i),
101 . i5=oldirect,
102 . i6=irect(1,i),
103 . i7=irect(2,i),
104 . i8=irect(3,i),
105 . i9=irect(4,i))
106 ELSEIF(irect(2,i)==irect(3,i)) THEN
107 oldirect=irect(3,i)
108 irect(3,i)=irect(4,i)
109 CALL ancmsg(msgid=106,msgtype=msgwarning,anmode=aninfo_blind_2,
111 . c1=titr,
112 . i2=irect(1,i),
113 . i3=irect(2,i),
114 . i4=oldirect,
115 . i5=irect(4,i),
116 . i6=irect(1,i),
117 . i7=irect(2,i),
118 . i8=irect(3,i),
119 . i9=irect(4,i))
120 ELSEIF(irect(1,i)==irect(2,i)) THEN
121 oldirect=irect(2,i)
122 oldirect1=irect(3,i)
123 irect(2,i)=irect(3,i)
124 irect(3,i)=irect(4,i)
125 CALL ancmsg(msgid=106,msgtype=msgwarning,anmode=aninfo_blind_2,
127 . c1=titr,
128 . i2=irect(1,i),
129 . i3=oldirect,
130 . i4=oldirect1,
131 . i5=irect(4,i),
132 . i6=irect(1,i),
133 . i7=irect(2,i),
134 . i8=irect(3,i),
135 . i9=irect(4,i))
136 ENDIF
137 ENDDO
138
139 IF(ir/=0 .AND. ir/=2)THEN
140 DO j=1,nrt
141 ir1=irect(1,j)
142 irect(1,j)=irect(2,j)
143 irect(2,j)=ir1
144 ir1=irect(3,j)
145 irect(3,j)=irect(4,j)
146 irect(4,j)=ir1
147 ENDDO
148 ENDIF
149 n23=4
150
151 IF(ipri>=1 .AND. .NOT.type18) THEN
152 WRITE(iout,'(/,A,/)')' SEGMENTS USED FOR SURFACE DEFINITION'
153 k=1
154 k4=4
155 IF(n2d/=0)k4=2
156 DO i=1,nrt
157 WRITE(iout,fmt=fmw_4i)(itab(irect(k,i)),k=1,k4)
158 ENDDO
159 ENDIF
160 IF (nrt/=0)
CALL count3(irect,msv,msn,nrt,ntag)
161
162 RETURN
subroutine count3(irect, mnn, n, nrt, ntag)
integer, parameter nchartitle
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)