29 1 JFT, JLT, NFT, NPG,VDEF,
30 2 EXX, EYY, EXY, EXZ, EYZ,
31 3 KXX, KYY, KXY, DT1C,EPSDOT,
32 4 IEPSDOT, ISTRAIN,UX1 ,UX2 ,UX3 ,
33 5 UX4 ,UY1 ,UY2 ,UY3 ,UY4 ,
34 6 X13, X24, Y13, Y24, BM ,
35 7 ISMSTR ,MTN ,NPLAT,IPLAT,ISROT,
36 8 WXY ,F_DEF,GSTRWPG,NEL)
40#include "implicit_f.inc"
48 INTEGER JFT, JLT, NFT, IEPSDOT, ISTRAIN, NPG,II,NEL
49 INTEGER ISMSTR ,MTN ,NPLAT,IPLAT(*),ISROT
51 . VDEF(MVSIZ,8),GSTR(NEL,8),GSTRPG(NEL,8),DT1C(*),EPSDOT(6,*),
52 . EXX(*),EYY(*),EXY(*),EXZ(*),EYZ(*),KXX(*),KYY(*),KXY(*),
53 . UX1(*),(*),UX3(*),UX4(*),UY1(*),UY2(*),UY3(*),UY4(*),
54 . X13(*), X24(*), Y13(*), Y24(*), BM(MVSIZ,36),F_DEF(MVSIZ,8),
61 . UX13,UX24,UY13,UY24,UXHI,UYHI,QUATRE1,
62 . (MVSIZ),EYYT(MVSIZ),(MVSIZ)
66 IF (iepsdot /= 0)
THEN
69 epsdot(1,j) = vdef(i,1)
70 epsdot(2,j) = vdef(i,2)
71 epsdot(3,j) = vdef(i,3)
72 epsdot(4,j) = vdef(i,6)
73 epsdot(5,j) = vdef(i,7)
74 epsdot(6,j) = vdef(i,8)
79 exx(i) = vdef(i,1) * dt1c(i)
80 eyy(i) = vdef(i,2) * dt1c(i)
81 exy(i) = vdef(i,3) * dt1c(i)
82 eyz(i) = vdef(i,5) * dt1c(i)
83 exz(i) = vdef(i,4) * dt1c(i)
84 kxx(i) = vdef(i,6) * dt1c(i)
85 kyy(i) = vdef(i,7) * dt1c(i)
86 kxy(i) = vdef(i,8) * dt1c(i)
89 IF (istrain /= 0.OR.ismstr == 10)
THEN
92 gstr(i,1)=gstr(i,1)+exx(i)*quatre1
93 gstr(i,2)=gstr(i,2)+eyy(i)*quatre1
94 gstr(i,3)=gstr(i,3)+exy(i)*quatre1
95 gstr(i,4)=gstr(i,4)+eyz(i)*quatre1
96 gstr(i,5)=gstr(i,5)+exz(i)*quatre1
97 gstr(i,6)=gstr(i,6)+kxx(i)*quatre1
98 gstr(i,7)=gstr(i,7)+kyy(i)*quatre1
99 gstr(i,8)=gstr(i,8)+kxy(i)*quatre1
101 gstrpg(i,1)=gstrpg(i,1)+exx(i)
102 gstrpg(i,2)=gstrpg(i,2)+eyy(i)
103 gstrpg(i,3)=gstrpg(i,3)+exy(i)
104 gstrpg(i,4)=gstrpg(i,4)+eyz(i)
105 gstrpg(i,5)=gstrpg(i,5)+exz(i)
106 gstrpg(i,6)=gstrpg(i,6)+kxx(i)
107 gstrpg(i,7)=gstrpg(i,7)+kyy(i)
108 gstrpg(i,8)=gstrpg(i,8)+kxy(i)
110 gstrwpg(i)=gstrwpg(i)+wxy(i)* dt1c(i)
114 f_def(i,6) = gstrpg(i,6)
115 f_def(i,7) = gstrpg(i,7)
116 f_def(i,8) = (gstrpg(i,8)+gstrwpg(i))*half
117 f_def(i,5) = (gstrpg(i,8)-gstrwpg(i))*half
119 ELSEIF(ismstr /= 11)
THEN
121 gstr(i,1)=gstr(i,1)+exx(i)*quatre1
122 gstr(i,2)=gstr(i,2)+eyy(i)*quatre1
123 gstr(i,3)=gstr(i,3)+exy(i)*quatre1
124 gstr(i,4)=gstr(i,4)+eyz(i)*quatre1
125 gstr(i,5)=gstr(i,5)+exz(i)*quatre1
126 gstr(i,6)=gstr(i,6)+kxx(i)*quatre1
127 gstr(i,7)=gstr(i,7)+kyy(i)*quatre1
128 gstr(i,8)=gstr(i,8)+kxy(i)*quatre1
130 gstrpg(i,1)=gstrpg(i,1)+exx(i)
131 gstrpg(i,2)=gstrpg(i,2)+eyy(i)
132 gstrpg(i,3)=gstrpg(i,3)+exy(i)
133 gstrpg(i,4)=gstrpg(i,4)+eyz(i)
134 gstrpg(i,5)=gstrpg(i,5)+exz(i)
135 gstrpg(i,6)=gstrpg(i,6)+kxx(i)
136 gstrpg(i,7)=gstrpg(i,7)+kyy(i)
137 gstrpg(i,8)=gstrpg(i,8)+kxy(i)
141#include "vectorize.inc"
148 uxhi=ux1(i)-ux2(i)+ux3(i)-ux4(i)
149 uyhi=uy1(i)-uy2(i)+uy3(i)-uy4(i)
150 exxt(i)=bm(i,1)*ux13+bm(i,2)*ux24+bm(i,3)*uxhi
151 eyyt(i)=bm(i,5)*uy13+bm(i,6)*uy24+bm(i,7)*uyhi
152 exyt(i)=bm(i,1)*uy13+bm(i,2)*uy24+bm(i,3)*uyhi
153 . +bm(i,5)*ux13+bm(i,6)*ux24+bm(i,7)*uxhi
155#include "vectorize.inc"
158 exxt(i)=bm(i,1)*ux1(i)+bm(i,4)*uy1(i)
159 . +bm(i,10)*ux2(i)+bm(i,13)*uy2(i)
160 . +bm(i,19)*ux3(i)+bm(i,22)*uy3(i)
161 . +bm(i,28)*ux4(i)+bm(i,31)*uy4(i)
162 eyyt(i)=bm(i,2)*ux1(i)+bm(i,5)*uy1(i)
163 . +bm(i,11)*ux2(i)+bm(i,14)*uy2(i)
164 . +bm(i,20)*ux3(i)+bm(i,23)*uy3(i)
165 . +bm(i,29)*ux4(i)+bm(i,32)*uy4(i)
166 exyt(i)=bm(i,3)*ux1(i)+bm(i,6)*uy1(i)
167 . +bm(i,12)*ux2(i)+bm(i,15)*uy2(i)
168 . +bm(i,21)*ux3(i)+bm(i,24)*uy3(i)
169 . +bm(i,30)*ux4(i)+bm(i,33)*uy4(i)
172#include "vectorize.inc"
179 uxhi=ux1(i)-ux2(i)+ux3(i)-ux4(i)
180 uyhi=uy1(i)-uy2(i)+uy3(i)-uy4(i)
181 exxt(i)=bm(i,1)*ux13+bm(i,2)*ux24+bm(i,3)*uxhi
182 eyyt(i)=bm(i,5)*uy13+bm(i,6)*uy24+bm(i,7)*uyhi
183 exyt(i)=y24(i)*uy13-y13(i)*uy24
184 . -x24(i)*ux13+x13(i)*ux24
186#include "vectorize.inc"
193 exxt(i)=bm(i,1)*ux1(i)+bm(i,4)*uy1(i)
194 . +bm(i,10)*ux2(i)+bm(i,13)*uy2(i)
195 . +bm(i,19)*ux3(i)+bm(i,22)*uy3(i)
196 . +bm(i,28)*ux4(i)+bm(i,31)*uy4(i)
197 eyyt(i)=bm(i,2)*ux1(i)+bm(i,5)*uy1(i)
198 . +bm(i,11)*ux2(i)+bm(i,14)*uy2(i)
199 . +bm(i,20)*ux3(i)+bm(i,23)*uy3(i)
200 . +bm(i,29)*ux4(i)+bm(i,32)*uy4(i)
201 exyt(i)=y24(i)*uy13-y13(i)*uy24
202 . -x24(i)*ux13+x13(i)*ux24
206 gstr(i,1)=gstr(i,1)+exxt(i)*quatre1
207 gstr(i,2)=gstr(i,2)+eyyt(i)*quatre1
208 gstr(i,3)=gstr(i,3)+exyt(i)*quatre1
209 gstr(i,4)=gstr(i,4)+eyz(i)*quatre1
210 gstr(i,5)=gstr(i,5)+exz(i)*quatre1
211 gstr(i,6)=gstr(i,6)+kxx(i)*quatre1
212 gstr(i,7)=gstr(i,7)+kyy(i)*quatre1
213 gstr(i,8)=gstr(i,8)+kxy(i)*quatre1
218 gstrpg(i,4)=gstrpg(i,4)+eyz(i)
219 gstrpg(i,5)=gstrpg(i,5)+exz(i)
220 gstrpg(i,6)=gstrpg(i,6)+kxx(i)
221 gstrpg(i,7)=gstrpg(i,7)+kyy(i)
222 gstrpg(i,8)=gstrpg(i,8)+kxy(i)