37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "mvsiz_p.inc"
45
46
47
48#include "scr14_c.inc"
49#include "com01_c.inc"
50
51
52
53 INTEGER JFT, JLT, IHBE,NFT ,ISTRAIN,ISMSTR,,
54 . NEL
55
57 . gstr(nel,8),
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(*)
65
66
67
68 INTEGER
69 . I, MX, J, K
70
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
79
80
81 IF(iepsdot/=0)THEN
82 DO i=jft,jlt
84 k = i + nft
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)
91 ENDDO
92 ENDIF
93
94 DO i=jft,jlt
95 fac1(i) =dt1c(i)/
area(i)
96 exx(i)=exx(i)*fac1(i)
97 eyy(i)=eyy(i)*fac1(i)
98 exy(i)=exy(i)*fac1(i)
99 eyz(i)=eyz(i)*fac1(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)
104 ENDDO
105
106 IF(ishfram==1.AND.ihbe>=2)THEN
107#include "vectorize.inc"
108 DO i=jft,jlt
114 mtmp1(i) = mom(i,1)
115 mtmp2(i) = mom(i,2)
116 mtmp3(i) = mom(i,3)
117 r1(i)= exy(i)
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)
129 ENDDO
130 IF(istrain/=0)THEN
131 DO i=jft,jlt
132 gtmp1(i)=gstr(i,1)
133 gtmp2(i)=gstr(i,2)
134 gtmp3(i)=gstr(i,3)
135 gtmp4(i)=gstr(i,4)
136 gtmp5(i)=gstr(i,5)
137 gtmp6(i)=gstr(i,6)
138 gtmp7(i)=gstr(i,7)
139 gtmp8(i)=gstr(i,8)
140 r1(i)= exy(i)
141 r2(i)=two*exy(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
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)
153 ENDDO
154 ENDIF
155 ENDIF
156
157 IF (istrain /= 0.OR.ismstr == 10) THEN
158 IF(ismstr == 10)THEN
159 DO i=jft,jlt
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,
167 gstr(i,8)=gstr(i,8)+kxy(i)
168
169 gstrw(i)=gstrw(i)+wxy(i)*fac1(i)
170 ENDDO
171
172 DO i=jft,jlt
173 f_def(i,6) = gstr(i,6)
174 f_def(i,7) = gstr(i,7)
175 f_def(i,8) = (gstr(i,8)+gstrw(i))*half
176 f_def(i,5) = (gstr(i,8)-gstrw(i))*half
177 ENDDO
178 ELSEIF(ismstr /= 11 )THEN
179 DO i=jft,jlt
180 gstr(i,1)=gstr(i,1)+exx(i)
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)
188 ENDDO
189 ELSE
190 DO i=jft,jlt
192 ux13=ux1(i)-ux3(i)
193 ux24=ux2(i)-ux4(i)
194 uy13=uy1(i)-uy3(i)
195 uy24=uy2(i)-uy4(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)
200 gstr(i,1)=exxt
201 gstr(i,2)=eyyt
202 gstr(i,3)=exyt
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)
208 ENDDO
209 ENDIF
210 ENDIF
211
212 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)
for(i8=*sizetab-1;i8 >=0;i8--)