[ Identification | Description | Input parameters | Links ]
Vertical_Bender
ComponentBased on Pol_bender written by Peter Christiansen Models a rectangular curved guide with entrance on Z axis. Entrance is on the X-Y plane. Draws a correct depiction of the guide with multiple channels - i.e. following components need to be displaced. Guide can contain multiple channels using horizontal blades Reflectivity modeled using StdReflecFunc and {R0, Qc, alpha, m, W} can be set for top (outside of curve), bottom (inside of curve) and sides (both sides equal), blades reflectivities match top and bottom (each channel is like a "mini guide"). Neutrons are tracked, with gravity, inside the wall of a cylinder using distance steps of diststep1. Upon crossing the inner or outer wall, the final step is repeated using steps of diststep2, thus checking more closely for the first crossing of either wall. If diststep1 is too large than a "grazing incidence reflection" may be missed altogether. If diststep1 is too small, then the code will run slower! Exact intersection tmes with the flat sides and ends of the bender channel are calculated first in order to limit the time spent tracking curved trajectories. Turning gravity off will not make this run any faster, as the same method is used. 28/06/2017 still need validation against other codes (e.g. for gravity off case) Example: Vertical_Bender(xwidth = 0.05, yheight = 0.05, length = 3.0, radius = 70.0, nslit = 5, d=0.0005, diststep1=0.020, diststep2=0.002, rTopPar={0.99, 0.219, 6.07, 3.0, 0.003}, rBottomPar={0.99, 0.219, 6.07, 2.0, 0.003}, rSidesPar={0.99, 0.219, 6.07, 2.0, 0.003}, See example instrument Test_Vert_Bender %BUGS Original code did not work with rotation about axes and gravity. This tedious tracking method should work (28/6/17 still under test) for a vertical bender, with optional rotation about x axis and gravity (and likely rotation about y axis but needs testing, and even perhaps rotation about z axis as in rotated local frame Gx then is non zero but the edge solver still works). Would also need test the drawing in trace mode). GRAVITY : Yes, when component is not rotated
Name | Unit | Description | Default | |
rTopPar | Parameters for reflectivity of bender top surface | {0.99, 0.219, 6.07, 0.0, 0.003} | ||
rBottomPar | Parameters for reflectivity of bender bottom surface | {0.99, 0.219, 6.07, 0.0, 0.003} | ||
rSidesPar | Parameters for reflectivity of bender sides surface | {0.99, 0.219, 6.07, 0.0, 0.003} | ||
xwidth | Width at the guide entry (m) | |||
yheight | Height at the guide entry (m) | |||
length | length of guide along center (m) | |||
radius | Radius of curvature of the guide (+:curve up/-:curve down) (m) | |||
G | 9.8 | |||
nchan | Number of channels (1) | 1 | ||
d | Width of spacers (subdividing absorbing walls) (m) | 0.0 | ||
debug | 0 to 10 for zero to maximum print out - reduce number of neutrons to run ! | 0 | ||
endFlat | If endflat>0 then entrance and exit planes are parallel. (1) | 0 | ||
drawOption | 1 | |||
alwaystrack | 0 | |||
diststep1 | inital collision search steps for trajectory in cylinder when gravity is non zero ( 0.020 m) | 0.020 |
AT ( | , | , | ) RELATIVE | |||
---|---|---|---|---|---|---|
ROTATED ( | , | , | ) RELATIVE |
Vertical_Bender.comp
.
[ Identification | Description | Input parameters | Links ]
Generated on 2023-09-19 20:01:36