31 SUBROUTINE bcscyc(IBCSCYC,LBCSCYC,SKEW,X,V,A,ITAB)
35#include "implicit_f.inc"
46 INTEGER IBCSCYC(4,*),LBCSCYC(
48 . x(3,*),v(3,*),a(3,*),skew(lskew,*)
52 INTEGER I, J ,ISK,IAD,NN,N1,N2,ID
63 CALL chkv0_cy(nn,lbcscyc(1,iad),isk,skew,x ,v,id,itab)
67 IF(idtmins == 2.OR.idtmins_int /= 0)
RETURN
73 CALL acc_cycon(nn,lbcscyc(1,iad),isk,skew,x ,a)
97#include "implicit_f.inc"
101#include "param_c.inc"
105 INTEGER NBCY_N,IXCYCL(2,*),ISK
107 . x(3,*),a(3,*),skew(lskew,*)
111 INTEGER I, J ,N1(NBCY_N),N2(NBCY_N)
114 . ccos1(nbcy_n),csin1(nbcy_n),ccos2(nbcy_n),csin2(nbcy_n),
115 . a_c1(3,nbcy_n),a_c2(3,nbcy_n),a_c(3,nbcy_n)
124 CALL v_c2cylin(nbcy_n,n1,x,a,skew(1,isk),skew(10,isk),ccos1,csin1,a_c1)
125 CALL v_c2cylin(nbcy_n,n2,x,a,skew(1,isk),skew(10,isk),ccos2,csin2,a_c2)
126 a_c(1:3,1:nbcy_n) = half*(a_c1(1:3,1:nbcy_n)+a_c2(1:3,1:nbcy_n))
127 CALL v_cyc2c(nbcy_n,skew(1,isk),ccos1,csin1,a_c,a_c1)
128 CALL v_cyc2c(nbcy_n,skew(1,isk),ccos2,csin2,a_c,a_c2)
130 a(1:3,n1(i)) = a_c1(1:3,i)
131 a(1:3,n2(i)) = a_c2(1:3,i)
142 SUBROUTINE v_c2cylin(NBCY,IX,X,V,SKEW,XYZ0,CCOS,CSIN,V_C)
146#include "implicit_f.inc"
152 . x(3,*),skew(9),xyz0(3),v(3,*),
153 . v_c(3,nbcy),ccos(nbcy),csin(nbcy)
160 . xx,yy,zz,xl,yl,zl,r2,cr(nbcy),cz(nbcy)
164 xx = x(1,ix(i))-xyz0(1)
165 yy = x(2,ix(i))-xyz0(2)
166 zz = x(3,ix(i))-xyz0(3)
167 xl = xx*skew(1)+yy*skew(2)+zz*skew(3)
168 yl = xx*skew(4)+yy*skew(5)+zz*skew(6)
169 zl = xx*skew(7)+yy*skew(8)+zz*skew(9)
180 xl = xx*skew(1)+yy*skew(2)+zz*skew(3)
181 yl = xx*skew(4)+yy*skew(5)+zz*skew(6)
182 zl = xx*skew(7)+yy*skew(8)+zz*skew(9)
183 v_c(1,i) = xl*ccos(i)+yl*csin(i)
184 v_c(2,i) = yl*ccos(i)-xl*csin(i)
190!||====================================================================
195 SUBROUTINE v_cyc2c(NBCY,SKEW,CCOS,CSIN,V_C,VC)
199#include "implicit_f.inc"
205 . skew(9),v_c(3,nbcy),ccos(nbcy),csin(nbcy),vc(3,nbcy)
216 xx = v_c(1,i)*ccos(i)-v_c(2,i)*csin(i)
217 yy = v_c(1,i)*csin(i)+v_c(2,i)*ccos(i)
219 xl = xx*skew(1)+yy*skew(4)+zz*skew(7)
220 yl = xx*skew(2)+yy*skew(5)+zz*skew(8)
221 zl = xx*skew(3)+yy*skew(6)+zz*skew(9)
231!||--- called by ------------------------------------------------------
239 SUBROUTINE chkv0_cy(NBCY_N,IXCYCL,ISK,SKEW,X ,V ,ID ,ITAB)
247#include "implicit_f.inc"
251#include "param_c.inc"
255 INTEGER NBCY_N,IXCYCL(2,*),ISK,ID,ITAB(*)
257 . x(3,*),v(3,*),skew(lskew,*)
261 INTEGER I, J ,N1(),N2(NBCY_N) ,II1,II2
264 . ccos(nbcy_n),csin(nbcy_n),v_c1(3,nbcy_n),v_c2(3,nbcy_n),
272 CALL v_c2cylin(nbcy_n,n1,x,v,skew(1,isk),skew(10,isk),ccos,csin,v_c1)
273 CALL v_c2cylin(nbcy_n,n2,x,v,skew(1,isk),skew(10,isk),ccos,csin,v_c2)
279 dv = abs(v_c1(2,i)-v_c2(2,i))
284 dvmean =dvmean + abs(v_c1(2,i))+abs(v_c2(2,i))
286 IF (nbcy_n>0) dvmean =half*dvmean/nbcy_n
287 IF (dvmax>zep05*dvmean.AND.dvmean>em06)
THEN
290 CALL ancmsg(msgid=285,anmode=aninfo,i1=id,i2=ii1,i3=ii2)
subroutine v_c2cylin(nbcy, ix, x, v, skew, xyz0, ccos, csin, v_c)
subroutine bcscyc(ibcscyc, lbcscyc, skew, x, v, a, itab)
subroutine chkv0_cy(nbcy_n, ixcycl, isk, skew, x, v, id, itab)
subroutine v_cyc2c(nbcy, skew, ccos, csin, v_c, vc)
subroutine acc_cycon(nbcy_n, ixcycl, isk, skew, x, a)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)