33 use element_mod , only : nixc
34
35
36
37
38
39
40
41
42
43
44
45#include "implicit_f.inc"
46#include "mvsiz_p.inc"
47
48
49
50 INTEGER JFT,JLT,NPT,NPLAT,IPLAT(*),NG,IXC(NIXC,*)
52
53 . ff0(mvsiz,5,npt),cdet(*),vol(*),
54 . bm(mvsiz,36),bc(mvsiz,40),
55 . thkly(mvsiz,*),vf(mvsiz,12,npt),th12(*),
56 . tc(mvsiz,2,2),sig_iply(mvsiz,3,npt),
57 .
area(mvsiz),vni(4,4),
58 . vfi(mvsiz,12,npt)
59
60
61
62 INTEGER EP,I,J,JSUP,JINF,IPLY,NPLAT0
64 . c1,c2,bc1,bc3,bc5,bcx,bcy,fl1,fl2,fl3,
65 . ff(mvsiz,5,npt)
66
67
68
69 nplat0 = nplat
70 DO j=1,npt
71#include "vectorize.inc"
72 DO i=jft,nplat0
73 ep=iplat(i)
74 ff(ep,1,j)=ff0(ep,1,j)
75 ff(ep,2,j)=ff0(ep,2,j)
76 ff(ep,3,j)=ff0(ep,3,j)
77 ff(ep,5,j)=ff0(ep,4,j)
78 ff(ep,4,j)=ff0(ep,5,j)
79
80
81
82 c2=thkly(ep,j)*cdet(ep)
83 c1=th12(ep)*cdet(ep)
84 bc1=bc(ep,1)*ff(ep,4,j)
85 bc3=bc(ep,3)*ff(ep,4,j)
86 bc5=bc(ep,5)*ff(ep,4,j)
87
88 vf(ep,1,j) = vf(ep,1,j) + c2*(bm(ep,1)*ff(ep,1,j))
89 vf(ep,2,j) = vf(ep,2,j) + c2*(bm(ep,5)*ff(ep,2,j))
90 vf(ep,3,j) = vf(ep,3,j) + c2*(bc1+bc(ep,2)*ff(ep,5,j))
91
92
93
94
95
96 vf(ep,7,j) = vf(ep,7,j) + c2*(bm(ep,3)*ff(ep,1,j))
97 vf(ep,8,j) = vf(ep,8,j) + c2*(bm(ep,7)*ff(ep,2,j))
98
99
100
101
102 vf(ep,9,j) = vf(ep,9,j) + c2*(bc(ep,13)*ff(ep,4,j)
103 . + bc(ep,14)*ff(ep,5,j))
104
105 vf(ep,4,j) = vf(ep,4,j) + c2*(bm(ep,2)*ff(ep,1,j))
106 vf(ep,5,j) = vf(ep,5,j) + c2*(bm(ep,6)*ff(ep,2,j))
107 vf(ep,6,j) = vf(ep,6,j) + c2*(bc(ep,7)*ff(ep,4,j)
108 . + bc(ep,8)*ff(ep,5,j))
109
110
111
112
113 vf(ep,10,j) =-vf(ep,7,j)
114 vf(ep,11,j) =-vf(ep,8,j)
115 vf(ep,12,j) =-vf(ep,9,j)
116 ENDDO
117#include "vectorize.inc"
118 DO i=nplat0+1,jlt
119 ep=iplat(i)
120
121 ff(ep,1,j)=ff0(ep,1,j)
122 ff(ep,2,j)=ff0(ep,2,j)
123 ff(ep,3,j)=ff0(ep,3,j)
124 ff(ep,5,j)=ff0(ep,4,j)
125 ff(ep,4,j)=ff0(ep,5,j)
126
127
128 c2=thkly(ep,j)*cdet(ep)
129 c1=th12(ep)*cdet(ep)
130 bcx=tc(ep,1,1)*ff(ep,4,j)+tc(ep,1,2)*ff(ep,5,j)
131 bcy=tc(ep,2,1)*ff(ep,4,j)+tc(ep,2,2)*ff(ep,5,j)
132
133 vf(ep,1,j) = vf(ep,1,j) + c2*(bm(ep,1)*ff(ep,1,j)+
134 1 bm(ep,2)*ff(ep,2,j)+
135 3 bc(ep,1)*bcx+
136 4 bc(ep,2)*bcy )
137
138
139
140
141 vf(ep,2,j) = vf(ep,2,j )+ c2*(bm(ep,4)*ff(ep,1,j)+
142 2 bm(ep,5)*ff(ep,2,j)+
143 4 bc(ep,3)*bcx+
144 5 bc(ep,4)*bcy )
145
146
147
148
149
150 vf(ep,3,j)=vf(ep,3,j)+ c2*(bm(ep,7)*ff(ep,1,j)+
151 2 bm(ep,8)*ff(ep,2,j)+
152 4 bc(ep,5)*bcx+
153 5 bc(ep,6)*bcy )
154
155
156
157
158 vf(ep,4,j) = vf(ep,4,j)+c2*(bm(ep,10)*ff(ep,1,j)+
159 2 bm(ep,11)*ff(ep,2,j)+
160 4 bc(ep,11)*bcx+
161 5 bc(ep,12)*bcy )
162
163
164
165
166
167 vf(ep,5,j)=vf(ep,5,j)+c2*(bm(ep,13)*ff(ep,1,j)+
168 2 bm(ep,14)*ff(ep,2,j)+
169 4 bc(ep,13)*bcx+
170 5 bc(ep,14)*bcy )
171
172
173
174
175 vf(ep,6,j)=vf(ep,6,j)+c2*(bm(ep,16)*ff(ep,1,j)+
176 2 bm(ep,17)*ff(ep,2,j)+
177 4 bc(ep,15)*bcx+
178 5 bc(ep,16)*bcy )
179
180
181
182
183 vf(ep,7,j)=vf(ep,7,j)+c2*(bm(ep,19)*ff(ep,1,j)+
184 2 bm(ep,20)*ff(ep,2,j)+
185 4 bc(ep,21)*bcx+
186 5 bc(ep,22)*bcy )
187
188
189
190
191 vf(ep,8,j)=vf(ep,8,j)+c2*(bm(ep,22)*ff(ep,1,j)+
192 2 bm(ep,23)*ff(ep,2,j)+
193 4 bc(ep,23)*bcx+
194 5 bc(ep,24)*bcy )
195
196
197
198
199 vf(ep,9,j)=vf(ep,9,j)+c2*(bm(ep,25)*ff(ep,1,j)+
200 2 bm(ep,26)*ff(ep,2,j)+
201 4 bc(ep,25)*bcx+
202 5 bc(ep,26)*bcy )
203
204
205
206
207 vf(ep,10,j)=vf(ep,10,j)+c2*(bm(ep,28)*ff(ep,1,j)+
208 2 bm(ep,29)*ff(ep,2,j)+
209 4 bc(ep,31)*bcx+
210 5 bc(ep,32)*bcy )
211
212
213
214
215 vf(ep,11,j)=vf(ep,11,j)+c2*(bm(ep,31)*ff(ep,1,j)+
216 2 bm(ep,32)*ff(ep,2,j)+
217 4 bc(ep,33)*bcx+
218 5 bc(ep,34)*bcy )
219
220
221
222
223 vf(ep,12,j)=vf(ep,12,j)+c2*(bm(ep,34)*ff(ep,1,j)+
224 2 bm(ep,35)*ff(ep,2,j)+
225 4 bc(ep,35)*bcx+
226 5 bc(ep,36)*bcy )
227
228
229
230
231 ENDDO
232 ENDDO
233
234
235 DO iply = 1 , npt - 1
236 jinf = iply
237 jsup = iply + 1
238 DO ep=jft,jlt
239
240 fl1 = cdet(ep)*sig_iply(ep,2,iply)
241 fl2 = cdet(ep)*sig_iply(ep,1,iply)
242 fl3 = cdet(ep)*sig_iply(ep,3,iply)
243
244 vfi(ep,1,jsup) = vfi(ep,1,jsup) + fl1*vni(1,ng)
245 vfi(ep,2,jsup) = vfi(ep,2,jsup) + fl2*vni(1,ng)
246 vfi(ep,3,jsup) = vfi(ep,3,jsup) + fl3*vni(1,ng)
247
248 vfi(ep,4,jsup) = vfi(ep,4,jsup) + fl1*vni(2,ng)
249 vfi(ep,5,jsup) = vfi(ep,5,jsup) + fl2*vni(2,ng)
250 vfi(ep,6,jsup) = vfi(ep,6,jsup) + fl3*vni(2,ng)
251
252 vfi(ep,7,jsup) = vfi(ep,7,jsup) + fl1*vni(3,ng)
253 vfi(ep,8,jsup) = vfi(ep,8,jsup) + fl2*vni(3,ng)
254 vfi(ep,9,jsup) = vfi(ep,9,jsup) + fl3*vni(3,ng)
255
256 vfi(ep,10,jsup) = vfi(ep,10,jsup) + fl1*vni(4,ng)
257 vfi(ep,11,jsup) = vfi(ep,11,jsup) + fl2*vni(4,ng)
258 vfi(ep,12,jsup) = vfi(ep,12,jsup) + fl3*vni(4,ng)
259
260
261 vfi(ep,1,jinf) = vfi(ep,1,jinf) - fl1*vni(1,ng)
262 vfi(ep,2,jinf) = vfi(ep,2,jinf) - fl2*vni(1,ng)
263 vfi(ep,3,jinf) = vfi(ep,3,jinf) - fl3*vni(1,ng)
264
265 vfi(ep,4,jinf) = vfi(ep,4,jinf) - fl1*vni(2,ng)
266 vfi(ep,5,jinf) = vfi(ep,5,jinf) - fl2*vni(2,ng)
267 vfi(ep,6,jinf) = vfi(ep,6,jinf) - fl3*vni(2,ng)
268
269 vfi(ep,7,jinf) = vfi(ep,7,jinf) - fl1*vni(3,ng)
270 vfi(ep,8,jinf) = vfi(ep,8,jinf) - fl2*vni(3,ng)
271 vfi(ep,9,jinf) = vfi(ep,9,jinf) - fl3*vni(3,ng)
272
273 vfi(ep,10,jinf) = vfi(ep,10,jinf) - fl1*vni(4,ng)
274 vfi(ep,11,jinf) = vfi(ep,11,jinf) - fl2*vni(4,ng)
275 vfi(ep,12,jinf) = vfi(ep,12,jinf) - fl3*vni(4,ng)
276 ENDDO
277 ENDDO
278 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)