30 SUBROUTINE ccoor3(JFT ,JLT ,X ,IXC ,GEO ,OFFG ,
31 2 OFF ,SIGY,PID,V,VR,VL1,VL2,VL3,VL4,
32 3 VRL1,VRL2,VRL3,VRL4,MAT,DT1C,THKE,THK0,NGL,
33 4 X1 ,X2 ,X3 ,X4 ,Y1 ,Y2 ,
34 5 Y3 ,Y4 ,Z1 ,Z2 ,Z3 ,Z4 )
35 use element_mod ,
only : nixc
39#include "implicit_f.inc"
53 INTEGER NGL(), IXC(NIXC,*),MAT(MVSIZ), PID()
56 . x(3,*), geo(npropg,*), offg(*), off(*), sigy(*),
57 . v(3,*),vr(3,*),vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),vl4(mvsiz,3),
58 . vrl1(mvsiz,3),vrl2(mvsiz,3),vrl3(mvsiz,3),vrl4(mvsiz,3),dt1c(*),thke(*),
59 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz), y1(mvsiz),
60 . y2(mvsiz), y3(mvsiz), y4(mvsiz), z1(mvsiz), z2(mvsiz),
61 . z3(mvsiz), z4(mvsiz) ,thk0(mvsiz)
65 INTEGER IXCTMP2,IXCTMP3,IXCTMP4,IXCTMP5
100 vl2(i,3)=v(3,ixctmp3)
101 vl3(i,1)=v(1,ixctmp4)
102 vl3(i,2)=v(2,ixctmp4)
103 vl3(i,3)=v(3,ixctmp4)
104 vl4(i,1)=v(1,ixctmp5)
105 vl4(i,2)=v(2,ixctmp5)
106 vl4(i,3)=v(3,ixctmp5)
107 vrl1(i,1)=vr(1,ixctmp2)
108 vrl1(i,2)=vr(2,ixctmp2)
109 vrl1(i,3)=vr(3,ixctmp2)
110 vrl2(i,1)=vr(1,ixctmp3)
111 vrl2(i,2)=vr(2,ixctmp3)
112 vrl2(i,3)=vr(3,ixctmp3)
113 vrl3(i,1)=vr(1,ixctmp4)
114 vrl3(i,2)=vr(2,ixctmp4)
115 vrl3(i,3)=vr(3,ixctmp4)
116 vrl4(i,1)=vr(1,ixctmp5)
117 vrl4(i,2)=vr(2,ixctmp5)
118 vrl4(i,3)=vr(3,ixctmp5)
124 off(i) =
min(one,abs(offg(i)))
125 off_l =
min(off_l,offg(i))
169 1 DR ,PX1 ,PX2 ,PY1 ,PY2 ,
170 2 E1X ,E1Y ,E1Z ,E2X ,E2Y ,
171 3 E2Z ,E3X ,E3Y ,E3Z ,AREA ,
172 4 V13X ,V24X ,V13Y ,V24Y ,SMSTR ,
174 use element_mod ,
only : nixc
178#include "implicit_f.inc"
182#include "mvsiz_p.inc"
189 . X(3,*), OFFG(*), DR(3,*),
190 . E1X(*), E1Y(*), E1Z(*),
191 . E2X(*), E2Y(*), E2Z(*),E3X(*), (*), E3Z(*),
192 . SMSTR(*),AREA(*),PX1(*),PX2(*),PY1(*),PY2(*),
193 . V13X(*),V24X(*),V13Y(*),V24Y(*)
197 INTEGER I, II(9),NN(4)
199 . X0G2(MVSIZ),X0G3(MVSIZ),X0G4(MVSIZ),Y0G2(MVSIZ),
200 . Y0G3(MVSIZ),Y0G4(MVSIZ),Z0G2(MVSIZ),Z0G3(MVSIZ),Z0G4(MVSIZ),
201 . OFF_L,VG13(3),VG24(3),
202 . XL2(MVSIZ),XL3(MVSIZ),XL4(MVSIZ),YL2(MVSIZ),YL3(MVSIZ),
203 . YL4(MVSIZ),UXYZ(MVSIZ,3,4),A_I(MVSIZ)
210 IF(abs(offg(i))==one)offg(i)=sign(two,offg(i))
211 uxyz(i,1:3,1:4)= zero
216 x0g2(i) = x(1,nn(2))-x(1,nn(1))
217 y0g2(i) = x(2,nn(2))-x(2,nn(1))
218 z0g2(i) = x(3,nn(2))-x(3,nn(1))
219 x0g3(i) = x(1,nn(3))-x(1,nn(1))
220 y0g3(i) = x(2,nn(3))-x(2,nn(1))
221 z0g3(i) = x(3,nn(3))-x(3,nn(1))
222 x0g4(i) = x(1,nn(4))-x(1,nn(1))
223 y0g4(i) = x(2,nn(4))-x(2,nn
224 z0g4(i) = x(3,nn(4))-x(3,nn(1))
225 IF(abs(offg(i))==two)
THEN
226 uxyz(i,1,2) = x0g2(i)-smstr(ii(1)+i)
227 uxyz(i,2,2) = y0g2(i)-smstr(ii(2)+i)
228 uxyz(i,3,2) = z0g2(i)-smstr(ii(3)+i)
229 uxyz(i,1,3) = x0g3(i)-smstr(ii(4)+i)
230 uxyz(i,2,3) = y0g3(i)-smstr(ii(5)+i)
231 uxyz(i,3,3) = z0g3(i)-smstr(ii(6)+i)
232 uxyz(i,1,4) = x0g4(i)-smstr(ii(7)+i)
233 uxyz(i,2,4) = y0g4(i)-smstr(ii(8)+i)
234 uxyz(i,3,4) = z0g4(i)-smstr(ii(9)+i)
237 y0g2(i) = smstr(ii(2)+i)
239 x0g3(i) = smstr(ii(4)+i)
240 y0g3(i) = smstr(ii(5)+i)
241 z0g3(i) = smstr(ii(6)+i)
242 x0g4(i) = smstr(ii(7)+i)
243 y0g4(i) = smstr(ii(8)+i)
244 z0g4(i) = smstr(ii(9)+i)
247 smstr(ii(1)+i)= x0g2(i)
248 smstr(ii(2)+i)= y0g2(i)
249 smstr(ii(3)+i)= z0g2(i)
250 smstr(ii(4)+i)= x0g3(i)
251 smstr(ii(5)+i)= y0g3(i)
252 smstr(ii(6)+i)= z0g3(i)
253 smstr(ii(7)+i)= x0g4(i)
254 smstr(ii(8)+i)= y0g4(i)
255 smstr(ii(9)+i)= z0g4(i)
260 xl2(i)=e1x(i)*x0g2(i)+e1y(i)*y0g2(i)+e1z(i)*z0g2(i)
261 xl3(i)=e1x(i)*x0g3(i)+e1y(i)*y0g3(i)+e1z(i)*z0g3(i)
262 xl4(i)=e1x(i)*x0g4(i)+e1y(i)*y0g4(i)+e1z(i)*z0g4(i)
263 yl2(i)=e2x(i)*x0g2(i)+e2y(i)*y0g2(i)+e2z(i)*z0g2(i)
264 yl3(i)=e2x(i)*x0g3(i)+e2y(i)*y0g3(i)+e2z(i)*z0g3(i)
265 yl4(i)=e2x(i)*x0g4(i)+e2y(i)*y0g4(i)+e2z(i)*z0g4(i)
268 px1(i)= half*(yl2(i)-yl4(i))
269 py1(i)= half*(xl4(i)-xl2(i))
272 area(i)=
max(two*(py2(i)*px1(i)-py1(i)*px2(i)),em20)
273 a_i(i) = one / area(i)
277 vg13(1)=uxyz(i,1,1)-uxyz(i,1,3)
278 vg24(1)=uxyz(i,1,2)-uxyz(i,1,4)
279 vg13(2)=uxyz(i,2,1)-uxyz(i,2,3)
280 vg24(2)=uxyz(i,2,2)-uxyz(i,2,4)
281 vg13(3)=uxyz(i,3,1)-uxyz(i,3,3)
282 vg24(3)=uxyz(i,3,2)-uxyz(i,3,4)
284 v13x(i)=e1x(i)*vg13(1)+e1y(i)*vg13(2)+e1z(i)*vg13(3)
285 v24x(i)=e1x(i)*vg24(1)+e1y(i)*vg24(2)+e1z(i)*vg24(3)
286 v13y(i)=e2x(i)*vg13(1)+e2y(i)
287 v24y(i)=e2x(i)*vg24(1)+e2y(i)*vg24(2)+e2z(i)*vg24(3)
297 off_l =
min(off_l,offg(i))
299 IF (off_l < zero)
THEN
301 IF (offg(i) < zero)
THEN
subroutine ccoort3(jft, jlt, x, ixc, offg, dr, px1, px2, py1, py2, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, area, v13x, v24x, v13y, v24y, smstr, nel)
subroutine ccoor3(jft, jlt, x, ixc, geo, offg, off, sigy, pid, v, vr, vl1, vl2, vl3, vl4, vrl1, vrl2, vrl3, vrl4, mat, dt1c, thke, thk0, ngl, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
subroutine cforc3(timers, elbuf_str, jft, jlt, pm, ixc, x, f, m, v, vr, failwave, nvc, mtn, geo, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, stifr, fsky, iadc, itab, d, dr, tani, offset, eani, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, indxof, ipartc, thke, group_param, mat_elem, nel, istrain, ihbe, ithk, iofc, ipla, nft, ismstr, npt, kfts, fzero, igeo, ipm, ifailure, itask, jthe, temp, fthe, fthesky, iexpan, gresav, grth, xedge4n, igrth, msc, dmelc, jsms, table, iparg, ixfem, knod2elc, sensors, elcutc, inod_crk, iel_crk, ibordnode, nodenr, iadc_crk, nodedge, crknodiad, condn, condnsky, stack, isubstack, xfem_str, ig, crkedge, drape_sh4n, ipri, nloc_dmg, indx_drape, igre, jtur, output, dt, snpc, stf, glob_therm, userl_avail, maxfunc, sbufmat, ipart)