50 . IRECT ,NIR ,FSAV ,FNCONT ,FNCONTP ,
51 . FTCONTP,WEIGHT ,H3D_DATA,NSL ,H)
57#include "implicit_f.inc"
61 INTEGER NSL,IRECT(4),NIR,WEIGHT(*)
64 . x(3,*),h(4),fsav(*),fncont(3,*),fncontp(3,*),ftcontp(3,*)
65 my_real ,
INTENT(IN) :: fs(3),fx(4),fy(4),fz(4)
66 TYPE (H3D_DATABASE) :: H3D_DATA
75 INTEGER N1,N2,N3,N4,J,JJ
78 . xc0,yc0,zc0,xc,yc,zc,x0,x1,x2,x3,x4,y0,y1,y2,y3,y4,
79 . z0,z1,z2,z3,z4,sx,sy,sz,tx,ty,tz,xcdg,ycdg,zcdg,mcdg,
80 . sum,fnorm,vnx,vny,vnz,vx,vy,vz,dt12m,fn(3),ft(3)
88 IF (weight(nsl)==1)
THEN
112 sx = x2 + x3 - x1 - x4
113 sy = y2 + y3 - y1 - y4
114 sz = z2 + z3 - z1 - z4
115 tx = x3 + x4 - x1 - x2
116 ty = y3 + y4 - y1 - y2
117 tz = z3 + z4 - z1 - z2
119 vnx = sy * tz - sz * ty
120 vny = sz * tx - sx * tz
121 vnz = sx * ty - sy * tx
122 sum = one / sqrt(vnx*vnx + vny*vny + vnz*vnz)
129 fnorm = vnx*fs(1) + vny*fs(2) + vnz*fs(3)
134 ft(1) = fs(1) - fn(1)
135 ft(2) = fs(2) - fn(2)
136 ft(3) = fs(3) - fn(3)
140 fsav(1) = fsav(1) + fn(1)*dt1
141 fsav(2) = fsav(2) + fn(2)*dt1
142 fsav(3) = fsav(3) + fn(3)*dt1
143 fsav(4) = fsav(4) + ft(1)*dt1
144 fsav(5) = fsav(5) + ft(2)*dt1
145 fsav(6) = fsav(6) + ft(3)*dt1
149 IF(anim_v(13)+h3d_data%N_VECT_CONT2>0)
THEN
150 fncont(1,nsl) = fncont(1,nsl) - fs(1)
151 fncont(2,nsl) = fncont(2,nsl) - fs(2)
152 fncont(3,nsl) = fncont(3,nsl) - fs(3)
155 fncont(1,j) = fncont(1,j) + fx(jj)
156 fncont(2,j) = fncont(2,j) + fy(jj)
157 fncont(3,j) = fncont(3,j) + fz(jj)
161 IF(anim_v(27)+h3d_data%N_VECT_PCONT2>0)
THEN
162 fncontp(1,nsl) = fncontp(1,nsl) - fs(1)
163 fncontp(2,nsl) = fncontp(2,nsl) - fs(2)
164 fncontp(3,nsl) = fncontp(3,nsl) - fs(3)
167 fncontp(1,j) = fncontp(1,j) + fx(jj)
168 fncontp(2,j) = fncontp(2,j) + fy(jj)
169 fncontp(3,j) = fncontp(3,j) + fz(jj)
177 ftcontp(1,j) = ftcontp(1,j) - ftcontp(1,nsl)*h(jj)
178 ftcontp(2,j) = ftcontp(2,j) - ftcontp(2,nsl)*h(jj)
179 ftcontp(3,j) = ftcontp(3,j) - ftcontp(3,nsl)*h(jj)
subroutine i2for3p(nsn, nmn, a, crst, msr, nsv, ms, weight, stifn, mmass, fskyi2, iadi2, i0, nir, i2size, irect, x, v, fsav, fncont, irtl, h3d_data, csts_bis, fncontp, ftcontp)
subroutine i2for3pn(nsn, nmn, a, crst, nsv, ms, weight, stifn, mmass, fskyi2, iadi2, i0, nir, i2size, idel2, smass, irect, x, v, fsav, fncont, irtl, h3d_data, csts_bis, fncontp, ftcontp)
subroutine i2forces(x, fs, fx, fy, fz, irect, nir, fsav, fncont, fncontp, ftcontp, weight, h3d_data, nsl, h)