32 . IRECT ,NIR ,FSAV ,FNCONT ,FNCONTP ,
33 . FTCONTP,WEIGHT ,H3D_DATA,NSL ,H)
39#include "implicit_f.inc"
43 INTEGER ,
INTENT(IN) :: NSL,IRECT(4),NIR,WEIGHT(NUMNOD)
44 my_real ,
INTENT(IN) :: X(3,NUMNOD),H(4)
45 my_real ,
INTENT(INOUT) :: fsav(6),fncont(3,numnod),fncontp(3,numnod),
47 my_real ,
INTENT(IN) :: fs(3),fx
58 INTEGER N1,N2,N3,N4,J,JJ
61 . xc0,yc0,zc0,xc,yc,zc,x0,x1,x2,y0,y1,y2,
62 . z0,z1,z2,xcdg,ycdg,zcdg,mcdg,
63 . sum,fnorm,vx,vy,vz,dt12m,fn(3),ft
71 IF (weight(nsl)==1)
THEN
91 sum = one / sqrt(vx*vx + vy*vy + vz*vz)
98 fnorm = vx*fs(1) + vy*fs(2) + vz*fs(3)
103 fn(1) = fs(1) - ft(1)
104 fn(2) = fs(2) - ft(2)
105 fn(3) = fs(3) - ft(3)
109 fsav(1) = fsav(1) + fn(1)*dt1
110 fsav(2) = fsav(2) + fn(2)*dt1
111 fsav(3) = fsav(3) + fn(3)*dt1
112 fsav(4) = fsav(4) + ft(1)*dt1
113 fsav(5) = fsav(5) + ft(2)*dt1
114 fsav(6) = fsav(6) + ft(3)*dt1
118 IF(anim_v(13)+h3d_data%N_VECT_CONT2>0)
THEN
119 fncont(1,nsl) = fncont(1,nsl) - fs(1)
120 fncont(2,nsl) = fncont(2,nsl) - fs(2)
121 fncont(3,nsl) = fncont(3,nsl) - fs(3)
124 fncont(1,j) = fncont(1,j) + fx(jj)
125 fncont(2,j) = fncont(2,j) + fy(jj)
126 fncont(3,j) = fncont(3,j) + fz(jj)
130 IF(anim_v(27)+h3d_data%N_VECT_PCONT2>0)
THEN
131 fncontp(1,nsl) = fncontp(1,nsl) - fs(1)
132 fncontp(2,nsl) = fncontp(2,nsl) - fs(2)
133 fncontp(3,nsl) = fncontp(3,nsl) - fs(3)
136 fncontp(1,j) = fncontp(1,j) + fx(jj)
137 fncontp(2,j) = fncontp(2,j) + fy(jj)
138 fncontp(3,j) = fncontp(3,j) + fz(jj)
146 ftcontp(1,j) = ftcontp(1,j) - ftcontp(1,nsl)*h(jj)
147 ftcontp(2,j) = ftcontp(2,j) - ftcontp(2,nsl)*h(jj)
148 ftcontp(3,j) = ftcontp(3,j) - ftcontp(3,nsl)*h(jj)
subroutine i2forces_2d(x, fs, fx, fy, fz, irect, nir, fsav, fncont, fncontp, ftcontp, weight, h3d_data, nsl, h)