32 SUBROUTINE i2_dtn_28(X,INTBUF_TAB,IPARI,STIFN,MS,IN,N,NSN)
40#include "implicit_f.inc"
49 INTEGER IPARI(NPARI,*),NSN,N
51 . x(3,*),stifn(*),ms(*),in(*)
53 TYPE(intbuf_struct_) INTBUF_TAB(*)
57 INTEGER I,NI,NINDXC,NINDXP
63 IF (intbuf_tab(n)%IRUPT(i) == 0)
THEN
71 CALL i2_dtn_28_cin(x,intbuf_tab(n)%IRECTM,intbuf_tab(n)%NSV,intbuf_tab(n)%IRTLM,
72 . ipari(1,n),stifn, stifn(numnod+1),ms,in,intbuf_tab(n
76 CALL i2_dtn_28_pen(x,intbuf_tab(n)%IRECTM,intbuf_tab(n)%CSTS,intbuf_tab(n)%NSV,intbuf_tab(n)%IRTLM,
77 . ipari(1,n),stifn,intbuf_tab(n)%SPENALTY,
78 . intbuf_tab(n)%STFR_PENALTY,intbuf_tab(n)%VARIABLES(14),in
89 2 IPARI, STIFN, STIFR, MS, IN,IRUPT)
96#include "implicit_f.inc"
101 INTEGER IRECT(4,*), NSV(*),IRTL(*),IPARI(*),IRUPT(*)
102 my_real x(3,*),stifn(*),stifr(*), ms(*), in(*)
106 INTEGER II,I,J,JJ,L,J1,J2,J3,J4,NIR,NRTM,NSN,NMN
108 . x1,x2,x3,x4,y1,y2,y3,y4,z1,z2,z3,z4,xs,ys,zs,x0,y0,z0,
109 . xx,yy,zz,xxx,yyy,zzz,xy,yz,zx,xy2,yz2,zx2
110 . x12,x22,x32,x42,y12,y22,y32,y42,z12,z22,z32,z42,
111 . a1,a2,a3,b1,b2,b3,c1,c2,c3,mr,mrx,mry,mrz,inx,iny,inz,stf,fact,
119 IF (irupt(ii) /= 0) cycle
140 x0=fourth*(x1+x2+x3+x4)
141 y0=fourth*(y1+y2+y3+y4)
142 z0=fourth*(z1+z2+z3+z4)
171 xx=x12 + x22 + x32 + x42
172 yy=y12 + y22 + y32 + y42
173 zz=z12 + z22 + z32 + z42
174 xy=x1*y1 + x2*y2 + x3*y3 + x4*y4
175 yz=y1*z1 + y2*z2 + y3*z3 + y4*z4
176 zx=z1*x1 + z2*x2 + z3*x3 + z4*x4
184 det=one/
max(det,em20)
192 IF (iroddl == 1)
THEN
193 inx= in(i) + ms(i)*(xs*xs+ys*ys+zs*zs)
195 inx= ms(i)*(xs*xs+ys*ys+zs*zs)
201 mr=det*inx*
max(mrx,mry,mrz)
205 IF (in(j1)>zero.AND.in(j2)>zero.AND.in(j3)>zero.AND.in(j4)>zero)
THEN
211 xmsi=fourth*ms(i)+mr*fact
218 IF (iroddl == 1)
THEN
219 stf = fourth*stifn(i)
220 . + det*
max(mrx,mry,mrz)*(stifr(i)+stifn(i)*(xs*xs+ys*ys+zs*zs))
222 stf = fourth*stifn(i)
223 . + det*
max(mrx,mry,mrz)*(stifn(i)*(xs*xs+ys*ys+zs*zs))
226 stifn(j1)=stifn(j1) + stf
227 stifn(j2)=stifn(j2) + stf
228 stifn(j3)=stifn(j3) + stf
229 stifn(j4)=stifn(j4) + stf
232 in(j1)=in(j1)+inx*fourth*(one-fact)
233 in(j2)=in(j2)+inx*fourth*(one-fact)
234 in(j3)=in(j3)+inx*fourth*(one-fact)
235 in(j4)=in(j4)+inx*fourth*(one-fact)
260 3 STFR,VISC,IN,IRUPT)
264#include "implicit_f.inc"
268 INTEGER IRECT(4,*),NSV(*),IRTL(*),IPARI(*),IRUPT(*)
269 my_real X(3,*),IN(*),STIFN(*),STFN(*),STFR(*),CRST(2,*),VISC
273 INTEGER NIR,I,J,II,JJ,L,W,NN,KK,
274 . IX1, IX2, IX3, IX4,NSVG,NSN
276 . s,t,sp,sm,tp,tm,e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z,
277 . xsm,ysm,zsm,xm,ym,zm,x1,x2,x3,x4,y1,y2,y3,y4,z1,z2,z3,z4,x0,y0,z0,xs,ys,zs,stf_mom,
280 . h(4),h2(4),rx(4),ry(4),rz(4),rm(3),rs(3),stif,vis
282 . len2,fac_triang,irot,skew(9),tt,derx,dery,derz,det,b1,b2,b3,c1,c2,c3,bid,bid3(3)
291 IF (irupt(ii) == 0) cycle
313 tp = fourth*(one + t)
314 tm = fourth*(one - t)
353 CALL i2rep(x1 ,x2 ,x3 ,x4 ,
358 . e3x ,e3y ,e3z ,nir )
363 xm = x1*h2(1) + x2*h2(2) + x3*h2(3) + x4*h2(4)
364 ym = y1*h2(1) + y2*h2(2) + y3*h2(3) + y4*h2(4)
365 zm = z1*h2(1) + z2*h2(2) + z3*h2(3) + z4*h2(4)
366 x0 = (x1 + x2 + x3 + x4)/nir
367 y0 = (y1 + y2 + y3 + y4)/nir
368 z0 = (z1 + z2 + z3 + z4)/nir
381 x0 = (x1 + x2 + x3)/nir
382 y0 = (y1 + y2 + y3)/nir
383 z0 = (z1 + z2 + z3)/nir
385 xm = x1*h(1) + x2*h(2) + x3*h(3)
386 ym = y1*h(1) + y2*h(2) + y3*h(3)
387 zm = z1*h(1) + z2*h(2) + z3*h(3)
415 rs(1) = xs*e1x + ys*e1y + zs*e1z
416 rs(2) = xs*e2x + ys*e2y + zs*e2z
417 rs(3) = xs*e3x + ys*e3y + zs*e3z
418 rm(1) = xm*e1x + ym*e1y + zm*e1z
419 rm(2) = xm*e2x + ym*e2y + zm*e2z
420 rm(3) = xm*e3x + ym*e3y + zm*e3z
422 rx(1) = e1x*x1 + e1y*y1 + e1z
423 ry(1) = e2x*x1 + e2y*y1 + e2z*z1
424 rz(1) = e3x*x1 + e3y*y1 + e3z*z1
425 rx(2) = e1x*x2 + e1y*y2 + e1z*z2
426 ry(2) = e2x*x2 + e2y*y2 + e2z*z2
427 rz(2) = e3x*x2 + e3y*y2 + e3z*z2
428 rx(3) = e1x*x3 + e1y*y3 + e1z*z3
429 ry(3) = e2x*x3 + e2y*y3 + e2z*z3
430 rz(3) = e3x*x3 + e3y*y3 + e3z*z3
431 rx(4) = e1x*x4 + e1y*y4 + e1z*z4
432 ry(4) = e2x*x4 + e2y*y4 + e2z*z4
433 rz(4) = e3x*x4 + e3y*y4 + e3z*z4
443 . skew ,tt ,bid ,stbrk,
444 . rs ,rm ,bid3 ,bid3 ,bid3 ,
445 . rx ,ry ,rz ,bid3 ,bid3 ,
446 . bid3 ,bid3 ,bid3 ,bid3 ,det ,
447 . b1 ,b2 ,b3 ,c1 ,c2 ,
452 stf = stfn(ii)*(visc + sqrt(visc**2 + (one+stbrk)))**2
454 len2 = xsm**2+ysm**2+zsm**2
455 str = (stfr(ii)+stfn(ii)*len2)*(visc + sqrt(visc**2 + one))**2
461 stf_mom = det*
max(derx,dery,derz)*(str+stf*(xm*xm+ym*ym+zm*zm))
464 stifn(ix1) = stifn(ix1)+abs(stf*h(1))+stf_mom
465 stifn(ix2) = stifn(ix2)+abs(stf*h(2))+stf_mom
466 stifn(ix3) = stifn(ix3)+abs(stf*h(3))+stf_mom
467 stifn(ix4) = stifn(ix4)+abs(stf*h(4))+stf_mom
subroutine i2pen_rot28(skew, tt, dt1, stif, rs, rm, vx, vy, vz, rx, ry, rz, va, vb, vc, vd, vrm, vrs, det, b1, b2, b3, c1, c2, c3, in_secnd)
subroutine i2rep(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, nir)