31 SUBROUTINE cutcnt(OUTPUT,ICUT,XCUT,IXS,XYZ0,D,LEN)
36 use element_mod ,
only : nixs
42#include "implicit_f.inc"
47#include "scrcut_c.inc"
51 type(output_),
intent(inout) :: output
52 my_real xcut(7,*),xyz0(3,*),d(3,*)
58 my_real dist,dist0,distmin,distmax,dd,dx1,dy1,dz1,dx2,dy2,dz2,vnx,vny,vnz,x,y,z
66 dd=output%DTANIM*xcut(7,ic)
67 xcut(1,ic)=xcut(1,ic)+dd*xcut(4,ic)
68 xcut(2,ic)=xcut(2,ic)+dd*xcut(5,ic)
69 xcut(3,ic)=xcut(3,ic)+dd*xcut(6,ic)
71 xcut(1,ic)=xyz0(1,icut(2,ic))
72 xcut(2,ic)=xyz0(2,icut(2,ic))
73 xcut(3,ic)=xyz0(3,icut(2,ic))
74 dx1=xyz0(1,icut(3,ic))-xcut(1,ic)
75 dy1=xyz0(2,icut(3,ic))-xcut(2,ic)
76 dz1=xyz0(3,icut(3,ic))-xcut(3,ic)
77 dx2=xyz0(1,icut(4,ic))-xcut(1,ic)
78 dy2=xyz0(2,icut(4,ic))-xcut(2,ic)
79 dz2=xyz0(3,icut(4,ic))-xcut(3,ic)
83 dd=sqrt(vnx**2+vny**2+vnz**2)
91 dist0=xcut(4,ic)*xcut(1,ic)+xcut(5,ic)*xcut(2,ic)+xcut(6,ic)*xcut(3,ic)
105 dist=x*xcut(4,ic)+y*xcut(5,ic)+z*xcut(6,ic)-dist0
106 distmin=
min(dist,distmin)
107 distmax=
max(dist,distmax)
109 IF(distmin*distmax<= zero)len=len+1