36 SUBROUTINE fsigtini(FXBELM, IPARG , X , PM, IXTG ,
37 . GEO , FXBMOD, FXBSIG, R , NELTG)
38 use element_mod ,
only : nixtg
42#include "implicit_f.inc"
54 INTEGER FXBELM(*), IPARG(NPARG,*), IXTG(NIXTG,*), NELTG
56 . fxbsig(*), x(3,*), pm(npropm), fxbmod(*),
57 . geo(npropg,*), r(3,*)
61 INTEGER IG,OFFSET,FIRST,LAST,NFT,I,NG,IEL,
62 . n1,n2,n3,ism,ithk,npt,nfs
63 INTEGER MAT(MVSIZ), PROP(MVSIZ)
65 . vl(3,3,mvsiz), vrl(3,3,mvsiz)
67 . x1(mvsiz) , x2(mvsiz) , x3(mvsiz) ,
68 . y1(mvsiz) , y2(mvsiz) , y3(mvsiz) ,
69 . z1(mvsiz) , z2(mvsiz) , z3(mvsiz) ,
70 . x31(mvsiz) , y31(mvsiz) , z31(mvsiz)
72 . d11, d12, d13, d21, d22, d23, d31, d32, d33,
73 . dr11, dr12, dr13, dr21, dr22, dr23, dr31, dr32, dr33
75 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
76 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
77 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
78 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),eyz(mvsiz),ezx(mvsiz),
79 . kxx(mvsiz),kyy(mvsiz),kxy(mvsiz),
80 . px1g(mvsiz), py1g(mvsiz), py2g(mvsiz),
81 . px1(mvsiz) , py1(mvsiz) , py2(mvsiz),
82 . x2s(mvsiz), x3s(mvsiz), y3s(mvsiz)
84 . gstrbid(8,mvsiz),
for(5,mvsiz), mom(3,mvsiz),
85 . eint(2,mvsiz) , thk(mvsiz),
area(mvsiz),
86 . nu(mvsiz), g(mvsiz), a1(mvsiz), a2(mvsiz), gs(mvsiz)
91 last=
min(mvsiz,neltg-offset)
95 ng=fxbelm(nft+9*(i-1)+1)
96 iel=iparg(3,ng)+fxbelm(nft+9*(i-1)+2)
103 x2(i)=x(1,ixtg(3,iel))-x(1,ixtg(2,iel))
104 y2(i)=x(2,ixtg(3,iel))-x(2,ixtg(2,iel))
105 z2(i)=x(3,ixtg(3,iel))-x(3,ixtg(2,iel))
106 x3(i)=x(1,ixtg(4,iel))-x(1,ixtg(2,iel))
107 y3(i)=x(2,ixtg(4,iel))-x(2,ixtg(2,iel))
108 z3(i)=x(3,ixtg(4,iel))-x(3,ixtg(2,iel))
109 n1=fxbelm(nft+9*(i-1)+3)
110 n2=fxbelm(nft+9*(i-1)+4)
112 d11=fxbmod(6*(n1-1)+1)
113 d12=fxbmod(6*(n1-1)+2)
116 d22=fxbmod(6*(n2-1)+2)
117 d23=fxbmod(6*(n2-1)+3)
118 d31=fxbmod(6*(n3-1)+1)
119 d32=fxbmod(6*(n3-1)+2)
120 d33=fxbmod(6*(n3-1)+3)
121 vl(1,1,i)=r(1,1)*d11+r(1,2)*d12+r(1,3)*d13
122 vl(2,1,i)=r(2,1)*d11+r(2,2)*d12+r(2,3)*d13
123 vl(3,1,i)=r(3,1)*d11+r(3,2)*d12+r(3,3)*d13
124 vl(1,2,i)=r(1,1)*d21+r(1,2)*d22+r(1,3)*d23
125 vl(2,2,i)=r(2,1)*d21+r(2,2)*d22+r(2,3)*d23
127 vl(1,3,i)=r(1,1)*d31+r(1,2)*d32+r(1,3)*d33
129 vl(3,3,i)=r(3,1)*d31+r(3,2)*d32+r(3,3)*d33
130 dr11=fxbmod(6*(n1-1)+4)
131 dr12=fxbmod(6*(n1-1)+5)
132 dr13=fxbmod(6*(n1-1)+6)
133 dr21=fxbmod(6*(n2-1)+4)
134 dr22=fxbmod(6*(n2-1)+5)
135 dr23=fxbmod(6*(n2-1)+6)
136 dr31=fxbmod(6*(n3-1)+4)
137 dr32=fxbmod(6*(n3-1)+5)
138 dr33=fxbmod(6*(n3-1)+6)
139 vrl(1,1,i)=r(1,1)*dr11+r(1,2)*dr12+r(1,3)*dr13
140 vrl(2,1,i)=r(2,1)*dr11+r(2,2)*dr12+r(2,3)*dr13
141 vrl(3,1,i)=r(3,1)*dr11+r(3,2)*dr12+r(3,3)*dr13
142 vrl(1,2,i)=r(1,1)*dr21+r(1,2)*dr22+r(1,3)*dr23
143 vrl(2,2,i)=r(2,1)*dr21+r(2,2)*dr22+r(2,3)*dr23
144 vrl(3,2,i)=r(3,1)*dr21+r(3,2)*dr22+r(3,3)*dr23
145 vrl(1,3,i)=r(1,1)*dr31+r(1,2)*dr32+r(1,3)*dr33
146 vrl(2,3,i)=r(2,1)*dr31+r(2,2)*dr32+r(2,3)*dr33
147 vrl(3,3,i)=r(3,1)*dr31+r(3,2)*dr32+r(3,3)*dr33
167 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
168 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
169 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
170 . x31 ,y31 ,z31 ,x2s ,x3s ,y3s )
172 CALL ccoefi(last, pm , geo , nu ,
173 . g , a1 , a2 , gs , thk,
174 . mat , prop, npt ,
area )
179 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
180 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
181 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
182 CALL c3defli(last ,vl ,gstrbid ,
184 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
185 . exx ,eyy ,exy ,eyz ,ezx ,
area )
188 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
189 . eyz ,ezx ,kxx ,kyy ,kxy ,
area )
192 . thk ,eint ,nu ,g ,a1 ,
193 . a2 ,gs ,kxx ,kyy ,kxy ,
194 . exx ,eyy ,exy ,eyz ,ezx ,
198 fxbsig(nfs+10*(i-1)+1)=
for(1,i)
199 fxbsig(nfs+10*(i-1)+2)=
for(2,i)
200 fxbsig(nfs+10*(i-1)+3)=
for(3,i)
201 fxbsig(nfs+10*(i-1)+4)=
for(4,i)
202 fxbsig(nfs+10*(i-1)+5)=
for(5,i)
203 fxbsig(nfs+10*(i-1)+6)=mom(1,i)
204 fxbsig(nfs+10*(i-1)+7)=mom(2,i)
205 fxbsig(nfs+10*(i-1)+8)=mom(3,i)
206 fxbsig(nfs+10*(i-1)+9)=eint(1,i)
207 fxbsig(nfs+10*(i-1)+10)=eint(2,i)
220 . E1X ,E2X ,E3X ,E1Y ,E2Y ,E3Y ,E1Z ,E2Z ,E3Z ,
221 . EXX ,EYY ,EXY ,EYZ ,EZX ,AREA )
225#include "implicit_f.inc"
229#include "mvsiz_p.inc"
235 my_real VL(3,3,*),GSTR(8,*),PX1(*),PY1(*),PY2(*)
236 my_real EXX(MVSIZ),EYY(MVSIZ),EXY(MVSIZ),EZX(MVSIZ),EYZ(),
237 . e1x(mvsiz) , e1y(mvsiz) , e1z(mvsiz) ,
238 . e2x(mvsiz) , e2y(mvsiz) , e2z(mvsiz) ,
239 . e3x(mvsiz) , e3y(mvsiz) , e3z(mvsiz) ,
area(mvsiz)
246 . VX1(MVSIZ) , VX2(MVSIZ) , VX3(MVSIZ) ,
247 . vy1(mvsiz) , vy2(mvsiz) , vy3(mvsiz) ,
248 . vz1(mvsiz) , vz2(mvsiz) , vz3(mvsiz) ,
249 . vx12(mvsiz), vx13(mvsiz), vx23(mvsiz),
250 . vy12(mvsiz), vy13(mvsiz), vy23(mvsiz
251 . vz12(mvsiz), vz13(mvsiz), vz23(mvsiz)
255 vx1(i)=e1x(i)*vl(1,1,i)+e1y(i)*vl(2,1,i)+e1z(i)*vl(3,1,i)
256 vx2(i)=e1x(i)*vl(1,2,i)+e1y(i)*vl(2,2,i)+e1z(i)*vl(3,2,i)
257 vx3(i)=e1x(i)*vl(1,3,i)+e1y(i)*vl(2,3,i)+e1z(i)*vl(3,3,i)
259 vy3(i)=e2x(i)*vl(1,3,i)+e2y(i)*vl(2,3,i)+e2z(i)*vl(3,3,i)
260 vy2(i)=e2x(i)*vl(1,2,i)+e2y(i)*vl(2,2,i)+e2z(i)*vl(3,2,i)
261 vy1(i)=e2x(i)*vl(1,1,i)+e2y(i)*vl(2,1,i)+e2z(i)*vl(3,1,i)
263 vz1(i)=e3x(i)*vl(1,1,i)+e3y(i)*vl(2,1,i)+e3z(i)*vl(3,1,i)
264 vz2(i)=e3x(i)*vl(1,2,i)+e3y(i)*vl(2,2,i)+e3z(i)*vl(3,2,i)
265 vz3(i)=e3x(i)*vl(1,3,i)+e3y(i)*vl(2,3,i)+e3z(i)*vl(3,3,i)
269 vz12(i)=vz1(i) - vz2(i)
270 vz13(i)=vz1(i) - vz3(i)
271 vz23(i)=vz2(i) - vz3(i)
273 vx12(i)=vx1(i) - vx2(i)
274 vy12(i)=vy1(i) - vy2(i)
275 vx13(i)=vx1(i) - vx3(i)
276 vy13(i)=vy1(i) - vy3(i)
277 vx23(i)=vx2(i) - vx3(i)
278 vy23(i)=vy2(i) - vy3(i)
280 exx(i)=px1(i)*vx12(i)
281 eyy(i)=py1(i)*vy13(i) + py2(i)*vy23(i)
283 exy(i)=py1(i)*vx13(i) + py2(i)*vx23(i) + px1(i)*vy12(i)
284 eyz(i)=py1(i)*vz13(i) + py2(i)*vz23(i)
285 ezx(i)=px1(i)*vz12(i)
296 gstr(1,i)=gstr(1,i)+exx(i)
297 gstr(2,i)=gstr(2,i)+eyy(i)
298 gstr(3,i)=gstr(3,i)+exy(i)
309 . E1X ,E2X ,E3X ,E1Y ,E2Y ,E3Y ,E1Z ,E2Z ,E3Z ,
310 . EYZ ,EZX ,KXX ,KYY ,KXY ,AREA )
314#include
"implicit_f.inc"
318#include "mvsiz_p.inc"
323 my_real VRL(3,3,*),PX1(*),PY1(*),PY2(*),
324 . E1X(MVSIZ), E1Y(MVSIZ), E1Z(MVSIZ),
325 . E2X(MVSIZ), E2Y(MVSIZ), E2Z(MVSIZ),
326 . E3X(MVSIZ), E3Y(MVSIZ), E3Z(MVSIZ),
327 . KXX(MVSIZ), KYY(MVSIZ), KXY(MVSIZ),
328 . EYZ(MVSIZ),EZX(MVSIZ), AREA(MVSIZ)
334 . RX1(MVSIZ), RX2(MVSIZ), RX3(MVSIZ),
335 . RY1(MVSIZ), RY2(MVSIZ), RY3(MVSIZ)
337 . RX12T,RX13T,RX23T,RY12T,RY13T,RY23T,RYAVT,RXAVT,FAC1
340 rx1(i)=e1x(i)*vrl(1,1,i)+e1y(i)*vrl(2,1,i)+e1z(i)*vrl(3,1,i)
341 rx2(i)=e1x(i)*vrl(1,2,i)+e1y(i)*vrl(2,2,i)+e1z(i)*vrl(3,2,i)
342 rx3(i)=e1x(i)*vrl(1,3,i)+e1y(i)*vrl(2,3,i)+e1z(i)*vrl(3,3,i)
343 ry1(i)=e2x(i)*vrl(1,1,i)+e2y(i)*vrl(2,1,i)+e2z(i)*vrl(3,1,i)
344 ry2(i)=e2x(i)*vrl(1,2,i)+e2y(i)*vrl(2,2,i)+e2z(i)*vrl(3,2,i)
345 ry3(i)=e2x(i)*vrl(1,3,i)+e2y(i)*vrl(2,3,i)+e2z(i)*vrl(3,3,i)
349 rx12t = rx1(i) - rx2(i)
350 rx13t = rx1(i) - rx3(i)
351 rx23t = rx2(i) - rx3(i)
353 kyy(i)=-py1(i) * rx13t - py2(i) * rx23t
354 kxy(i)= px1(i) * rx12t
356 ry12t = ry1(i) - ry2(i)
357 ry13t = ry1(i) - ry3(i)
358 ry23t = ry2(i) - ry3(i)
360 kxx(i) = px1(i) * ry12t
361 kxy(i) = py1(i) * ry13t + py2(i) * ry23t - kxy(i)
364 . px1(i) * (-rx1(i)+rx2(i))
365 . + (two*py1(i)+three*py2(i)) * ry1(i)
366 . + (three*py1(i)+two*py2(i)) * ry2(i)
367 . + ( py1(i) + py2(i) ) * ry3(i) )
369 . + (two*py1(i)+py2(i)) * rx1(i)
370 . + (py1(i)+two*py2(i)) * rx2(i)
371 . + three*(py1(i)+py2(i)) * rx3(i) )
372 . + py1(i) * (py1(i)+three*py2(i)) * ry1(i)
373 . - py2(i) * (three*py1(i)+py2(i)) * ry2(i)
374 . + ( py2(i)**2 - py1(i)**2 ) * ry3(i)
376 ezx(i) = ezx(i) + ryavt / three
377 eyz(i) = eyz(i) + rxavt / three