29 SUBROUTINE cdefo3(JFT,JLT,VL1,VL2,VL3,VL4,
30 1 DT1C,PX1 ,PX2,PY1,PY2,AREA,
31 2 EXX ,EYY,EXY,EXZ,EYZ ,X2 ,X3 ,X4 ,Y2 ,Y3 ,
32 3 Y4 ,Z2 ,VX1,VX2,VX3 ,VX4 ,VY1,VY2,VY3,VY4 ,
33 4 VZ1 ,VZ2,VZ3,VZ4,E1X ,E1Y ,E1Z,E2X,E2Y,E2Z ,
38#include "implicit_f.inc"
53 . VL1(MVSIZ,3),VL2(MVSIZ,3),VL3(MVSIZ,3),VL4(MVSIZ,3),DT1C(*),
54 . PX1(MVSIZ), PX2(MVSIZ), PY1(MVSIZ), PY2(MVSIZ),
55 . exx(mvsiz),
area(mvsiz),
56 . eyy(mvsiz), exy(mvsiz), exz(mvsiz), eyz(mvsiz),
57 . x2(mvsiz), x3(mvsiz), x4(mvsiz),
58 . y2(mvsiz), y3(mvsiz), y4(mvsiz), z2(mvsiz),
59 . vx1(mvsiz), vx2(mvsiz), vx3(mvsiz), vx4(mvsiz),
60 . vy1(mvsiz), vy2(mvsiz), vy3(mvsiz), vy4(mvsiz),
61 . vz1(mvsiz), vz2(mvsiz), vz3(mvsiz), vz4(mvsiz),
62 . vx13(mvsiz), vx24(mvsiz), vy13(mvsiz), vy24(mvsiz),
63 . vz13(mvsiz), vz24(mvsiz),
64 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz), e2x(mvsiz),
65 . e2y(mvsiz), e2z(mvsiz), e3x(mvsiz), e3y(mvsiz), e3z(mvsiz)
71 . ZZ2(MVSIZ), EXZZ2(MVSIZ), EYZZ2(MVSIZ), EXZ2PY2(MVSIZ),
72 . EXZ2PY1(MVSIZ), EYZ2PX2(MVSIZ), EYZ2PX1(MVSIZ),ZZZ(MVSIZ),
73 . EXZ2(MVSIZ),EYZ2(MVSIZ),
74 . dt1v4, tmp1a(mvsiz), tmp2a(mvsiz), tmp3a(mvsiz),
75 . tmp1b(mvsiz), tmp2b(mvsiz), tmp3b(mvsiz),gzx(mvsiz),
80 vx1(i)=e1x(i)*vl1(i,1)+e1y(i)*vl1(i,2)+e1z(i)*vl1(i,3)
81 vx2(i)=e1x(i)*vl2(i,1)+e1y(i)*vl2(i,2)+e1z(i)*vl2(i,3)
82 vx3(i)=e1x(i)*vl3(i,1)+e1y(i)*vl3(i,2)+e1z(i)*vl3(i,3)
83 vx4(i)=e1x(i)*vl4(i,1)+e1y(i)*vl4(i,2)+e1z(i)*vl4(i,3)
85 vy4(i)=e2x(i)*vl4(i,1)+e2y(i)*vl4(i,2)+e2z(i)*vl4(i,3)
86 vy3(i)=e2x(i)*vl3(i,1)+e2y(i)*vl3(i,2)+e2z(i)*vl3(i,3)
87 vy2(i)=e2x(i)*vl2(i,1)+e2y(i)*vl2(i,2)+e2z(i)*vl2(i,3)
88 vy1(i)=e2x(i)*vl1(i,1)+e2y(i)*vl1(i,2)+e2z(i)*vl1(i,3)
90 vz1(i)=e3x(i)*vl1(i,1)+e3y(i)*vl1(i,2)+e3z(i)*vl1(i,3)
91 vz2(i)=e3x(i)*vl2(i,1)+e3y(i)*vl2(i,2)+e3z(i)*vl2(i,3)
92 vz3(i)=e3x(i)*vl3(i,1)+e3y(i)*vl3(i,2)+e3z(i)*vl3(i,3)
93 vz4(i)=e3x(i)*vl4(i,1)+e3y(i)*vl4(i,2)+e3z(i)*vl4(i,3)
98 eyz(i)=py1(i)*vz13(i)+py2(i)*vz24(i)
99 exz(i)=px1(i)*vz13(i)+px2(i)*vz24(i)
107 dt1v4 = fourth*dt1c(i)
108 IF(impl_s>0) dt1v4=zero
109 tmp2a(i)=py2(i)+py1(i)
110 tmp3a(i)=sign(
max(abs(tmp2a(i)),em20),tmp2a(i))
111 tmp1a(i)=dt1v4*(vz13(i)-vz24(i))*(vz13(i)-vz24(i))/tmp3a(i)
112 vx13(i)=vx1(i)-vx3(i)
113 vx24(i)=vx2(i)-vx4(i)
114 vx13(i)=vx13(i)-tmp1a(i)
115 vx24(i)=vx24(i)+tmp1a(i)
117 exx(i)=px1(i)*vx13(i)+px2(i)*vx24(i)
118 exy(i)=py1(i)*vx13(i)+py2(i)*vx24(i)
120 tmp1b(i)=px2(i)-px1(i)
121 tmp3b(i)=sign(
max(abs(tmp1b(i)),em20),tmp1b(i))
122 tmp2b(i)=dt1v4*(vz13(i)+vz24(i))*(vz13(i)+vz24(i))/tmp3b(i)
123 vy13(i)=vy1(i)-vy3(i)
124 vy24(i)=vy2(i)-vy4(i)
125 vy13(i)=vy13(i)+tmp2b(i)
126 vy24(i)=vy24(i)+tmp2b(i)
128 exy(i)=exy(i)+px1(i)*vy13(i)+px2(i)*vy24(i)
129 eyy(i)=py1(i)*vy13(i)+py2(i)*vy24(i)
132 ELSEIF(ihbe==2.OR.ihbe==3)
THEN
136 IF(impl_s>0) dt1v4=zero
138 gzx(i) = exz(i)/
area(i)
139 exzz2(i)= gzx(i)*z2(i)
140 exz2(i) = gzx(i)*gzx(i)*dt1v4
141 vx3(i)=vx3(i) -exz2(i)*x3(i)-vx1(i)
142 vx2(i)=vx2(i)+exzz2(i)-exz2(i)*x2(i)-vx1(i)
143 vx4(i)=vx4(i)+exzz2(i)-exz2(i)*x4(i)-vx1(i)
146 gzy(i) = eyz(i)/
area(i)
147 eyzz2(i)= gzy(i)*z2(i)
148 eyz2(i) = gzy(i)*gzy(i)*dt1v4
149 vy3(i)=vy3(i) -eyz2(i)*y3(i)-vy1(i)
150 vy2(i)=vy2(i)+eyzz2(i)-eyz2(i)*y2(i)-vy1(i)
151 vy4(i)=vy4(i)+eyzz2(i)-eyz2(i)*y4(i)-vy1(i)
154 zzz(i)= (exz2(i)+eyz2(i))*z2(i)
155 vz3(i)=vz3(i)-gzy(i)*y3(i)-gzx(i)*x3(i) -vz1(i)
156 vz2(i)=vz2(i)-gzy(i)*y2(i)-gzx(i)*x2(i)-zzz(i)-vz1(i)
157 vz4(i)=vz4(i)-gzy(i)*y4(i)-gzx(i)*x4(i)-zzz(i)-vz1(i)
161 vx24(i)=vx2(i)-vx4(i)
163 exx(i)=px1(i)*vx13(i)+px2(i)*vx24(i)
164 exy(i)=py1(i)*vx13(i)+py2(i)*vx24(i)
167 vy24(i)=vy2(i)-vy4(i)
169 exy(i)=exy(i)+px1(i)*vy13(i)+px2(i)*vy24(i)
170 eyy(i)=py1(i)*vy13(i)+py2(i)*vy24(i)
177 IF(impl_s>0) dt1v4=zero
181 gzx(i) = exz(i)/
area(i)
182 exzz2(i) = gzx(i)*zz2(i)
183 exz2(i) = gzx(i)*gzx(i)*dt1v4
184 exz2py2(i) = exz2(i)*py2(i)
185 exz2py1(i) = exz2(i)*py1(i)
186 vx1(i)=vx1(i)-exzz2(i)-exz2py2(i)
187 vx3(i)=vx3(i)-exzz2(i)+exz2py2(i)
188 vx2(i)=vx2(i)+exzz2(i)+exz2py1(i)
189 vx4(i)=vx4(i)+exzz2(i)-exz2py1(i)
191 gzy(i) = eyz(i)/
area(i)
192 eyzz2(i) = gzy(i)*zz2(i)
193 eyz2(i) = gzy(i)*gzy(i)*dt1v4
194 eyz2px2(i) = eyz2(i)*px2(i)
195 eyz2px1(i) = eyz2(i)*px1(i)
196 vy1(i)=vy1(i)-eyzz2(i)+eyz2px2(i)
197 vy3(i)=vy3(i)-eyzz2(i)-eyz2px2(i)
198 vy2(i)=vy2(i)+eyzz2(i)-eyz2px1(i)
199 vy4(i)=vy4(i)+eyzz2(i)+eyz2px1(i)
201 vx13(i)=vx1(i)-vx3(i)
202 vx24(i)=vx2(i)-vx4(i)
204 exx(i)=px1(i)*vx13(i)+px2(i)*vx24(i)
205 exy(i)=py1(i)*vx13(i)+py2(i)*vx24(i)
207 vy13(i)=vy1(i)-vy3(i)
208 vy24(i)=vy2(i)-vy4(i)
210 exy(i)=exy(i)+px1(i)*vy13(i)+px2(i)*vy24(i)
211 eyy(i)=py1(i)*vy13(i)+py2(i)*vy24(i)
subroutine cdefo3(jft, jlt, vl1, vl2, vl3, vl4, dt1c, px1, px2, py1, py2, area, exx, eyy, exy, exz, eyz, x2, x3, x4, y2, y3, y4, z2, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, ihbe)
subroutine cforc3_crk(timers, xfem_str, jft, jlt, pm, ixc, x, f, m, v, vr, failwave, nvc, mtn, geo, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, stifr, fsky, crksky, iadc, 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, kfts, ithk, iofc, ipla, nft, ismstr, fzero, igeo, ipm, ifailure, itask, jthe, temp, fthe, fthesky, iexpan, gresav, grth, igrth, msc, dmelc, jsms, table, iparg, ixfem, inod_crk, iel_crk, iadc_crk, elcutc, sensors, ixel, stack, isubstack, uxint_mean, uyint_mean, uzint_mean, nlevxf, nodedge, crkedge, drape_sh4n, ipri, nloc_dmg, indx_drape, igre, dt, snpc, stf, glob_therm, userl_avail, maxfunc, sbufmat)