[ Identification | Description | Examples | Input parameters | Links ]

The NXdisk_chopper_image Instrument

Project a parked NXdisk_chopper onto an imaging plane; scan the park angle for a movie of the disc turning.

Identification

Description

A shadowgraph, not a simulation. A flat, monochromatic, perfectly collimated
field larger than the disc falls on one parked chopper, and a PSD a millimetre
behind it records what got through. With `abs_out = 1` everything but an
opening absorbs -- the disc body, the hub, and the field outside the rim -- so
the image *is* `slit_edges`, drawn as annular sectors between `yheight` and
`radius`. Reading the geometry off the picture is the point: the arcs' outer
radius is the disc's, their inner radius is the hub's, and their angular
extents are the openings.

The disc has five openings of five different widths (8, 15, 25, 40 and 60
degrees) at unevenly spaced angles. Nothing about it is symmetric, so any
rotation of the image is distinguishable from any other -- which is what makes
a scan of `park` legible as a movie rather than as an ambiguous flicker.

One frame:

mcstas-antlr NXdisk_chopper_image.instr
./NXdisk_chopper_image.out -n 262144 park=0

The movie, at five degrees a frame:

mcrun NXdisk_chopper_image.instr park=0,355 -N 72 -n 262144 -d frames

`-n` should be exactly `npix * npix` (262144 for the default 512). The source
rasters one ray per pixel onto the PSD's own grid rather than sampling at
random, so at that count every pixel gets exactly one ray, the image carries no
shot noise at all, and successive frames differ only where the disc moved. A
larger `-n` has to be a whole multiple or the last partial pass brightens one
band of the image; a smaller one leaves the top of the frame black.

Run it single-process. Under MPI the ray index is offset per node, which
scrambles the raster.

The same movie with the disc turning instead of parked, which exercises the
other branch of the component's TRACE:

mcrun NXdisk_chopper_image.instr nu=14 delay=0,-0.0714 -N 72 -n 262144 -d turning

These are the same movie, frame for frame and pixel for pixel: rays cross the
disc at t = 0, so a turning disc stands at `mark = -360 nu delay` and reaches
the parked orientation `park` at `delay = -park / (360 nu)`. One period is
`1/nu`, hence the -0.0714 for a full turn at 14 Hz. Checking the two against
each other is the point -- the parked branch is the one a commissioning run
uses and the turning branch is the one every simulation uses, and nothing else
here makes them meet.

Examples

(Test cases in bold)

Input parameters

Parameters in boldface are required; the others are optional.
NameUnitDescriptionDefault
parkdegwhere the disc's zero mark stands while parked; scan this for a movie0
nuHzsigned rotation frequency; 0 (the default) parks the disc0
delayswhen the zero mark is on the beam, read only when nu is non-zero0
beam_angledegwhere the beam crosses the disc, from the zero mark0
zero_angledegfrom +y to the top-dead-centre pickup0
disc_radiusmouter radius of the disc0.35
slit_heightmradial clearance of the openings across the whole window0.30
slit_widthmwidth of the beam window on the disc; 0 leaves the openings unrestricted0
lambdaAAwavelength of the illuminating field2.0
fieldmside of the square illuminated area and of the PSD0.72
npix1pixels per side of the PSD, and rays per side of the raster512

Links


[ Identification | Description | Examples | Input parameters | Links ]

Generated for mcstas 3.8.4