36 1 NSN ,NMN ,A ,CRST ,NSV ,
37 2 MS ,WEIGHT ,STIFN ,MMASS ,FSKYI2 ,
38 3 IADI2 ,I0 ,NIR ,I2SIZE ,IDEL2 ,
39 4 SMASS ,IRECT ,X ,V ,FSAV ,
40 5 FNCONT ,IRTL ,INDXC ,IADX ,H3D_DATA,
41 6 IN ,SINER ,DPARA ,MSEGTYP2,AR ,
42 7 STIFR ,CSTS_BIS,T2FAC_SMS,FNCONTP,FTCONTP)
50#include "implicit_f.inc"
54 INTEGER NSN, NMN, I0, NIR, I2SIZE, IDEL2,
55 . IRECT(4,*),IADI2(NIR,*), NSV(*), WEIGHT(*), IRTL(*),
56 . INDXC(NSN),IADX(NSN),MSEGTYP2(*)
59 . X(3,*),V(3,*),A(3,*), CRST(2,*), (*), STIFN(*), MMASS(*),
60 . FSKYI2(I2SIZE,*), SMASS(*),FSAV(*),FNCONT(3,*),IN(*),SINER(*),
61 . dpara(7,*),ar(3,*),stifr(*),csts_bis(2,*),t2fac_sms(*),
62 . fncontp(3,*) ,ftcontp(3,*)
63 TYPE (H3D_DATABASE) :: H3D_DATA
72 INTEGER I, I1, I2, I3, II, NN, , J,K, JJ, I0BASE,
76 . SS, ST, XMSI,FS(3),SP,SM,TP,TM,
77 . H(4),E1X,E1Y,E1Z,E2X,E2Y,E2Z,E3X,E3Y,E3Z,
78 . X1,X2,X3,X4,Y1,Y2,Y3,Y4,Z1,Z2,Z3,Z4,X0,Y0,Z0,XS(3),XM(3),
79 . stifm,fmx(4),fmy(4),fmz(4),fx(4),fy(4),fz(4),
80 . rx(4),ry(4),rz(4),rs(3),flx,fly,flz,fac_triang,dwdu,stbrk,
81 . mxs,mys,mzs,stifmr,rm(3),betax,betay,h2(4)
84#include "vectorize.inc"
106 h(3) = one-crst(1,ii)-crst(2,ii)
108 h2(1) = csts_bis(1,ii)
109 h2(2) = csts_bis(2,ii)
110 h2(3) = one-csts_bis(1,ii)-csts_bis(2,ii)
141 IF (msegtyp2(l)==0)
THEN
165 CALL i2rep(x1 ,x2 ,x3 ,x4 ,
170 . e3x ,e3y ,e3z ,nirl)
174 x0 = fourth*(x1 + x2 + x3 + x4)
175 y0 = fourth*(y1 + y2 + y3 + y4)
176 z0 = fourth*(z1 + z2 + z3 + z4)
179 x0 = third*(x1 + x2 + x3)
180 y0 = third*(y1 + y2 + y3)
181 z0 = third*(z1 + z2 + z3)
206 xm(1) = x1*h(1) + x2*h(2) + x3*h(3) + x4*h(4)
207 xm(2) = y1*h(1) + y2*h(2) + y3*h(3) + y4*h(4)
208 xm(3) = z1*h(1) + z2*h(2) + z3*h(3) + z4*h(4)
212 rs(1) = xs(1)*e1x + xs(2)*e1y
213 rs(2) = xs(1)*e2x + xs(2)*e2y + xs(3)*e2z
214 rs(3) = xs(1)*e3x + xs(2)*e3y + xs(3)*e3z
216 rm(1) = xm(1)*e1x + xm(2)*e1y + xm(3)
218 rm(3) = xm(1)*e3x + xm(2)*e3y + xm(3)*e3z
220 rx(1) = e1x*x1 + e1y*y1 + e1z*z1
221 ry(1) = e2x*x1 + e2y*y1 + e2z*z1
222 rz(1) = e3x*x1 + e3y*y1 + e3z*z1
223 rx(2) = e1x*x2 + e1y*y2 + e1z*z2
224 ry(2) = e2x*x2 + e2y*y2 + e2z*z2
225 rz(2) = e3x*x2 + e3y*y2 + e3z*z2
226 rx(3) = e1x*x3 + e1y*y3 + e1z*z3
227 ry(3) = e2x*x3 + e2y*y3 + e2z*z3
228 rz(3) = e3x*x3 + e3y*y3 + e3z*z3
229 rx(4) = e1x*x4 + e1y*y4 + e1z*z4
230 ry(4) = e2x*x4 + e2y*y4 + e2z*z4
231 rz(4) = e3x*x4 + e3y*y4 + e3z*z4
234 CALL i2cin_rot27(stbrk,rs,rm,rx(1),ry(1),rz(1),rx(2),ry(2),rz(2),rx(3),ry(3),rz(3),
235 . rx(4),ry(4),rz(4),dpara(1,ii),dwdu,e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z,
238 IF (weight(i) == 1)
THEN
242 flx = a(1,i)*e1x + a(2,i)*e1y + a(3,i)*e1z
243 fly = a(1,i)*e2x + a(2,i)*e2y + a(3,i)*e2z
244 flz = a(1,i)*e3x + a(2,i)*e3y + a(3,i)*e3z
254 mxs = ar(1,i)*e1x + ar(2,i)*e1y + ar(3,i)*e1z
255 mys = ar(1,i)*e2x + ar(2,i)*e2y + ar(3,i)*e2z
256 mzs = ar(1,i)*e3x + ar(2,i)*e3y + ar(3,i)*e3z
260 . fmx ,fmy ,fmz ,h ,stifm ,
261 . mxs ,mys ,mzs ,stifmr ,betax ,
270 . fmx ,fmy ,fmz ,h ,stifm ,
271 . mxs ,mys ,mzs ,stifmr ,betax ,
279 fx(j) = e1x*fmx(j) + e2x*fmy(j) + e3x*fmz(j)
280 fy(j) = e1y*fmx(j) + e2y*fmy(j) + e3y*fmz(j)
281 fz(j) = e1z*fmx(j) + e2z*fmy(j) + e3z*fmz(j)
287 ELSEIF (weight(i) == 1)
THEN
311 IF (weight(i) == 1)
THEN
315 i0 = i0base + iadx(k)
320 fskyi2(4,nn) = xmsi*h2(1)
321 fskyi2(5,nn) = stifn(i)*(one+stbrk)*(abs(h(1))+stifm)+stifr(i)*stifmr*dwdu
327 fskyi2(4,nn) = xmsi*h2(2)
328 fskyi2(5,nn) = stifn(i)*(one+stbrk)*(abs(h(2))+stifm)+stifr(i)*stifmr*dwdu
334 fskyi2(4,nn) = xmsi*h2(3)
335 fskyi2(5,nn) = stifn(i)*(one+stbrk)*(abs(h(3))+stifm)+stifr(i)*stifmr*dwdu
341 fskyi2(4,nn) = xmsi*h2(4)
342 fskyi2(5,nn) = stifn(i)*(one+stbrk)*(abs(h(4))+stifm*fac_triang)+stifr(i)*stifmr*dwdu*fac_triang
344 IF(idtmins==2.OR.idtmins_int/=0)
THEN
346 t2fac_sms(i) = (one+stbrk)*(one+stifm)
353 . irect(1,l),nir ,fsav ,fncont ,fncontp,
354 . ftcontp ,weight ,h3d_data,i ,h)
356 IF (iroddl == 0)
THEN
358 IF(idel2/=0.AND.ms(i)/=0.)smass(ii)=ms(i)
366 ELSEIF (weight(-i) == 1)
THEN
367 i0 = i0base + iadx(k)