31 2 IGTYP ,MLW ,JDIR ,SIG ,ELBUF_STR,
32 3 RX ,RY ,RZ ,SX ,SY ,
33 4 SZ ,E1X ,E2X , E3X ,E1Y ,
34 5 E2Y ,E3Y ,E1Z , E2Z ,E3Z ,
43#include "implicit_f.inc"
51 INTEGER NEL, ILAY,I , NS1,ITY, IORTH, IGTYP,MLW ,JDIR
54 . RX(MVSIZ), RY(MVSIZ), RZ(MVSIZ),
55 . SX(), SY(MVSIZ), SZ(MVSIZ),
56 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
57 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
58 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
61 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
68 . v1,v2,v3,vr,vs,aa,bb,suma,
69 . r1,s1,s2,r2,rs1,rs2,r12a,r22a,s12b,s22b,
70 . rs3,r3r3,s3s3,t1,t2,t3,s3,s4,s5,
71 . l11,l12,l13,l22,l23,l33,
72 . r11,r12,r13,r21,r22,r23,r31,r32,r33,
73 . s11,s12,s21,s13,s31,s22,s23,s32,s33
75 .
DIMENSION(:) ,
POINTER :: dir1
82 ilaw = elbuf_str%BUFLY(ilay)%ILAW
106 r3r3= one+s1*r2+r1*s2
108 s3s3= one-s1*r2-r1*s2
113 sig(1) = r12a*t1 + r22a*t2 - rs3*t3
114 sig(2) = s12b*t1 + s22b*t2 + rs3*t3
115 sig(3) = rs1*t1 + rs2*t2 + (r3r3 - s3s3)*t3
117 ELSEIF ((igtyp == 51 .OR. igtyp == 52) .AND. ilaw == 58)
THEN
131 r3r3= one+s1*r2+r1*s2
133 s3s3= one-s1*r2-r1*s2
139 sig(1) = r12a*t1 + r22a*t2 - rs3*t3
140 sig(2) = s12b*t1 + s22b*t2 + rs3*t3
141 sig(3) = rs1*t1 + rs2*t2 + (r3r3 - s3s3)*t3
143 IF (ilaw /= 1 .and. ilaw /= 2 .and. ilaw /= 19 .and. ilaw /= 27 .and. ilaw /= 32)
THEN
146 dir(2) = dir_a(ii+nel)
147 s1 = dir(1)*dir(1)*sig(1)
148 . + dir(2)*dir(2)*sig(2)
149 . -two*dir(1)*dir(2)*sig(3)
150 s2 = dir(2)*dir(2)*sig(1)
151 . + dir(1)*dir(1)*sig(2)
152 . +two*dir(2)*dir(1)*sig(3)
153 s3 = dir(1)*dir(2)*sig(1)
154 . - dir(2)*dir(1)*sig(2)
155 . +(dir(1)*dir(1)-dir(2)*dir(2))*sig(3)
156 s4 = dir(2)*sig(5)+dir(1)*sig(4)
157 s5 = dir(1)*sig(5)-dir(2)*sig(4)
194 s11 =l11*r11+l12*r12+l13*r13
195 s12 =l11*r21+l12*r22+l13*r23
196 s13 =l11*r31+l12*r32+l13*r33
197 s21 =l12*r11+l22*r12+l23*r13
198 s22 =l12*r21+l22*r22+l23*r23
199 s23 =l12*r31+l22*r32+l23*r33
204 sig(1) =r11*s11+r12*s21+r13*s31
205 sig(2) =r21*s12+r22*s22+r23*s32
206 sig(3) =r31*s13+r32*s23+r33*s33
207 sig(4) =r11*s12+r12*s22+r13*s32
208 sig(5) =r21*s13+r22*s23+r23*s33
209 sig(6) =r11*s13+r12*s23+r13*s33
224 2 IXC ,IXTG ,NFT ,X ,OFFG ,
225 3 RX ,RY ,RZ ,SX ,SY ,
226 4 SZ ,E1X ,E2X ,E3X ,E1Y ,
227 5 E2Y ,E3Y ,E1Z ,E2Z ,E3Z )
235#include "implicit_f.inc"
239#include "mvsiz_p.inc"
240#include "com01_c.inc"
244 INTEGER NEL, ITY, NFT ,JFT, JLT , IHBE, IGTYP ,
245 . IXC(NIXC,*), IXTG(NIXTG,*)
246 my_real X(3,*), OFFG(*)
248 . E1X(MVSIZ), E1Y(MVSIZ), E1Z(MVSIZ),
249 . E2X(MVSIZ), E2Y(MVSIZ), E2Z(MVSIZ),
250 . E3X(MVSIZ), E3Y(MVSIZ), E3Z(MVSIZ),
251 . RX(MVSIZ), RY(MVSIZ), RZ(MVSIZ),
252 . SX(), SY(MVSIZ), SZ(MVSIZ)
256 INTEGER I , K, I1,I2,I3,I4,IREL
269 IF (ihbe>10.OR.igtyp==16.OR.ishfram ==0)
THEN
271 ELSEIF (ishfram ==1)
THEN
283 rx(i)=x(1,i2)+x(1,i3)-x(1,i1)-x(1,i4)
284 sx(i)=x(1,i3)+x(1,i4)-x(1,i1)-x(1,i2)
285 ry(i)=x(2,i2)+x(2,i3)-x(2,i1)-x(2,i4)
286 sy(i)=x(2,i3)+x(2,i4)-x(2,i1)-x(2,i2)
287 rz(i)=x(3,i2)+x(3,i3)-x(3,i1)-x(3,i4)
288 sz(i)=x(3,i3)+x(3,i4)-x(3,i1)-x(3,i2)
296 . e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z,suma,offg )
316 rx(i)=x(1,i2)-x(1,i1)
317 ry(i)=x(2,i2)-x(2,i1)
318 rz(i)=x(3,i2)-x(3,i1)
319 sx(i)=x(1,i3)-x(1,i1)
320 sy(i)=x(2,i3)-x(2,i1)
321 sz(i)=x(3,i3)-x(3,i1)
329 . e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z,suma,offg )
subroutine clskew3(jft, jlt, irep, rx, ry, rz, sx, sy, sz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, det)
subroutine shell_local_frame(jft, jlt, ity, ihbe, igtyp, ixc, ixtg, nft, x, offg, rx, ry, rz, sx, sy, sz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
subroutine shell_rota(i, ilay, nel, iorth, ity, igtyp, mlw, jdir, sig, elbuf_str, rx, ry, rz, sx, sy, sz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, dir_a, dir_b)