37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "mvsiz_p.inc"
45
46
47
48 INTEGER JFT, JLT, NFT, IEPSDOT, ISTRAIN, ISMSTR, MTN,NEL
50 . vdef(mvsiz,8), gstr(nel,8),
51 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),exz(mvsiz),eyz(mvsiz),
52 . kxx(mvsiz),kyy(mvsiz),kxy(mvsiz),dt1c(mvsiz),epsdot(6,*),
53 . ux1(*),ux2(*),ux3(*),ux4(*),uy1(*),uy2(*),uy3(*),uy4(*),
54 . px1(*),px2(*),py1(*),py2(*),
area(*),f_def(mvsiz,8),wxy(*),gstrw(*)
55
56
57
58 INTEGER I, J
60 . fac1(mvsiz),ux13,ux24,uy13,uy24,
61 . exxt,eyyt,exyt
62
63
64 IF(iepsdot/=0)THEN
65 DO i=jft,jlt
66 j = i + nft
67 epsdot(1,j) = vdef(i,1)
68 epsdot(2,j) = vdef(i,2)
69 epsdot(3,j) = vdef(i,3)
70 epsdot(4,j) = vdef(i,6)
71 epsdot(5,j) = vdef(i,7)
72 epsdot(6,j) = vdef(i,8)
73 ENDDO
74 ENDIF
75
76 DO i=jft,jlt
77 exx(i) = vdef(i,1) * dt1c(i)
78 eyy(i) = vdef(i,2) * dt1c(i)
79 exy(i) = vdef(i,3) * dt1c(i)
80 eyz(i) = vdef(i,5) * dt1c(i)
81 exz(i) = vdef(i,4) * dt1c(i)
82 kxx(i) = vdef(i,6) * dt1c(i)
83 kyy(i) = vdef(i,7) * dt1c(i)
84 kxy(i) = vdef(i,8) * dt1c(i)
85 ENDDO
86
87 IF (istrain /= 0.OR.ismstr == 10) THEN
88 IF(ismstr == 10)THEN
89 DO i=jft,jlt
90 gstr(i,1)=gstr(i,1)+exx(i)
91 gstr(i,2)=gstr(i,2)+eyy(i)
92 gstr(i,3)=gstr(i,3)+exy(i)
93 gstr(i,4)=gstr(i,4)+eyz(i)
94 gstr(i,5)=gstr(i,5)+exz(i)
95 gstr(i,6)=gstr(i,6)+kxx(i)
96 gstr(i,7)=gstr(i,7)+kyy(i)
97 gstr(i,8)=gstr(i,8)+kxy(i)
98
99 gstrw(i)=gstrw(i)+wxy(i)*dt1c(i)
100 ENDDO
101
102 DO i=jft,jlt
103 f_def(i,6) = gstr(i,6)
104 f_def(i,7) = gstr(i,7)
105 f_def(i,8) = (gstr(i,8)+gstrw(i))*half
106 f_def(i,5) = (gstr(i,8)-gstrw(i))*half
107 ENDDO
108 ELSEIF(ismstr /= 11)THEN
109 DO i=jft,jlt
110 gstr(i,1)=gstr(i,1)+exx(i)
111 gstr(i,2)=gstr(i,2)+eyy(i)
112 gstr(i,3)=gstr(i,3)+exy(i)
113 gstr(i,4)=gstr(i,4)+eyz(i)
114 gstr(i,5)=gstr(i,5)+exz(i)
115 gstr(i,6)=gstr(i,6)+kxx(i)
116 gstr(i,7)=gstr(i,7)+kyy(i)
117 gstr(i,8)=gstr(i,8)+kxy(i)
118 ENDDO
119 ELSE
120 DO i=jft,jlt
122 ux13=ux1(i)-ux3(i)
123 ux24=ux2(i)-ux4(i)
124 uy13=uy1(i)-uy3(i)
125 uy24=uy2(i)-uy4(i)
126 exxt=(px1(i)*ux13+px2(i)*ux24)*fac1(i)
127 eyyt=(py1(i)*uy13+py2(i)*uy24)*fac1(i)
128 exyt=(py1(i)*ux13+py2(i)*ux24
129 . +px1(i)*uy13+px2(i)*uy24)*fac1(i)
130 gstr(i,1)=exxt
131 gstr(i,2)=eyyt
132 gstr(i,3)=exyt
133 gstr(i,4)=gstr(i,4)+eyz(i)
134 gstr(i,5)=gstr(i,5)+exz(i)
135 gstr(i,6)=gstr(i,6)+kxx(i)
136 gstr(i,7)=gstr(i,7)+kyy(i)
137 gstr(i,8)=gstr(i,8)+kxy(i)
138 ENDDO
139 ENDIF
140 ENDIF
141
142 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)