38 1 JFT ,JLT ,NFT ,NPT ,ISTRAIN,
39 2 THK ,EINT ,GSTR ,HH ,PLAS ,
40 3 FOR ,MOM ,SIGSH ,NLAY ,G_HOURG,
41 4 NUMEL ,IX ,NIX ,NSIGSH,NUMSH ,
42 5 PTSH ,IGEO ,THKE ,NEL ,E1X ,
43 6 E2X ,E3X ,E1Y ,E2Y ,E3Y ,
44 7 E1Z ,E2Z ,E3Z ,ISIGSH,DIR_A ,
45 9 DIR_B ,POSLY ,IGTYP )
59#include
"implicit_f.inc"
73 INTEGER JFT,,NUMEL,NIX,NFT,NLAY,NPT,ISTRAIN,NSIGSH,NUMSH,
74 . G_HOURG,NEL,ISIGSH,IGTYP
75 INTEGER IX(NIX,*),PTSH(*),IGEO(NPROPGI,*)
77 . THK(*),EINT(NEL,2),GSTR(NEL,8),FOR(NEL,5),MOM(NEL,3),
78 . HH(NEL,5),PLAS(*),SIGSH(NSIGSH,*),THKE(*),
79 . E1X(MVSIZ),E2X(MVSIZ),E3X(MVSIZ),
80 . E1Y(MVSIZ),E2Y(MVSIZ),E3Y(MVSIZ),
81 . e1z(mvsiz),e2z(mvsiz),e3z(mvsiz),dir_a(*),dir_b(*),
83 TYPE(elbuf_struct_),
TARGET :: ELBUF_STR
87 INTEGER I, II, J, JJ, KK(5),N, NPTI, I1, PID, IPID, L_PLA,PT,
88 . ILAY,IPT_ALL,IPT,PTN,JDIR,ILAW,NPTT,IT
90 . TXX,TYY,TZZ,TXY,TYZ,TZX,,UYY,UZZ,UXY,UYZ,UZX,A,B,C,
91 . e1(6),e2(6),z1,z2,z0,aa,s6(6),posi(mvsiz,npt),
92 . forj(5),momj(3),tj,unpt,npgi,f2m
93 CHARACTER(LEN=NCHARTITLE)::TITR1
94 TYPE(L_BUFEL_) ,
POINTER :: LBUF
95 TYPE(buf_lay_) ,
POINTER :: BUFLY
97 bufly => elbuf_str%BUFLY(1)
98 l_pla = elbuf_str%GBUF%G_PLA
105 IF(abs(isigi) /= 3.AND.abs(isigi) /= 4.AND.abs(isigi) /= 5)
THEN
107 IF(ii == 0 )
GOTO 100
108 n = nint(sigsh(1,ii))
109 IF(n == ix(nix,i+nft))
THEN
115 n = nint(sigsh(1,ii))
117 IF (n == ix(nix,jj))
GOTO 60
128 IF(sigsh(nvshell - 1 ,ii) == zero ) cycle
130 npgi=nint(sigsh(nvshell,ii))
131 npti=nint(sigsh(2,ii))
132 IF(sigsh(3,ii) /= zero)
THEN
136 eint(i,1)=sigsh(4,ii)
137 eint(i,2)=sigsh(5,ii)
138 IF (g_hourg > 0)
THEN
139 hh(i,1)= sigsh(14,ii)
140 hh(i,2)= sigsh(15,ii)
141 hh(i,3)= sigsh(16,ii)
144 IF(npt /= npti .AND. npt/=0.OR.npgi>1)
THEN
147 CALL fretitl2(titr1,igeo(npropgi-ltitr+1,ipid),ltitr)
148 IF(npti == 0 .AND. ithkshel /= 2)
THEN
156 ELSEIF(isigsh /= 0)
THEN
165 IF (istrain /= 0.AND.ithkshel==2)
THEN
166 IF(sigsh(17,ii) == one)
THEN
170 e1(1:6) = sigsh(pt:pt+5,ii)
173 7 e1x(i) ,e2x(i),e3x(i),e1y(i),e2y(i),e3y(i),
174 8 e1z(i) ,e2z(i),e3z(i),e1 )
177 e1(1:6) = sigsh(pt:pt+5,ii)
179 e2(1:6) = sigsh(pt+7:pt+12,ii)
183 7 e1x(i) ,e2x(i),e3x(i),e1y(i),e2y(i),e3y(i),
184 8 e1z(i) ,e2z(i),e3z(i),e1 )
186 7 e1x(i) ,e2x(i),e3x(i),e1y(i),e2y(i),e3y(i),
187 8 e1z(i) ,e2z(i),e3z(i),e2 )
195 ELSEIF (z1==zero)
THEN
198 gstr(i,6:8)=(e2(1:3)-e1(1:3))/z0
199 ELSEIF (z2==zero)
THEN
202 gstr(i,6:8)=(e1(1:3)-e2(1:3))/z0
205 gstr(i,6:8)=(e2(1:3)-e1(1:3))/z0
206 gstr(i,1:3)=e1(1:3)-aa*z1*gstr(i,6:8)
207 gstr(i,4:5)= half*(e2(4:5) + e1(4:5))
211 gstr(i,1)=sigsh(6,ii)
212 gstr(i,2)=sigsh(7,ii)
213 gstr(i,3)=sigsh(8,ii)
214 gstr(i,4)=sigsh(9,ii)
215 gstr(i,5)=sigsh(10,ii)
216 gstr(i,6)=sigsh(11,ii)
217 gstr(i,7)=sigsh(12,ii)
218 gstr(i,8)=sigsh(13,ii)
223 IF(sigsh(17,ii) == one)
THEN
230 s6(1:2)=sigsh(pt:pt+1,ii)
231 s6(3)=sigsh(inishvar+it,ii)
232 s6(4:6)=sigsh(pt+2:pt+4,ii)
233 tj=six*sigsh(inishvar+npti+it,ii)
235 7 e1x(i) ,e2x(i),e3x(i),e1y(i),e2y(i),e3y(i),
236 8 e1z(i) ,e2z(i),e3z(i),s6 )
237 forj(1:5) = forj(1:5) + unpt*s6(1:5)
243 sigsh(22:26,ii)=forj(1:5)
244 sigsh(28:30,ii)=f2m*(momj(1:3)-forj(1:3))
253 a = e1x(i)*txx + e1y(i)*txy + e1z(i)*tzx
254 b = e1x(i)*txy + e1y(i)*tyy + e1z(i)*tyz
255 c = e1x(i)*tzx + e1y(i)*tyz + e1z(i)*tzz
256 uxx = a*e1x(i) + b*e1y(i) + c*e1z(i)
257 uxy = a*e2x(i) + b*e2y(i) + c*e2z(i)
258 uzx = a*e3x(i) + b*e3y(i) + c*e3z(i)
259 a = e2x(i)*txx + e2y(i)*txy + e2z(i)*tzx
260 b = e2x(i)*txy + e2y(i)*tyy + e2z(i)*tyz
261 c = e2x(i)*tzx + e2y(i)*tyz + e2z(i)*tzz
262 uyy = a*e2x(i) + b*e2y(i) + c*e2z(i)
263 uyz = a*e3x(i) + b*e3y(i) + c*e3z(i)
278 a = e1x(i)*txx + e1y(i)*txy + e1z(i)*tzx
279 b = e1x(i)*txy + e1y(i)*tyy + e1z(i)*tyz
280 c = e1x(i)*tzx + e1y(i)*tyz + e1z(i)*tzz
281 uxx = a*e1x(i) + b*e1y(i) + c*e1z(i)
282 uxy = a*e2x(i) + b*e2y(i) + c*e2z(i)
283 a = e2x(i)*txx + e2y(i)*txy + e2z(i)*tzx
284 b = e2x(i)*txy + e2y(i)*tyy + e2z(i)*tyz
285 c = e2x(i)*tzx + e2y(i)*tyz + e2z(i)*tzz
286 uyy = a*e2x(i) + b*e2y
293 for(i,1)=sigsh(22,ii)
294 for(i,2)=sigsh(23,ii)
295 for(i,3)=sigsh(24,ii)
296 for(i,4)=sigsh(25,ii)
297 for(i,5)=sigsh(26,ii)
298 IF (l_pla > 0) plas(i) =sigsh(27,ii)
299 mom(i,1)=sigsh(28,ii)
300 mom(i,2)=sigsh(29,ii)
301 mom(i,3)=sigsh(30,ii)
302 ELSEIF(npti == 0)
THEN
303 IF(sigsh(17,ii) == one)
THEN
311 a = e1x(i)*txx + e1y(i)*txy + e1z(i)*tzx
312 b = e1x(i)*txy + e1y(i)*tyy + e1z(i)*tyz
313 c = e1x(i)*tzx + e1y(i)*tyz + e1z(i)*tzz
314 uxx = a*e1x(i) + b*e1y(i) + c*e1z(i)
315 uxy = a*e2x(i) + b*e2y(i) + c*e2z(i)
316 uzx = a*e3x(i) + b*e3y(i) + c*e3z(i)
317 a = e2x(i)*txx + e2y(i)*txy + e2z(i)*tzx
318 b = e2x(i)*txy + e2y(i)*tyy + e2z(i)*tyz
319 c = e2x(i)*tzx + e2y(i)*tyz + e2z(i)*tzz
320 uyy = a*e2x(i) + b*e2y(i) + c*e2z(i)
321 uyz = a*e3x(i) + b*e3y(i) + c*e3z(i)
331 lbuf => elbuf_str%BUFLY(j)%LBUF(1,1,1)
332 l_pla = elbuf_str%BUFLY(j)%L_PLA
334 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,j)
335 l_pla = elbuf_str%BUFLY(1)%L_PLA
337 lbuf%SIG(kk(1)+i)=sigsh(22,ii)
338 lbuf%SIG(kk(2)+i)=sigsh(23,ii)
339 lbuf%SIG(kk(3)+i)=sigsh(24,ii)
340 lbuf%SIG(kk(4)+i)=sigsh(25,ii)
341 lbuf%SIG(kk(5)+i)=sigsh(26,ii)
342 IF (l_pla > 0) lbuf%PLA(i) = sigsh(27,ii)
345 IF(sigsh(17,ii) == one)
THEN
349 nptt = elbuf_str%BUFLY(ilay)%NPTT
350 ilaw = elbuf_str%BUFLY(ilay)%ILAW
351 jdir = 1 + (ilay-1)*nel*2
355 s6(1:2)=sigsh(pt:pt+1,ii)
358 s6(4:6)=sigsh(pt+2:pt+4,ii)
360 7 e1x(i) ,e2x(i),e3x(i),e1y(i),e2y(i
361 8 e1z(i) ,e2z(i),e3z(i),s6 )
362 CALL loc2orth(s6,dir_a,dir_b,jj,ilaw,igtyp,nel)
363 sigsh(pt:pt+4,ii) = s6(1:5)
364 posi(i,ipt)=sigsh(ptn+npt,ii)
367 ipt_all = ipt_all + nptt
373 nptt = elbuf_str%BUFLY(ilay)%NPTT
374 l_pla = elbuf_str%BUFLY(ilay)%L_PLA
376 lbuf => elbuf_str%BUFLY(ilay)%LBUF(1,1,it)
377 lbuf%SIG(kk(1)+i)=sigsh(pt,ii)
378 lbuf%SIG(kk(2)+i)=sigsh(pt+1,ii)
380 lbuf%SIG(kk(4)+i)=sigsh(pt+3,ii)
381 lbuf%SIG(kk(5)+i)=sigsh(pt+4,ii)
382 IF (l_pla > 0) lbuf%PLA(i) = sigsh(pt+5,ii)
390 . anmode=aninfo_blind_2,