Component Manual for the Neutron Ray-Tracing Package McStas, version 3.8.6

6.2  The FermiChopper McStas Component

Fermi Chopper with rotating frame.

Identification

Description

Models a fermi chopper with optional supermirror coated blades supermirror facilities may be disabled by setting m = 0, R0=0 Slit packages are straight. Chopper slits are separated by an infinitely thin absorbing material. The effective transmission (resulting from fraction of the transparent material and its transmission) may be specified. The chopper slit package width may be specified through the total width ’xwidth’ of the full package or the width ’w’ of each single slit. The other parameter is calculated by: xwidth = nslit*w. The slit package may be made curved and use super-mirror coating.

Example:

FermiChopper(phase=-50.0, radius=0.04, nu=100, yheight=0.08, w=0.00022475, nslit=200.0, R0=0.0, Qc=0.02176, alpha=2.33, m=0.0, length=0.012, eff=0.95)

%VALIDATION Apr 2005: extensive external test, most problems solved (cf. ’Bugs’) Validated by: K. Lieutenant, E. Farhi

limitations: no absorbing blade width used

Input parameters

Parameters in boldface are required; the others are optional.

Name

Unit

Description

Default

phase

deg

chopper phase at t=0

0

radius

m

chopper cylinder radius

0.04

nu

Hz

chopper frequency. Omega=2*PI*nu in rad/s, nu*60 in rpm. Positive value corresponds to a counter-clockwise rotation around y.

100

w

m

width of one chopper slit

0.00022475

nslit

1

number of chopper slits

200

R0

1

low-angle reflectivity

0.0

Qc

Å\(^{-1}\)

critical scattering vector

0.02176

alpha

Å

slope of reflectivity

2.33

m

1

m-value of material. Zero means completely absorbing.

0.0

W

Å\(^{-1}\)

width of supermirror cut-off

2e-3

length

m

channel length of the Fermi chopper

0.012

eff

1

efficiency = transmission x fraction of transparent material

0.95

zero_time

1

set time to zero: 0=no, 1=once per half cycle, 2=auto adjust phase

0

xwidth

m

optional total width of slit package

0

verbose

1

set to 1,2 or 3 gives debugging information

0

yheight

m

height of slit package

0.08

curvature

m\(^{-1}\)

Curvature of slits (1/radius of curvature).

0

delay

s

sets phase so that transmision is centered on ’delay’

0

Links

The Fermi-chopper


PIC PIC

Figure 6.3.: Geometry of the Fermi-chopper (left) and Neutrons in the chopper (right).


The chopper geometry and parameters

The Fermi chopper is a rotating vertical cylinder containing a set of collimating slits (slit package). Main geometry parameters are the radius \(R\), minimum and maximum height \(y_{min}\) and \(y_{max}\) (see Fig. 6.3). In this implementation, the slits are by default straight, but may be coated with super-mirror, and curved. Main parameters for the slits are the number of slits \(Nslit\), the length \(length\) and width \(w\) of each slit, the width of the separating Cd-blades is neglected. The slit walls reflectivity is modelled just like in guide components by the \(m\)-value (\(m > 1\) for super mirrors), the critical scattering vector \(Q_c\), the slope of reflectivity \(\alpha \), the low-angle reflectivity \(R_0\) and the width of supermirror cut-off \(W\). For \(m=0\) the blades are completly absorbing. The AT position of the component is its center.

The angular speed of the chopper is \(\omega = 2\pi \nu \), where \(\nu \) is the rotation frequency. The angle \(phase\) for which the chopper is in the ’open’ state for most of the neutrons coming in (z’ axis of the rotating frame parallel to the z axis of the static frame) is also an input parameter. The time window may optionally be shifted to zero when setting the zero_time=1 option. A phase guess value may be set automatically using the zero_time=2 option.

The curvature of the slit channels is specified with the curvature parameter. Positive sign indicates that the deviation ’bump’ due to curvature is in the \(x'\) positive side, and the center of curvature is in the \(x'\) negative side. The optimal radius of curvature \(R\) is related to frequency \(\nu \) and neutron velocity \(v\) with: \(v=4 \pi R \nu \).

The component was validated extensively by K. Lieutenant. As an alternative, one may use the Vitess_ChopperFermi component (eventhough slower and without super-mirror support) or the FermiChopper_ILL contributed component. The Guide_gravity component has also a rotating mode, using an approximation of a Fermi Chopper.





Parameter unit

meaning




radius [m]

chopper cylinder radius

ymin [m]

lower y bound of cylinder

ymax [m]

upper y bound of cylinder

Nslit [1]

number of chopper slits

length [m]

channel length of the Fermi chopper

w [m]

width of one chopper slit. May also be specified as width=w*Nslit for total width of slit package.

nu [Hz]

chopper frequency

phase [deg]

chopper phase at t=0

zero_time [1]

shit time window around 0 if true

curvature [m\(^{-1}\)]

Curvature of slits (1/radius of curvature)




m [1]

alpha [Å]

Qc [Å\(^{-1}\)]

slit coating parameters. See section 5.1.0.0

W [Å\(^{-1}\)]

R0 [1]





Table 6.3.: FermiChopper component parameters

Propagation in the Fermi-chopper

As can be seen in figure 6.3, neutrons first propagate onto the cylinder surface of the chopper (yellow curve). Then the program checks the interaction with the entrance of the slit package (orange line) and calculates which slit is hit. If the slit coating is reflecting (\(m > 0\)), multiple reflections are calculated (green, blue and maroon circles), otherwise the neutrons are absorbed as soon as they interact with the blades. Finally the remaining neutrons propagate to the exit of the chopper (red curve).

The rotation of the chopper is characterized by the angle \(\delta \) between the rotating z’ and the static z-axis. \(\delta (t)\) is defined by:

\[\delta (t) = \widehat {z,z'} = \omega .(t-t_0) = \omega .t+\phi _0\]

where \(t\) is the absolute time, \(t_0\) is the chopper delay, and \(\phi _0\) is the chopper phase. The chopper should better be time focussing: slow neutrons should pass before the fast ones, so that they finally hit the detectors at the same time. Therefore the signs of \(\omega \) and \(\delta \) are very important: For \(t>t_0\), \(\delta \) is positive and points anti-clockwise.

Since the rotation is applied along the y - axis, we can simplify the problem to two dimensions. The orthogonal transformation matrix \(T\) from the static \((zx)\) to the rotating frame \((z'x')\) is: \begin {equation} T_{zx \rightarrow z'x'} = \left ( \begin {array}{cc} \cos (\delta ) & \sin (\delta ) \\ -\sin (\delta ) & \cos (\delta ) \end {array} \right ) \end {equation}


PIC PIC

Figure 6.4.: The x’ and z’ component as a function of time in the rotating frame (left). A typical neutron trajectory in the rotating frame (right).


Together with the equation for a non-accelerated, linear propagation \(\vec {r} = \vec {r_0}+\vec {v}t\) the orthogonal transformation produces a curve in the Z’-X’-plane known as archidemic spiral, as can be seen in figure 6.4. The two vector components \(s(t) = (z',x')\) follow the equation: \begin {equation} s(t) = \left ( \begin {array}{c} z' \\ x' \end {array} \right ) = T.\left ( \begin {array}{c} z(t) \\ x(t) \end {array} \right ) = \left ( \begin {array}{c} (z_0+v_z.t)cos(\delta (t)) + (x_0+v_x.t)sin(\delta (t)) \\ -(z_0+v_z.t)sin(\delta (t)) + (x_0+v_x.t)cos(\delta (t)) \end {array} \right ). \label {eq:Txz} \end {equation} For a fixed chopper rotation speed, the neutron trajectory tends to strech from a spiral curve for slow neutrons to a straight line for fast neutrons. For real Fermi chopper settings \(\nu \) (about 100 Hz on IN6 at the ILL), neutron trajectories are found to be nearly straight for 1000 m/s neutron velocities [Bla83].

The basis of the algorithm is to find the intersections of these spiral trajectories with the chopper outer cylinder and then the slit package, in the rotating frame.

For this purpose, the Ridders’s root finding method was implemented [Pre+02] in order to solve \begin {equation} x'(t) = d \textrm {\ or\ } z'(t) = d \label {eq:Ridder} \end {equation} This method provides faster and more accurate intersection determination than other common algorithms. E.g. the secant method fails more often and may give wrong results (outside chopper) whereas the bisection method (a.k.a Picard dichotomy) is slightly slower.

Standard slit packages (non super-mirror)


PIC PIC

Figure 6.5.: The different steps in the algorithm (left). A neutron trajectory in a slit (right)


The neutrons are first propagated to the outer chopper cylinder and their coordinates are transformed into the rotating frame using \(T\). Neutrons outside the slit channel (chopper opening), or hitting the top and bottom caps are absorbed (yellow dots in Fig. 6.3). The side from which the neutron approaches the chopper is known (positive or negative z’-axis of the rotating frame) so that the calculation of the time of interaction with the slit package entrance \(t_1\) is performed solving \(z' = \pm \frac {\textrm {length}}{2}\) in Eq. (6.2). Using the result of the numerical algorithms the neutron propagates to the entrance of the slit package (orange circles in Fig. 6.3). Neutrons getting aside the slit package entrance are absorbed. Additionally, the slit package exit time \(t_2\) is estimated the same way with \(z' = \mp \frac {\textrm {length}}{2}\), in order to evaluate the whole time-of-flight in the chopper. The index of the slit which was hit is also computed, as we know the \(x'\) coordinate in the rotating frame at the slit entrance.

Differentiating Eq. (6.2) for \(x\) coordinate \begin {equation} \dot {x'}(t) = v_x'(t) = [v_x-\omega .(z+v_z.t)]\cos (\omega (t-t_0)) - [v_z+\omega .(x+v_x.t)]\sin (\omega (t-t_0)) \end {equation} we may estimate the tangents to the spiral neutron trajectory in the rotating frame at times \(t_1\) and \(t_2\). The intersection of these two lines gives an intermediate time \(t_3\).

If the neutron remains in the same slit at this point, then there is no intersection with the slit walls (direct flight), and the neutron may be propagated to the slit output, and then to the cylinder output. A last check is made for the neutron to pass the chopper aperture in the cylinder.

If the neutron changes of slit channel at this point, we may determine the intersection time of the neutron trajectory within \([ t_1, t_3 ]\) or \([ t_3, t_2 ]\), as seen in Fig. 6.5. If walls are not reflecting, we just absorb neutrons here.

The reflections (super-mirror slits)

If slit walls are reflecting, neutron is first propagated to the slit separating surface. Then the velocity in the rotating frame is computed using Eq. (6.2). Perpendicular velocity \(v_x'\) is reverted for reflection, and inverse \(T\) transformation is performed. Reflected intensity is computed the same way as for the guide component (see section 5.1). The remaining time \(t_2\) to the slit output is estimated and the tangent intersection process is iterated, until neutron exits. Remember that super mirror \(m < 1\) parameters behave like \(m=1\) materials (see section 5.1.0.0). Selecting \(m=0\) sets the blabes absorbing.

The propagation is finalized when determining the intersection of the neutron trajectory with the outer surface of the chopper cylinder. The neutron must then pass its aperture, else it is absorbed.

WARNING: Issues have been reported for the supermirror slit option in this component. The component works correctly when using the standard, absorbing slits. We will be back with more information during the course of 2017. Meanwhile we suggest to instead use Guide_channeled with the rotate/derotate option shown in the test instrument Test_Fermi.instr.

Curved slit packages

The effect of curvature can significantly improve the flux and energy resolution shape.

As all \((zx)\) cordinates are transformed into \((z'x')\), the most efficient way to take into account the curvature is to include it in the transformation Eq. (6.2) by ’morphing’ the curved rotating real space to a straight still frame. We use parabolic curvature for slits. Then instead of solving \begin {equation} x'(t) = d - \Delta _{x'}(z') \textrm {\ where\ } \Delta _{x'}(z')=R_{slit}.(1-\sqrt {1-(z'/R_{slit})^2}) \end {equation} with \(\Delta \) being the gap between the straight tangent line at the slit center and the real slit shape, we perform the additional transformation \begin {equation} x' \rightarrow x' + \Delta _{x'}(z') \end {equation} The additional transformation counter-balances the real curvature so that the rest of the algorithm is written as if slits were straight. This applies to all computations in the rotating frame, and thus as well to reflections on super mirror coatings.