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