29 SUBROUTINE cstra3(JFT ,JLT ,GSTR ,SHF ,AREA ,
30 2 EXX ,EYY ,EXY ,EXZ ,EYZ ,
31 3 KXX ,KYY ,KXY ,DT1C ,EPSDOT,
32 4 FOR ,MOM ,ISMSTR ,MTN ,
33 6 IHBE ,NFT ,ISTRAIN,UX1 ,UX2 ,
34 7 UX3 ,UX4 ,UY1 ,UY2 ,UY3 ,
35 8 UY4 ,PX1 ,PX2 ,PY1 ,PY2 ,
36 9 WXY ,GSTRW,F_DEF ,NEL )
40#include "implicit_f.inc"
53 INTEGER JFT, JLT, IHBE,NFT ,ISTRAIN,ISMSTR,MTN,
58 . AREA(MVSIZ),SHF(MVSIZ),DT1C(MVSIZ),
59 . EXX(MVSIZ), EYY(MVSIZ), EXY(MVSIZ), EXZ(MVSIZ), EYZ(MVSIZ),
60 . kxx(mvsiz), kyy(mvsiz), kxy(mvsiz),
61 . epsdot(6,*),
for(nel,5),mom(nel,3)
63 . ux1(*),ux2(*),ux3(*),ux4(*),uy1(*),uy2(*),uy3(*),uy4(*),
64 . px1(*),px2(*),py1(*),py2(*),wxy(*),f_def(mvsiz,8),gstrw(*)
72 . fac1(mvsiz), fac2, q1(mvsiz), r1(mvsiz), r2(mvsiz),fc1p,
73 . ftmp1(mvsiz),ftmp2(mvsiz),ftmp5(mvsiz),mtmp1(mvsiz),
74 . mtmp2(mvsiz),ftmp4(mvsiz),mtmp3(mvsiz),ftmp3(mvsiz),
75 . gtmp1(mvsiz),gtmp2(mvsiz),gtmp3(mvsiz),gtmp4(mvsiz),
76 . gtmp5(mvsiz),gtmp6(mvsiz),gtmp7(mvsiz),gtmp8(mvsiz)
78 . ux13,ux24,uy13,uy24,exxt,eyyt,exyt
85 epsdot(1,k)=exx(i)*fac1(i)
86 epsdot(2,k)=eyy(i)*fac1(i)
87 epsdot(3,k)=exy(i)*fac1(i)
88 epsdot(4,k)=kxx(i)*fac1(i)
89 epsdot(5,k)=kyy(i)*fac1(i)
90 epsdot(6,k)=kxy(i)*fac1(i)
95 fac1(i) =dt1c(i)/area(i)
100 exz(i)=exz(i)*fac1(i)
101 kxx(i)=kxx(i)*fac1(i)
102 kyy(i)=kyy(i)*fac1(i)
103 kxy(i)=kxy(i)*fac1(i)
106 IF(ishfram==1.AND.ihbe>=2)
THEN
107#include "vectorize.inc"
118 q1(i)=-
for(i,3)*r1(i)
122 q1(i)= r1(i)*
for(i,4)
125 q1(i)=-mom(i,3)*r1(i)
126 mom(i,3)=mom(i,3)-r1(i)*(mom(i,1)-mom(i,2))
127 mom(i,1)=mom(i,1)-q1(i)
128 mom(i,2)=mom(i,2)+q1(i)
142 q1(i)=-half*gstr(i,3)*r1(i)
143 gstr(i,3)=gstr(i,3)-r2(i)*(gstr(i,1)-gstr(i,2))
144 gstr(i,1)=gstr(i,1)-q1(i)
145 gstr(i,2)=gstr(i,2)+q1(i)
146 q1(i)= r1(i)*gstr(i,4)
147 gstr(i,4)=gstr(i,4)-r1(i)*gstr(i,5)
148 gstr(i,5)=gstr(i,5)+q1(i)
149 q1(i)=-half*gstr(i,8)*r1(i)
150 gstr(i,8)=gstr(i,8)-r2(i)*(gstr(i,6)-gstr(i,7))
151 gstr(i,6)=gstr(i,6)-q1(i)
152 gstr(i,7)=gstr(i,7)+q1(i)
157 IF (istrain /= 0.OR.ismstr == 10)
THEN
160 gstr(i,1)=gstr(i,1)+exx(i)
161 gstr(i,2)=gstr(i,2)+eyy(i)
162 gstr(i,3)=gstr(i,3)+exy(i)
163 gstr(i,4)=gstr(i,4)+eyz(i)
164 gstr(i,5)=gstr(i,5)+exz(i)
165 gstr(i,6)=gstr(i,6)+kxx(i)
166 gstr(i,7)=gstr(i,7)+kyy(i)
167 gstr(i,8)=gstr(i,8)+kxy(i)
169 gstrw(i)=gstrw(i)+wxy(i)*fac1(i)
173 f_def(i,6) = gstr(i,6)
175 f_def(i,8) = (gstr(i,8)+gstrw(i))*half
176 f_def(i,5) = (gstr(i,8)-gstrw(i))*half
178 ELSEIF(ismstr /= 11 )
THEN
181 gstr(i,2)=gstr(i,2)+eyy(i)
182 gstr(i,3)=gstr(i,3)+exy(i)
183 gstr(i,4)=gstr(i,4)+eyz(i)
184 gstr(i,5)=gstr(i,5)+exz(i)
185 gstr(i,6)=gstr(i,6)+kxx(i)
186 gstr(i,7)=gstr(i,7)+kyy(i)
187 gstr(i,8)=gstr(i,8)+kxy(i)
196 exxt=(px1(i)*ux13+px2(i)*ux24)*fac1(i)
197 eyyt=(py1(i)*uy13+py2(i)*uy24)*fac1(i)
198 exyt=(py1(i)*ux13+py2(i)*ux24
199 . +px1(i)*uy13+px2(i)*uy24)*fac1(i)
203 gstr(i,4)=gstr(i,4)+eyz(i)
204 gstr(i,5)=gstr(i,5)+exz(i)
205 gstr(i,6)=gstr(i,6)+kxx(i)
206 gstr(i,7)=gstr(i,7)+kyy(i)
207 gstr(i,8)=gstr(i,8)+kxy(i)
subroutine cstra3(jft, jlt, gstr, shf, area, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, dt1c, epsdot, for, mom, ismstr, mtn, ihbe, nft, istrain, ux1, ux2, ux3, ux4, uy1, uy2, uy3, uy4, px1, px2, py1, py2, wxy, gstrw, f_def, nel)