47
48
49
50#include "implicit_f.inc"
51
52
53
54#include "mvsiz_p.inc"
55
56
57
58#include "scr18_c.inc"
59
60
61
62 INTEGER, INTENT(IN) :: ISMSTR
63 INTEGER NEL
64
66 . x(3,*),
67 . xx(mvsiz,10), yy(mvsiz,10), zz(mvsiz,10),
68 . offg(*), off(*)
69 DOUBLE PRECISION
70 . SAV(NEL,30)
72 . k11(9,*) ,k12(9,*) ,k13(9,*) ,k14(9,*) ,k15(9,*) ,
73 . k16(9,*) ,k17(9,*) ,k18(9,*) ,k19(9,*) ,k10(9,*) ,
74 . k22(9,*) ,k23(9,*) ,k24(9,*) ,k25(9,*) ,k26(9,*) ,
75 . k27(9,*) ,k28(9,*) ,k29(9,*) ,k20(9,*) ,k33(9,*) ,
76 . k34(9,*) ,k35(9,*) ,k36(9,*) ,k37(9,*) ,k38(9,*) ,
77 . k39(9,*) ,k30(9,*) ,k44(9,*) ,k45(9,*) ,k46(
78 . k47(9,*) ,k48(9,*) ,k49(9,*) ,k40(9,*) ,k55(9,*) ,
79 . k56(9,*) ,k57(9,*) ,k58(9,*) ,k59(9,*) ,k50(9,*) ,
80 . k66(9,*) ,k67(9,*) ,k68(9,*) ,k69(9,*) ,k60(9,*) ,
81 . k77(9,*) ,k78(9,*) ,k79(9,*) ,k70(9,*) ,k88(9,*) ,
82 . k89(9,*) ,k80(9,*) ,k99(9,*) ,k90(9
83 INTEGER NC(MVSIZ,10),MXT(*), NGL(*),NGEO(*)
84 INTEGER IXS(NIXS,*), IXS10(6,*)
85
86
87
88 INTEGER I, (10),IPERM2(10),N,N1,N2,NN,IUN,J,MXT_1
89
90 DATA iperm1/0,0,0,0,1,2,3,1,2,3/
91 DATA iperm2/0,0,0,0,2,3,1,4,4,4/
92
93 iun=1
94
95 mxt_1 = ixs(1,1)
96 DO i=1,nel
97 ngeo(i)=ixs(10,i)
98 ngl(i)=ixs(11,i)
99 mxt(i)=mxt_1
100 nc(i,1)=ixs(2,i)
101 nc(i,2)=ixs(4,i)
102 nc(i,3)=ixs(7,i)
103 nc(i,4)=ixs(6,i)
104 nc(i,5) =ixs10(1,i)
105 nc(i,6) =ixs10(2,i)
106 nc(i,7) =ixs10(3,i)
107 nc(i,8) =ixs10(4,i)
108 nc(i,9) =ixs10(5,i)
109 nc(i,10)=ixs10(6,i)
110 ENDDO
111
112
113
114 DO n=1,10
115 DO i=1,nel
116 nn =
max(iun,nc(i,n))
117 xx(i,n)=x(1,nn)
118 yy(i,n)=x(2,nn)
119 zz(i,n)=x(3,nn)
120 off(i) =
min(one,abs(offg(i)))
121 ENDDO
122 ENDDO
123
124 IF(ismstr==1.OR.(ismstr==2.AND.idtmin(1)==3))THEN
125 DO n=1,10
126 DO i=1,nel
127 IF(abs(offg(i))>one)THEN
128 xx(i,n)=sav(i,n)
129 yy(i,n)=sav(i,n+10)
130 zz(i,n)=sav(i,n+20)
131 off(i) = abs(offg(i))-one
132 ELSE
133 off(i) = offg(i)
134 ENDIF
135 ENDDO
136 ENDDO
137
138 ENDIF
139
140 DO n=5,10
141 n1=iperm1(n)
142 n2=iperm2(n)
143 DO i=1,nel
144 IF(nc(i,n)==0)THEN
145 xx(i,n) = half*(xx(i,n1)+xx(i,n2))
146 yy(i,n) = half*(yy(i,n1)+yy(i,n2))
147 zz(i,n) = half*(zz(i,n1)+zz(i,n2))
148 ENDIF
149 ENDDO
150 ENDDO
151
152 DO j=1,9
153 DO i=1,nel
154 k11(j,i)=zero
155 k12(j,i)=zero
156 k13(j,i)=zero
157 k14(j,i)=zero
158 k15(j,i)=zero
159 k16(j,i)=zero
160 k17(j,i)=zero
161 k18(j,i)=zero
162 k19(j,i)=zero
163 k10(j,i)=zero
164 k22(j,i)=zero
165 k23(j,i)=zero
166 k24(j,i)=zero
167 k25(j,i)=zero
168 k26(j,i)=zero
169 k27(j,i)=zero
170 k28(j,i)=zero
171 k29(j,i)=zero
172 k20(j,i)=zero
173 k33(j,i)=zero
174 k34(j,i)=zero
175 k35(j,i)=zero
176 k36(j,i)=zero
177 k37(j,i)=zero
178 k38(j,i)=zero
179 k39(j,i)=zero
180 k30(j,i)=zero
181 k44(j,i)=zero
182 k45(j,i)=zero
183 k46(j,i)=zero
184 k47(j,i)=zero
185 k48(j,i)=zero
186 k49(j,i)=zero
187 k40(j,i)=zero
188 k55(j,i)=zero
189 k56(j,i)=zero
190 k57(j,i)=zero
191 k58(j,i)=zero
192 k59(j,i)=zero
193 k50(j,i)=zero
194 k66(j,i)=zero
195 k67(j,i)=zero
196 k68(j,i)=zero
197 k69(j,i)=zero
198 k60(j,i)=zero
199 k77(j,i)=zero
200 k78(j,i)=zero
201 k79(j,i)=zero
202 k70(j,i)=zero
203 k88(j,i)=zero
204 k89(j,i)=zero
205 k80(j,i)=zero
206 k99(j,i)=zero
207 k90(j,i)=zero
208 k00(j,i)=zero
209 ENDDO
210 ENDDO
211
212 RETURN