Home
McStas Component manual
Contents
1. Name Monitor nD Author System E Farhi Input parameters XL min Tmax Ymin Ymax Options Optional parameters file zwiath Yheight Zthick bins Min Max Notes The component Monitor nD is a general Monitor that may output any set of physical parameters regarding the passing neutrons The generated files are either a set of 1D signals Intensity vs Variable or a single 2D signal Intensity vs Variable 1 vs Variable 1 and possibly a simple long list of the selected physical parameters for each neutron The input parameters for Monitor nD are its dimensions Zmin Tmax Ymin Ymax in meters and an options string describing what to detect and what to do with the signals in clear language The width Yneights 2thick May also be used to enter dimensions Eventhough the possibilities of Monitor nD are numerous its usage remains as simple as possible specially in the options parameter which understands normal language The formatting of the options parameter is free as long as it contains some specific keywords that can be sometimes followed by values The no or not option modifier will revert next option The all option can also affect a set of monitor configuration parameters see below As the usage of this component enables to monitor virtually anything and thus the combinations of options and parameters is infinite we shall only present the most ba sic configuration The reader sh
2. Name PSD monitor Author System Input parameters Tmin Tmax U min Ymax Ng Ny filename Optional parameters Notes The component PSD monitor resembles other monitors e g TOF Monitor and also propagates the neutron ray to the detector surface in the x y plane where the detector window is set by the x and y input coordinates The PSD monitor though is not sensitive to the arrival time of the neutron ray but rather to its position The rectangular monitor window given by the x and y limits is divided into n x ny pixels The output from PSD monitor is the integrated counts n I Ma as well as three two dimensional arrays of counts n z y I x y Mo z y The arrays are written to a file filename and can be read e g by the tool MC plot see the system manual 9 5 Divergence monitor A divergence sensitive monitor Name Divergence monitor Author System Input parameters Tmin Tmax Umins Ymax Nv Nh Nv max Mh max filename Optional parameters Notes The component Divergence monitor is a two dimensional monitor which resembles PSD Monitor As for this component the detector window is set by the x and y input coordinates Divergence monitor is sensitive to the neutron divergence defined by ny tan v v and ny tan vy v The neutron counts are being histogrammed into ny x ny pixels The divergence range accepted is in the vertical direction Ny max Nv max and
3. mcdoc as well as the documentation of specific components e g with mcdoc text name mcdoc file comp The first line will search for all components matching the name and display their help section as text For instance mcdoc laz will list all available Lazy data files whereas mcdoc text Monitor willlist most Monitors The second example will display the help corresponding to the file comp component using yur BROWSER setting or as text if unset T he help option will display the command help as usual An overview of the component library is also given at the McStas home page 3 and in the User Manual 2 Riso R 1538 EN 11 MCSTAS data C coh C inc Cabs Tin c Note File name barns barns barns K m s Ag laz 4 407 0 58 63 3 12349 2600 A1203 sapphire laz 15 683 0 0188 0 4625 2273 Al laz 1 495 0 0082 0 231 933 5 5100 lau Au laz 7 32 0 48 98 65 1337 4 1740 BAC laz 19 71 6 801 3068 2718 Ba laz 3 23 0 15 29 0 1000 1620 Be laz 7 63 0 0018 0 0076 1560 13000 BeO laz 11 85 0 003 0 008 2650 lau Bi laz 9 148 0 0084 0 0338 544 5 1790 C60 lau 5 551 0 001 0 0035 C_diamond laz 5 551 0 001 0 0035 4400 18350 lau C_graphite laz 5 551 0 001 0 0035 3800 18350 lau Cd laz 3 04 3 46 2520 594 2 2310 Cr laz 1 660 1 83 3 05 2180 5940 Cs laz 3 69 0 21 29 0 301 6 1090 cin liquid Cu laz 7 485 0 55 3 78 1357 8 3570 Fe laz 11 22 0 4 2 56 1811 4910 Ga laz 6 675 0 16 2 75 302 91 2740 Gd laz 29 3 151 49700 1585 2680
4. Q 2 k sin 0 8 10 where Q is a vector of the reciprocal lattice and k is the wave vector of the neutron It is seen that only reciprocal vectors fulfilling Q lt 2 k contribute to the scattering For a complete treatment of the powder sample one needs to take into account all these Q values since each of them contribute to the attenuation The strength of the Bragg reflections is given by their structure factors 2 gt wj exp Ry Q 8 11 j Riso R 1538 EN 73 where the sum runs over all atoms in one unit cell This structure factor is non zero only when Q equals a reciprocal lattice vector The textbook expression for the scattering cross section corresponding to one Debye Scherrer cone reads 42 ch 3 6 with V NV being the total sample volume 3 Ocone 7 a y F Q 8 12 Q For our purpose this expression should be changed slightly Firstly the sum over structure factors for a particular Q is replaced by the sum over essentially different reflections multiplied by their multiplicity j Then a finite packing factor f is defined for the powder and finally the Debye Waller factor is multiplied on the elastic cross section to take lattice vibrations into account no inelastic background is simulated however We then reach jdofexp 2W F Q 8 13 Peons Q lE OXP V Asin N 4x jg F Q 2W 8 14 in the thin sample approximation For samples of finite thickness the beam is bei
5. The Bragg scattering from the powder ge c is calculated from the input file with the parameters Q F Q and j for the scattering vector structure factor and multiplicity respectively The volume of the unit cell is denoted Vo while the sample packing factor is pack Focusing is performed by only scattering into one angular interval d of the Debye Scherrer circle The center of this interval is located at the point where the Debye Scherrer 72 Riso R 1538 EN Figure 8 3 The scattering geometry of a powder sample showing part of the Debye Scherrer cone solid lines and the Debye Scherrer circle grey circle intersects the half plane defined by the initial velocity vi and a user specified vector f 8 2 3 Powder scattering An ideal powder sample consists of many small crystallites although each crystallite is sufficiently large not to cause measurable size broadening The orientation of the crystal lites is evenly distributed and there is thus always a large number of crystallites oriented to fulfill the Bragg condition n 2d sin 6 8 9 where n is the order of the scattering an integer A is the neutron wavelength d is the lattice spacing of the sample and 20 is the scattering angle see figure 8 3 As all crystal orientations are realised in a powder sample the neutrons are scattered within a Debye Scherrer cone of opening angle 40 41 Equation 8 9 may be cast into the form
6. 60 is one degree If 6 0 the collimating effect is disabled so that the component only consists of two rectangular apertures For a more detailed Soller collimator simulation taking every blade into account it is possible to use Channeled_guide with absorbing walls see section 5 3 y A A Ymax 7777 ees L z p Ymin 4 4 ieee E i x gt Tmin Tmax d Figure 4 1 The geometry of a simple Soller blade collimators The real Soller collimator seen from the top left and a sketch of the component Soller right The symbols are defined in the text 4 5 1 Collimator transmission The horizontal divergence a is defined as the angle between the neutron path and the vertical y z plane along the collimator axis We then define the collimation angle as the maximal allowed horizontal divergence 5 tan d L see Fig 4 1 Neutrons Riso R 1538 EN 39 Radial collimator DER NA uuni ylm oo Figure 4 2 A radial collimator with a horizontal divergence angle g gt will always hit at least one collimator blade and will thus be ABSORB ed For smaller divergence angles na lt 6 the fate of the neutron depends on its exact entry point Assuming that a typical collimator has many blades the absolute position of each bla
7. A component of the vector is referred to as POS A COMP INDEX index i where i is x y or z e POS R COMP INDEX works the same as above but with relative coordinates e STORE NEUTRON indez Y Z vx vy VZ t S sy sz p stores the current neu tron state in the trace history table in local coordinate system index is usually IN DEX CURRENT COMP This is automatically done when entering each component of an instrument e RESTORE NEUTRON indez z y Z vx vy vz t S sy sz p restores the neu tron state to the one at the input of the component index To ignore a component effect use RESTORE NEUTRON INDEX CURRENT COMP L Y Z Ux vy UZ t sx sy sz p at the end of its TRACE section or in its EXTEND section T hese neutron states are in the local component coordinate systems e SCATTERED is a variable set to 0 when entering a component which is incre mented each time a SCATTER event occurs This may be used in the EXTEND sections to determine whether the component interacted with the current neutron ray e extend list n amp arr amp len elemsize Given an array arr with len elements each of size elemsize make sure that the array is big enough to hold at least n elements by extending arr and lem if necessary Typically used when reading a list of numbers from a data file when the length of the file is not known in advance e mcset ncount n Sets the number of neutron histories to simulate to n
8. Another example using the component as a filter would be options energy multiply if the first column is E in meV The input parameters are the filter window size Emin Umar Ymins Ymax the behaviour specification string options and the file to use file Additionally rescaling can be made automatic with the scaling and relative thickness parameters If for instance the trans mission data file corresponds to a 5 cm thick filter and one would like to simulate a 10 cm thick filter then use thickness 2 Some example data files are given with McStas in the MCSTAS data directory as trm files for transmission The filter geometry is a flat plane A geometry with finite thickness can be simulated by surrounding this component with two slits 38 Riso R 1538 EN 4 5 Collimator linear The simple Soller blade collimator Name Author Input parameters Collimator linear System Tmin Cmaz Ymin Ymaz L Optional parameters Notes Collimator linear models a standard linear Soller blade collimator The collimator has two identical rectangular openings defined by the x and y values Neutrons not clearing both openings are ABSORB ed The length of the collimator blades is denoted L while the distance between blades is called d The collimating effect is taken care of by employing an approximately triangular trans mission through the collimator of width FWHM 9 which is given in arc minutes i e 6
9. Inf This expression is arrived at by again considering the projection onto the mirror nor mal see figure 5 3 The reflectivity of the mirror is taken into account as explained in section 5 1 Riso R 1538 EN 45 5 2 2 Algorithm 1 2 T 8 The neutron is initially propagated to the z 0 plane of the guide entrance If it misses the entrance it is ABSORB ed Otherwise repeatedly compute the time of intersection with the four mirror sides and the guide exit The smallest positive t thus found gives the time of the next intersection with the guide or in the case of the guide exit the time when the neutron leaves the guide Propagated the neutron ray to this point Compute the reflection from the side Update the neutron weight factor by the amount 7 R Q Repeat this process until the neutron leaves the guide There are a few optimizations possible here to avoid redundant computations Since the neutron is always inside the guide during the computations we always have O ro n lt 0 Thus t lt 0 if v n gt 0 so in this case there is no need to actually compute t Some redundant computations are also avoided by utilizing symmetry and the fact that many components of n and O are zero 46 Riso R 1538 EN 5 3 Guide channeled A guide section component with mul tiple channels Name Guide_channeled Author System Input parameters w1 h1 we he l k Mz My Opt
10. R cosO sin0u2 where 0 can be randomly drawn for a uniform distribution Finally we obtain Sua of EO ks y R cos 041 sin Gua 8 71 Extension to powder elastic scattering In principle the component can work in purely elastic mode if only the w 0 column is available in Anyway in the diffractionists world people do not usually define scattering with S q Eq 8 46 but through the scattering vector T multiplicity z 7 for powders and F structure factors including Debye Waller factors as in Eq 8 17 When doing diffraction and neglecting inelastic contribution as first approximation we may integrate Eq 8 43 keeping kj ky de ds dcon No dQ E ci Sco 8 72 5 coh el lal 0 dQdE p f Ar n q 5 nen Y 6 r q F from Eq 8 17 8 73 Vo T A with Vo 1 p being the volume of a lattice unit cell Then we come to the formal equivalence in the powder case 42 integration over Debye Scherrer cones Scon en EACH F in a powder 8 74 Ocoh 4q Riso R 1538 EN 95 for each lattice Bragg peak wave vector q The normalization rule Eq 8 51 can not usually be applied for powders as the S q is a set of Dirac peaks for which the f q S q dq is difficult to compute and S q does not converge to unity for large q Of course the component PowderN see section 8 2 can handle powder samples more efficiently faster better accuracy but does not take into account multip
11. _ S q w dg go w sp 8 52 8 51 This function is normalized to unity f g w dw 1 and is a probability distribution of mode energies in the material Riso R 1538 EN 91 q Q g lo Palo y Energy transter meV 2 A Energy transfer meV 05 35 0 05 1 15 2 25 3 35 4 2 25 Momentum transfer A Momentum transfer A Figure 8 7 The probability functions extracted from S q w The energy transfer is first selected from the density of states gw then the wavevector is obtained from gy w Drawing probabilities from S q w The main idea to implement the scattering from S q w is to basically make two consec utive Monte Carlo choices applying the well known joint probability theorem P qnw P w P q w 8 53 Thus we define P w as the cumulated distribution primitive of the density of states gu w w Piere studs 8 54 0 The function P w is the probability for an excitation to have an energy lower than w Similarly we define the conditional probability P q w to be for each energy lying between w and w dw S q w S qw dq f aieia 8 56 ga a w 8 55 P a w The former g is the density of wavevector transfers for a selected energy transfer and the latter P q w is the probability for an excitation to have a wavevector lower than q for a given energy transfer w These probability distributions gy and gy implement importance sampling
12. h k l Mult d space 2 Theta F squared laz Powder pattern file as obtained from Lazy ICSD For use with PowderN Isotropic Sqw and possibly Single crystal trm transmission file typically for monochromator crystals and fil ters Data k Angs 1 Transmission 0 1 rfl reflectivity file typically for mirrors and monochromator crys tals Data k Angs 1 Reflectivity 0 1 sqw S q w files for Isotropic Sqw component Data q o S q w Table 1 1 Data files of the McStas library 1 5 Component source code Source code for all components may be found in the MCSTAS library subdirectory of the McStas installation the default is usr local lib mcstas on Unix like systems and C mcstas lib on Windows systems but it may be changed using the MCSTAS environ ment variable In case users only require to add new features preserving the existing features of a component it is recommanded to make use of the EXTEND keyword in the instrument description itself as documented in the User Manual For larger modification of a com ponent it is advised to make a copy of the component file into the working directory A component file in the local directory will in McStas take precedence over a library component of the same name 1 6 Documentation As a complement to this Component Manual we encourage users to use the mcdoc front end which enables to display both the catalog of the McStas library e g using
13. i nbounces 0 AY COMPONENT Guidei Guide gravity AT RELATIVE PREVIOUS EXTEND At if SCATTERED nbounces GVars N_reflection 0 AY many guide instances copy paste and change names COMPONENT GuideN Guide gravity AT RELATIVE PREVIOUS EXTEND At 112 Riso R 1538 EN if SCATTERED nbounces GVars N reflection O0 ht monitor nbounces COMPONENT UserMonitor Monitor_nD useri nbounces usernamei Number of bounces options auto user1 AT uu 9 7 8 Monitoring neutron parameter correlations PreMonitor nD The first imediate usage of the Monitor nD component is when one requires to identify cross correlations between some neutron parameters e g position and divergence aka phase space diagram This latter monitor would be merely obtained with options x dx auto bins 30 This example records the correlation between position and divergence of neutrons at a given instrument location Name PreMonitor nD Author System E Farhi Input parameters comp Optional parameters Notes But it is also possible to search for cross correlation between two part of the instru ment simulation One example is the acceptance phase diagram which shows the neutron caracteristics at the input required to reach the end of the simulation This spatial cor relation may be revealed using the PreMonitor nD component This latter stores the neutron paramete
14. Carlo terminology is known as importance sampling 18 Riso R 1538 EN If e g a sample scatters isotropically over the whole 47 solid angle and all interesting directions are known to be contained within a certain solid angle interval AQ only these solid angles are used for the Monte Carlo choice of scattering direction According to Eq 2 9 the weight factor will then have to be changed by the amount 7 AQ 47 One thus ensures that the mean simulated intensity is unchanged during a correct direction focusing while a too narrow focusing will result in a lower i e wrong intensity since we cut neutrons rays that should have counted 2 4 Adaptive sampling Another strategy to improve sampling in simulations is adaptive importance sampling where McStas during the simulations will determine the most interesting directions and gradually change the focusing according to that Implementation of this idea is found in the Source adapt and Source Optimizer components Riso R 1538 EN 19 Chapter 3 Source components McStas contains a number of different source components and any simulation will contain exactly one of these sources The main function of a source is to determine a set of initial parameters r v t for each neutron ray This is done by Monte Carlo choices from suitable distributions For example in most present sources the initial position is found from a uniform distribution over the source surface which can be
15. Fei d Optional parameters Notes The component Sans spheres models a sample of small independent spheres of radius R which are uniformly distributed in a rectangular volume w x Y X z with a volume fraction The absorption cross section density for the spheres or is it from the solution is oa in units of m specified for neutrons at 2200 m s Absorption and incoherent scattering from the medium is neglected The difference in scattering length density the contrast between the hard spheres and the medium is called Ap d denotes the distance to the presumed circular SANS detector of radius R 8 4 1 Small angle scattering cross section The neutron intensity scattered into a solid angle AQ for a flat isotropic SANS sample in transmission geometry is given by 8 do 70 q Is q VANT Azmax 8 34 where V is the neutron flux T is the sample transmission A is the illuminated sample area and Zmax the length of the neutron path through the sample In this component we consider only scattering from a thin solution of monodisperse hard spheres of radius R where the volume specific scattering cross section is given by 8 do dQ a n Ap V f q 8 35 2 where f q a100 B n is the number density of spheres and V 4 3r R is the sphere volume The density is thus n p V Multiple scattering is ignored 8 4 2 Algorithm All neutrons which hit the sample volume
16. Ge laz 8 42 0 18 2 2 1211 4 5400 H20 ice 1h laz 7 75 160 52 0 6652 273 Hg laz 20 24 6 6 372 3 234 32 1407 I2 laz 7 0 0 62 12 3 386 85 In laz 2 08 0 54 193 8 429 75 1215 K laz 69 0 27 2 1 336 53 2000 LiF laz 4 46 0 921 70 51 1140 Li laz 0 454 0 92 70 5 453 69 6000 Nb laz 8 57 0 0024 1 15 2750 3480 Ni laz 13 3 5 2 4 49 1728 4970 Pb laz 11 115 0 003 0 171 600 61 1260 Pd laz 4 39 0 093 6 9 1828 05 3070 Pt laz 11 58 0 13 10 3 2041 4 2680 Rb laz 6 32 0 5 0 38 312 46 1300 Se alpha laz 7 98 0 32 11 7 494 3350 Se_beta laz 7 98 0 32 11 7 494 3350 Si laz 2 163 0 004 0 171 1687 2200 102 quartza laz 10 625 0 0056 0 1714 846 Jau Si02_quartzb laz 10 625 0 0056 0 1714 1140 Jau Sn alpha laz 4 871 0 022 0 626 505 08 Sn_beta laz 4 871 0 022 0 626 505 08 2500 Ti laz 1 485 2 87 6 09 1941 4140 Tl laz 9 678 0 21 3 43 577 818 V laz 0184 4 935 5 08 2183 4560 Zn laz 4 054 0 077 1 11 692 68 3700 Zr laz 6 44 0 02 0 185 2128 3800 Table 1 2 Powders of the McStas library 7 8 Low c and high Gabs materials are high lighted Files are given in LAZY format but may exist as well in Crystallographica lau format as well 12 Riso R 1538 EN MCSTAS data C coh C inc Cabs Tu c Note File name barns barns barns K m s Cs liq tot sqw 3 69 0 21 29 0 301 6 1090 Measured Ge_liq_coh sqw and Ge_liq_inc sqw 8 42 0 18 2 2 1211 4 5400 Ab initio MD He4 liq coh sqw 1 34 0 0 00747 0 240 Measured Rb_li
17. Optional parameters none Notes The component Arm is empty is resembles an optical bench and has no effect on the neutron ray The purpose of this component is only to provide a standard means of defining a local co ordinate system within the instrument definition Other components may then be positioned relative to the Arm component using the McStas meta language The use of Arm components in the instrument definitions is not required but is recommended for clarity Arm has no input parameters 4 2 Slit A beam defining diaphragm Name Slit Author System Input parameters Tmin max Umi Umax Optional parameters f Deut Notes The component Slit is a very simple construction It sets up an opening at z 0 and propagates the neutrons onto this plane by the kernel call PROP Z0 Neutrons within the slit opening are unaffected while all other neutrons are discarded by the kernel call ABSORB 36 Riso R 1538 EN By using Slit some neutrons contributing to the background in a real experiment will be neglected These are the ones that scatter off the inner side of the slit penetrates the slit material or clear the outer edges of the slit The input parameters of Slit are the four coordinates zmin Tmax Ymin Ymax defining the opening of the rectangle or the radius r of a circular opening depending on which parameters are specified The slit component can also be used to discard insi
18. Oxford Clarendon Press 1984 W H Press S A Teukolsky W T Vetterling and B P Flannery Numerical Recipes in C Cambridge University Press 1986 Riso R 1538 EN Index Bugs 10 44 93 Coherent and incoherent isotropic scat terer 86 Coordinates system 7 Data files 7 Diffraction 69 73 81 Environment variable BROWSER 8 MCSTAS 8 117 123 Incoherent elastic scattering 67 73 Inelastic scattering 83 86 Keyword include 117 EXTEND 8 17 108 118 GROUP 118 MCDISPLAY 118 OUTPUT PARAMETERS 109 SHARE 117 Library 117 adapt tree lib 124 Components data 8 10 123 misc 111 monitors 99 optics 33 47 samples 64 share 117 sources 17 mcstas r see Library Run time monitor nd lib 124 read table lib Read Table 7 122 Run time 117 ABSORB 117 ALLOW BACKPROP 117 Riso R 1538 EN MC GETPAR 109 118 NAME_CURRENT_COMP 118 POS A COMP 118 POS A CURRENT COMP 118 PROP DT 117 PROP GRAV DT 117 PROP Z0 117 RESTORE NEUTRON 118 ROT A COMP 118 ROT A CURRENT COMP 118 SCATTER 117 SCATTERED 118 STORE NEUTRON 118 Shared see Library Components share vitess lib 124 Monitors 99 Adaptative importance sampling mon itor 28 Banana shape 106 Beam analyzer 116 Capture flux 105 Custom monitoring user variables Monitor nD 106 Divergence monitor 101 Divergence position monitor 101 Energy monitor 100 Neutron parameter correlations
19. Pre Monitor nD 110 Number of neutron bounces in a guide 109 Position sensitive detector PSD 101 Position sensitive monitor recording mean energy 106 Resolution monitor see Samples Resolution function The All in One monitor Monitor nD 103 135 Time of flight monitor 100 Wavelength monitor 100 Multiple scattering 73 86 Optics 33 39 47 Beam stop 34 Bender non polarizing 45 Curved guides polygonal model 46 Disc chopper 47 Fermi Chopper 50 Filter 35 Guide with channels straight non focusing 44 Guide with channels and gravitation handling straight 45 Continuous source with a Maxwellian spectrum 20 Continuous source with specified di vergence 19 from 1D table input 35 General continuous source 20 ISIS pulsed moderators 21 Optimization location see Sources Optimizer Optimizer 29 Simple continuous source 19 Time of flight pulsed moderator 21 Virtual source from stored neutron events 112 Virtual source recording neutron events 112 Linear collimator 36 Symbols 7 Mirror plane 39 Monochromator 59 Tools Monochromator curved 62 mcdoc 8 Monochromator thick 63 Point in space Arm Optical bench 33 Radial collimator 37 Slit 33 Straight guide 41 Velocity selector 56 58 Optimization 25 28 29 31 mcstas2vitess 124 Removed neutron events 7 93 118 Sample environments 86 977 Samples 64 Coherent and incoherent isotropic
20. deviation angle a of the nominal scattering vector nQo corresponds to a Aq of Aq a2k sin 0 7 4 The angle y corresponds to a AK and hence Aq of Aq yk sin 20 7 5 see figure 7 2 Hence we may sample y from a Gaussian with standard deviation 2ksin 2ksin a k sin 20 3ksin cos cosd 7 6 to get good statistics What remains is to determine the neutron weight The distribution from which the scattering event is sampled is a Gaussian in p of width lt j 1 2 2 p 2 0 cos 0 7 7 fuc e v2r 0 cos a ven 64 Riso R 1538 EN In the physical model the probability of the scattering event is proportional to a Gaussian in the angle between the nominal scattering vector Qo and the actual scattering vector q The normalization condition is that the integral over all y should be 1 Thus the probability of the scattering event in the physical model is d g d g H p e 2 e 22 dp 7 8 where d y denotes the angle between the nominal scattering vector and the actual scat tering vector corresponding to y According to equation 2 9 the weight adjustment 7 is then given by 7j II y fuc y 7 9 In the implementation the integral in 7 8 is computed using a 15 order Gaussian quadra ture formula with the integral restricted to an interval of width 50 cos for the same reasons discussed above on the sampling of y 7 2 Monochromator curved A curved mosaic crystal with a singl
21. glass elastic inelastic scattering from S q w data E Farhi V Hugouvieux ILL SANS_ A collection of samples for SANS H Frielinghaus FZ J lich We would like to kindly thank all McStas component contributors This is the way we improve the software alltogether The McStas project has been supported by the European Union initially through the XENNI program and the RTD Cool Neutrons program in FP4 In FP5 McStas was supported strongly through the SCANS program Currently in FP6 McStas is sup ported through the Joint Research Activity MCNSI under the Integrated Infrastructure Initiative NMI3 see the WWW home pages 5 6 If you appreciate this software please subscribe to the neutron mc risoe dk email list send us a smiley message and contribute to the package We also encourage you to refer to this software when publishing results with the following citations e K Lefmann and K Nielsen Neutron News 10 3 20 1999 e P Willendrup E Farhi and K Lefmann Physica B 350 735 2004 8 Riso R 1538 EN Chapter 1 About the component library This McStas Component Manual consists of the following major parts e n introduction to the use of Monte Carlo methods in McStas e A thorough description of system components with one chapter per major category Sources optics two chapters monochromators samples monitors and other com ponents e The McStas library functions and defi
22. Ay Az Set x y 2 to the result of rotating the vector Uz vy Uz the angle y in radians around the vector az dy az normal vec amp n amp n amp nz x y 2 Computes a unit vector Ng Ny nz normal to the vector x y z solve 2nd order t A B C Solves the 2 4 order equation At Bt C 0 and returns the smallest positive solution into pointer t A 1 5 Output from detectors Details about using these functions are given in the McStas User Manual Ris DETECTOR OUT 0D Used to output the results from a single detector The name of the detector is output together with the simulated intensity and es timated statistical error The output is produced in a format that can be read by McStas front end programs DETECTOR_OUT_1D Used to output the results from a one dimentional detector DETECTOR OUT 2D Used to output the results from a two dimentional detector DETECTOR OUT 3D Used to output the results from a three dimentional detector Arguments are the same as in DETECTOR OUT 2D but with the addi tional z axis the signal Resulting data files are treated as 2D data but the 3rd dimension is specified in the type field R 1538 EN 123 mcinfo simulation FILE f mcformat char pre char name is used to append the simulation parameters into file f see for instance Res monitor Internal variable mcformat should be used as specified Please contact the authors for furth
23. It is considered today to be by far the best random generator which means that both its period is extremely large and cross correlations are negligible 130 Riso R 1538 EN Appendix C The McStas terminology This is a short explanation of phrases and terms which have a specific meaning within McStas We have tried to keep the list as short as possible with the risk that the reader may occasionally miss an explanation In this case you are more than welcome to contact the McStas core team Ris Arm A generic McStas component which defines a frame of reference for other components Component One unit e g optical element in a neutron spectrometer Definition parameter An input parameter for a component For example the radius of a sample component or the divergence of a collimator Input parameter For a component either a definition parameter or a setting parameter These parameters are supplied by the user to define the characteristics of the particular instance of the component definition For an instrument a parameter that can be changed at simulation run time Instrument An assembly of McStas components defining a neutron spectrometer Kernel The McStas language definition and the associated compiler McStas Monte Carlo Simulation of Triple Axis Spectrometers the name of this package Pronounciation ranges from mez tas to mac stas and m c stas Output parameter An output parameter for a component For example the c
24. Monitors and detectors 102 9 1 TOF monitor The time of flight monitor 103 9 2 E monitor The energy sensitive monitor 200 103 9 3 L_monitor The wavelength sensitive monitor 103 Riso R 1538 EN 5 9 4 PSD monitor The PSD monitor r 104 9 5 Divergence monitor A divergence sensitive monitor 104 9 6 DivPos monitor A divergence and position sensitive monitor 104 9 7 Monitor nD A general Monitor for 0D 1D 2D records 106 9 7 1 The Monitor nD geometry o 106 9 7 2 The neutron parameters that can be monitored 107 9 7 3 Important options 422x993 Rome Rd Ae E EUER 107 9 74 The output filles i a EUER RR RR xen 108 9 7 5 Monitor equivalences oa a 109 9 7 6 Usage examples pire rs 109 9 7 7 Monitoring user variables o e 109 9 7 8 Monitoring neutron parameter correlations PreMonitor nD 113 10 Special purpose components 114 10 1 Vitual output Saving the first part of a split simulation 115 10 2 Vitualinput Starting the second part of a split simulation 115 10 3 Res sample A sample like component for resolution calculation 116 10 4 TOF Res sample A sample like component for TOF resolution calculation 117 10 5 Res monitor The monitor for resolution calculation 117 10 6 Progress bar Simulation progres
25. The Optimized source is thus Optimized keep Reference 1 keep Neutrons that will reach monitor 32 Riso R 1538 EN 4 The Source Optimizer transforms the bad neutrons into good ones from the Op timized source The resulting optimised flux is normalised to the non optimized one Reference 3 19 Poptimized Pinitial Optimized and thus the overall flux at Monitor Optimizer location is the same as without the optimizer Usually the process sends more good neutrons from the Optimized source than that in the Reference one The energy and velocity spectra of neutron beam is also kept as far as possible For instance an optimization of v will induce a modification of v or vy to try to keep v constant 5 When the continuous optimization option is activated by default the process loops to Step 3 every step percent of the simulation This parameter is computed automatically usually around 10 96 in auto mode but can also be set by user During steps 1 and 2 some non optimized neutrons with original weight p 4 may lead to spikes on detector signals This is greatly improved by lowering the weight p during these steps with the smooth option The component optimizes the neutron parameters on the basis of independant variables 1D phase space optimization However it usually does work fine when these variables are correlated which is often the case in the course of the instrument simulation The me
26. The simple component V sample performs both incoherent scattering and absorption An important component class is elastic Bragg scattering from an ideal powder The component PowderN models a powder scatterer with reflections given in an input file The component includes absorption and incoherent scattering Next type is Bragg scattering from single crystals The simplest single crystals are in fact the monochromator components like Monochromator flat presented in section 7 1 The monochromators are models of a thin mosaic crystal with a single scattering vector perpendicular to the surface Much more advanced the component Single_crystal is a general single crystal sample with multiple scattering that allows the input of an arbitrary unit cell and a list of structure factors read from a LAZY Crystallographica file This component also allows anisotropic mosaicity and Ad d lattice space variation Isotropic small angle scattering is simulated in Sans_Spheres which models scatter ing from a collection of hard spheres Inelastic scattering from a dispersion is exemplified by the component Phonon simple which models scattering from a single acoustic phonon branch For a more general sample model the Isotropic_Sqw component is able to simulate all kinds of isotropic materials Liquids glasses polymers powders etc with S q w table specified by an input file Physical processes include coherent incoherent scattering both elastic an
27. This basic idea can be improved with a small modification The problem is that until the source has had the time to learn the right sampling weights neutrons may be emitted with high neutron weights but low probability These low probability neutrons may account for a large fraction of the total intensity in detectors causing large variances in the result To avoid this the component emits early neutrons with a lower weight and Riso R 1538 EN 29 later neutrons with a higher weight to compensate This way the neutrons that are emitted with the best adaption contribute the most to the result The factor with which the neutron weights are adjusted is given by a logistic curve Yo F j C 0 yo 1 yo e 9 where j is the index of the particular neutron history 1 lt j Nhist The constants yo ro and C are given by 3 10 2 yo 3 11 0 Nex 3 11 qo 1 2 TQ lo 3 12 a Nhist Yo 1 C 1 log w iter 3 13 Nhist The number a is given by the user and specifies as a fraction between zero and one the point at which the adaption is considered good The initial fraction o of neutron histories are emitted with low weight the rest are emitted with high weight N in Ann Ui Nsim NpinWi The choice of the constants yo ro and C ensure that Nhist PUE 3 15 0 po j F j 3 14 so that the total intensity over the whole simulation will be correct Similarly the adjustment of sam
28. a uniform distribution random number dscatt In 1 e eg Pout 8 61 which then takes into account secondary extinction originating from the decrease of the beam intensity through the sample a kind of self shielding The Monte Carlo choice of the scattering position in the sample accounts for the No factor in Eq 8 43 Choosing the q and w transfer If no S q w data is available and the scattering process has been chosen as incoherent we set w 0 and select randomly an outgoing wave vector Kk y In case the S q w data is available for the scattering process coherent or incoherent a random choice is made to select the energy transfert using P w with the g w probability distribution Eq 8 54 Similarly we use P q w to select a wavevector transfer Eq 8 55 Choosing a q w set and applying Eq 8 53 we have obtained a probabilistic nor malized evaluation of the dynamical structure factor which we multiply by the norm S to obtain S q w S q w S gu w ga v 8 62 Riso R 1538 EN 93 Then a selection between energy gain and loss is done with the detailed balance ratio hw kgT e Finally a statistical weightening by a factor k gi isl 8 63 i is required to account for Eq 8 43 The factor 4r in Eq 8 43 originates from the integration of events over space and is thus implicitely included in the Monte Carlo choice of the scattering direction Choosing the scattered wave ve
29. adaptive way Compared to a uniform sampling of the phase space where the probability of each bin is 1 Nbin the neutron weight must be adjusted as given by 2 9 Ni in mE 1 Npin B jor wj fc P i Npinwi 71 3 8 where P is understood by the natural uniform sampling In order to set the criteria for adaption the Adapt check component is used see section 3 8 The source attemps to sample only from bins from which neutrons are not absorbed prior to the position in the instrument at which Adapt check is placed Among those bins the algorithm attemps to minimize the variance of the neutron weights at the Adapt check position Thus bins that would give high weights at the Adapt check position are sampled more often lowering the weights while those with low weights are sampled less often Let 7 pac po denote the ratio between the neutron weight p at the Adapt check position and the initial weight po just after the source For each bin the component keeps track of the sum X of ss as well as of the total number of neutrons n from that bin The average weight at the Adapt source position of bin i is thus X n We now distribute a total sampling weight of P uniformly among all the bins and a total weight of 1 3 among bins in proportion to their average weight X n at the Adapt source position B 3 Yan Nom Nr Xn 3 9 wi After each neutron event originating from bin i the sampling weight w is updated
30. calculated analytically and positions directions and losses of reflec tions compared to the values calculated in the components This was done for Guide and Guide gravity in the latter case calculations were performed with and without gravity Additionally a cross check against the VITESS guide module was performed Waviness chamfers and channels were not checked After correction of a bug in Guide_gravity both components worked perfectly within the conditions tested Source gen was cross checked against the VITESS source module for the case of 3 Maxwellians describing the moderator characteristic and typical sizes the guide and its distance to the moderator It showed the same line shape as a functions of wavelength and divergence and the same absolute values 1 8 Disclaimer bugs We would like to emphasize that the usage of both the McStas software as well as its components are the responsability of the users Indeed obtaining accurate and reliable results requires a substantial work when writing instrument descriptions This also means that users should read carefully both the documentation from the manuals 2 and from the component itself using mcdoc comp before reporting errors Most anomalous results Riso R 1538 EN 13 often originate from a wrong usage of some part of the package Anyway if you find that either the documentation is not clear or the behavior of the simulation is undoubtedly anomalous you shou
31. computation time is displayed at the begining and actual simulation time is shown at the end Additionally setting the flag save to 1 results in a regular save of the data files during the simulation This means that is is possible to view the data before the end of the computation and have also a trace of it in case of computer crash The achieved percentage of the simulation is stored in these temporary data files Technically this save is equivalent to sending regularly a USR2 signal to the running simulation 10 7 Beam spy A beam analyzer Name Beam spy Author System Input parameters Optional parameters Notes should overlap previous component This component is at the same time an Arm and a simple Monitor It analyzes all neutrons reaching it and computes statistics for the beam as well as the intensity This component does not affect the neutron beam and does not contain any propaga tion call Thus it gets neutrons from the previous component in the instrument description and should better be placed at the same position with AT 0 0 0 RELATIVE PREVIOUS Riso R 1538 EN 119 Appendix A Libraries and conversion constants The McStas Library contains a number of built in functions and conversion constants which are useful when constructing components These are stored in the share directory of the MCSTAS library Within these functions the Run time part is available for all component ins
32. cross section per unit volume is found from 8 40 by replacing N with 1 Vo The total weight transformation now becomes kg hn 1 1 i Ulintmax sAQ nos 7 El 42 Ti Gina ns MOD 71 2VoM di amp J Key n 2 JI om where n is the number of possible dispersion values in the chosen direction 88 Riso R 1538 EN Isotropic Sqw concentric arrangement Figure 8 6 An 1 He sample in a cryostat simulated with the Isotropic Sqw component in concentric geometry 8 6 Isotropic Sqw A general S q w coherent and incoher ent scatterer Name Isotropic_Sqw Author V Hugouvieux E Farhi Input parameters 5qw coh Ocoh SAW INC Cinc Vp Cabs L Lwidths Yheight Zthich To Nis thickness Optional parameters qmin maz min max dd order Notes partly validated Vanadium OK PowderN more accurate for powders The component assumes that the sample has the structure of an isotropic material This stands for liquids glasses amorphous systems polymers gaz and may be extended to powders It simulates coherent and incoherent neutron scattering and may be used to model isotropic samples but also sample environments as concentric geometries are possible The main input for the component is S q w tables or powder structure files Riso R 1538 EN 89 8 6 1 Neutron interaction with matter When a neutron enters a material according to usual models and letting the absorption aside to begin
33. distribution of the scattered neutrons from each nucleus y Q 1 47 For the focusing we choose to have a uniform distribu tion on a target sphere of radius rfoc at the position target Ytarget Ztarget in the local coordinate system This gives an angular distribution in a small angle approximation of 1 af y 272 4m rr g Q 8 8 The focusing can alternatively be performed on a rectangle with dimensions Wfocus hfocus or uniformly in angular space in a small angle approximation using wyoc angle hfoc angle The focusing location can be picked to be a downstream component by specifying target index When calculating the neutron path length within the cylinder the kernel function cylinder intersect is used twice once for the outer radius and once for the inner radius Multiple scattering is not inlcuded in this component To obtain intensities similar to real measured ones we therefore do not take attenuation from scattering into account for the outgoing neutron ray 8 1 2 Remark on functionality When simulating a realistic incoherent hollow cylinder sample one finds that the resulting direction dependence of the scattered intensity is not isotropic This is explained by the variation of attenuation with scattering angle One test result is shown in the instrument example chapter of the McStas User Manual Riso R 1538 EN 71 8 2 PowderN A general powder sample Name Powder_N Author System In
34. e Check if the neutron ray intersects the sample otherwise ignore the following e Calculate the attenuation coefficients for scattering and absorption e Perform Monte Carlo choices to determine the scattering position scattering type coherent incoherent and the outgoing direction e Perform the necessary weight factor transformation Riso R 1538 EN 75 8 3 Single crystal The single crystal component Name Single crystal Author Kristian Nielsen Input parameters Y widths Yheights 2thick d b C Ad d mosaic reflections Optional parameters Gabs Cinc Notes partially validated centered The Single crystal component models a thick flat single crystal with multiple scat tering and absorption with elastic coherent scattering An elastic incoherent background may also be simulated It may be used to describe samples for diffraction but also for accurate monochromator descriptions The input parameters for the component are zwidth yheight and zthick to define the dimensions of the crystal in meters area is centered delta d d to give the value of Ad d no unit az ay az bx by bz and ex cy cz to define the axes of the direct lattice of the crystal the sides of the unit cell in units of Angstrom and reflections a string giving the name of the file with the list of structure factors to consider The mosaic is specified either isotropically as mosaic or anisotropically as mosaic_h
35. fast ones so that they finally hit the detectors at the same time Therefore the signs of w and 6 are very important For t gt to 6 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 xz to the rotating Taere CO cmd 64 frame 2 z is 54 Riso R 1538 EN Z Component X Component Z m Time t X m 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 F r vt the orthogonal transformation produces a curve in the X Z plane known as archidemic spiral as can be seen in figure 6 4 The two vector components s t zx z follow the equation cq ou a t Y xo vs t cos t zo vz t sin d t i E zi ag Eo E O 23060 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 v about 100 Hz on IN6 at the ILL neutron trajectories are found to be nearly straight for 1000 m s neutron velocities 39 The basis of the algorithm is to find the intersections of these spiral trajectories with the chopper outer cylin
36. file is then controlled indirectly with the general ncounts parameter 10 2 Vitual input Starting the second part of a split simu lation Name Virtual input Author System Input parameters filename Optional parameters repeat count type Notes The component Virtual input resumes a split simulation where the first part has been performed by another instrument and the neutron ray parameters have been stored by the component Virtual output All neutron ray parameters are read from the input file which is by default of text type but can also assume the binary formats float and double The reading of neutron rays continue until the specified number of rays have been simulated or till the file has been exhausted If desirable the input file can be reused a number of times determined by the optional parameter repeat count This is only useful if the present simulation makes use of MC choices otherwise the same outcome will result for each repetition of the simulation Care should be taken when dealing with absolute intensities which will be correct only when the input file has been exhausted at least once The simulation ends with either the end of the repeated file counts or with the normal end with ncount McStas simulation events We recommand to control the simulation on repeat count by using a very large ncount value e g ncount 1e10 Riso R 1538 EN 115 10 8 Res sample A samp
37. for given incoming wave vector k and lattice vector T only a single final wave vector ky is allowed In general this wavevector will not fulfill the conditions for elastic scattering kf ki In a real crystal however reflections are not perfectly sharp Because of imperfection and finite size effects there will be a small region around 7 in reciprocal space of possible scattering vectors 76 Riso R 1538 EN Figure 8 4 Ewald sphere construction for a single neutron showing the Gaussian broad ening of reciprocal lattice points in their local coordinate system Single crystal simulates a crystal with a mosaic spread 7 and a lattice plane spacing uncertainty Ad d In such crystals the reflections will not be completely sharp there will be a small region around each reciprocal lattice point of the crystal that contains valid scattering vectors We model the mosaicity and Ad d of the crystal with 3 dimensional Gaussian functions in reciprocal space see figure 8 4 Two of the axes of the Gaussian are perpendicular to the reciprocal lattice vector T and model the mosaicity The third one is parallel to 7 and models Ad d We assume that the mosaicity is small so that the possible directions of the scattering vector may be approximated with a Gaussian in rectangular coordinates If the mosaic is isotropic the same in all directions the two Gaussian axes perpen dicular to 7 are simply arbitrary normal vectors of equal length given by
38. for scatter ing directing neutron events to high S q w regions 8 6 3 The method Choosing the interaction type The method used is similar to the one adopted in the Single_crystal component section 8 3 92 Riso R 1538 EN We first compute the absorption and total cross section 2200m s AE 8 57 Otot Cabs Ocoh Cinc 8 58 as well as the neutron trajectory intersection with the geometry This provides the total path length in the sample dout to the exit Defining the linear attenuation u PCtot the probability that the neutron scatters or be absorbed along path dout is e dev If this condition is not satisfied the neutron leaves the sample unchanged In the other case we adjust the neutron weight by a factor mss Ocoh C inc 8 59 Otot to account for the portion of absorbed neutrons along the path Additionally we choose randomly the type of interaction with fractions Cecon and Gine Choosing the interaction position If the straight path to the sample volume exit is dout the probability that the neutron scatters before exiting the sample at a distance dscatt is dout P dscatt lt dout ih pe dx 1 e dou 8 60 0 From that law we may compute the cumulated distribution which gives the probability for scattering to occur at a distance lower than dscatt knowing that the neutron interacts before dout This law may be analytically inverted so that the path length dsca may be obtained directly from
39. formula and benchmarking in simple cases e Newly added realistic source components ISIS_moderator ISIS source model based on MCNPX D Champion and S Ansell ISIS Virtual_tripoli4_input output Trioli4 similar to MCNP files reading writing G Campioni LLB SNS_source SNS source model based on MCNPX G Granroth SNS Source_gen ILL sources Maxwellian parameters E Farhi N Kernavanois H Bordallo ILL Riso R 1538 EN 7 ESS moderator short Calculated source model for the short pulse target sta tion of the ESS project K Lefmann Ris ESS moderator long Calculated source model for the long pulse target station of the ESS project K Lefmann Ris e Newly added optical components Radial collimator Radial collimator with both approximated and exact op tions E Farhi ILL FermiChopper and Vitess_ChopperFermi Two Fermi Chopper components M Poehlmann G Zsigmond ILL and PSI Guide tapering A rectangular tapered guide U Filges PSI Guide curved Non focusing curved neutron guide R Stewart ILL e A suite of sample components Phonon simple An isotropic acoustic phonon K Lefmann Ris PowderN N lines powder diffraction P K Willendrup Ris Sans spheres hard spheres in thin solution mono disperse L Arleth the Royal Veterinary and Agricultural University DK K Lefmann Ris Isotropic_Sqw isotropic inelastic sample powder liquid
40. general powder sample 2n 72 8 2 1 Files formats powder structures 2l 72 8 2 2 Geometry and physical properties 00 72 8 2 8 Powder scattering eh 73 32 4 Algorithmic uq E a SW NUR RUE einen us 75 8 3 Single crystal The single crystal component 76 8 3 1 The physical model 00 020 20000004 76 8 3 2 Thealgorithm 2 rss 79 8 8 8 Choosing the outgoing wave vector 2 0 0 0 0 eee 79 8 3 4 Computing the total coherent cross section 81 8 3 5 Implementation details 0 0 2 000000 2 eee 82 8 4 Sans_spheres A sample of hard spheres for small angle scattering 84 8 4 1 Small angle scattering cross section o 84 84 2 Algorithm ico ex boa a x mE Respekt we le REA Y 84 8 4 3 Calculating the weight factor ls 85 8 5 Phonon simple A simple phonon sample 86 8 5 1 The phonon cross section a a 86 8 0 2 The algoritlim i223 Exe ge EAE ten aad see ee lay 87 8 5 3 The weight transformation e 87 8 6 Isotropic Sqw A general S q w coherent and incoherent scatterer 89 8 6 1 Neutron interaction with matter 00 4 90 8 0 2 Eheoretical side iie Veet ae ee AR EE qr 90 8 6 3 The method seca 8 ur xu a x 9 RR TS 92 8 6 4 The implementation en 96 8 6 5 Validation 54 e e ae Re EO e NAP eh d edo pe Desde gel 101 9
41. option word removes neutrons which are similarly outside the monitor limits that may be other than geometrical 9 7 2 The neutron parameters that can be monitored There are many different variables that can be monitored at the same time and position Some can have more than one name e g energy or omega kx ky kz k wavevector Angs 1 usually axis are vx vy vz v m s x horz y vert z on axis xyz m Distance Position kxy vxy xy radius m Radial wavevector velocity and position t time s Time of Flight energy omega meV lambda wavelength Angs p intensity flux n s or n cm 2 s ncounts 1 SX Sy SZ 1 Spin vdiv ydiv dy deg vertical divergence y hdiv divergence xdiv deg horizontal divergence x angle deg divergence from direction theta longitude deg longitude x z for sphere and cylinder phi lattitude deg lattitude y z for sphere and cylinder as well as two other special variables user userl will monitor the Mon Name Vars UserVariableiil2 user2 to be assigned in an other component see below To tell the component what you want to monitor just add the variable names in the options parameter The data will be sorted into bins cells default is 20 between some default limits that can also be set by user The auto option will automatically determine what limits should be used to have a good sampling of signals 9 7 3 Important options Each monitoring records the flux sum of we
42. probability distri butions from which the initial neutron state is sampled so that samples in regions that contribute much to the accuracy of the overall result are preferred over samples that con tribute little The method can achieve improvements of a factor of ten or sometimes several hundred in simulations where only a small part of the initial phase space contains useful neutrons This component uses the correlation between neutron energy initial direction and initial position The physical characteristics of the source are similar to those of Source simple see section 3 1 The source is a thin rectangle in the x y plane with a flat energy spectrum in a user specified range The flux per area per steradian per Angstrom per second is specified by the user The initial neutron weight is given by Eq 3 2 using AA as the total wavelength range of the source A later version of this component will probably include a A dependence of the flux We use the input parameters dist xw and yh to set the focusing as for Source simple section 3 1 The energy range will be from Ey dE to Ey dE filename is used to give the name of a file in which to output the final sampling destribution see below Neng Npos and Naiv are used to set the number of bins in each dimensions Good general purpose values for the optimization parameters are a 3 0 25 The number of bins to choose will depend on the application More bins will allow better adapt
43. rotation around the Y axis mosaic_v rotation around the Z axis and mosaic_n rotation around the X axis in all cases in units of full width half maximum minutes of arc Optionally the absorption cross section at 2200 m s and the incoherent cross section may be given as absorbtion and incoherent in barns with default of zero and p_transmit may be assigned a fixed Monte Carlo probability for transmission through the crystal without any interaction The user must specify a list of reciprocal lattice vectors T to consider along with their structure factors F The user must also specify the coordinates in direct space of the unit cell axes a b and c from which the reciprocal lattice will be computed In addition to coherent scattering Single crystal also handles incoherent scattering amd absorption The incoherent scattering cross section is supplied by the user as a constant cipe The absorption cross section is supplied by the user at 2200 m s so the 2200 actual cross section for a neutron of velocity v is Cabs du iS E 8 3 1 The physical model The textbook expression for the scattering cross section of a crystal is 42 ch 3 Oo T 3 m Nez 2 r x F 8 17 Here F is the structure factor defined in section 8 2 N is the number of unit cells Vo is the volume of an individual unit cell and k k is the scattering vector 6 a isa 3 dimensional delta function in reciprocal space so
44. simulations and also gives essentially unlimited freedom to handle more unusual cases This report constitutes the reference manual for McStas and together with the manual for the McStas components it contains full documentation of all aspects of the program It covers the various ways to compile and run simulations a description of the meta language used to define simulations and some example simulations performed with the program Descriptors Neutron Instrumentation Monte Carlo Simulation Software Available on request from Information Service Department Riso National Laboratory Afdelingen for Informationsservice Forskningscenter Ris P O Box 49 DK 4000 Roskilde Denmark Phone 45 4677 4004 Telefax 45 4677 4013
45. the binning during that conversion This is usually enough to describe sample environments including powders aluminium cop per but it is recommanded to rather use PowderN for faster and accurate powder diffraction eventthough this latter does not implement multiple scattering Such files can only handle elastic scattering A list of common powder definition files is available in Table 1 2 page 12 Concentric geometries sample environment The component has been designed in a way which enables to describe complex imbricated set ups i e what you need to simulate sample environments To do so one has first to use hollow shapes they keep in mind that each surrounding geometry should be first declared before the central position usially the sample with the concentric 1 parameter but also duplicated with an other instance name at a symetric position with regards to the centre as in the example shown in Fig 8 7 COMPONENT s in Isotropic Sqw thickness 0 001 radius o 0 02 yheight 0 015 Sqw coh Al laz concentric 1 AT 0 0 1 RELATIVE a COMPONENT sample Isotropic Sqw xwidth 0 01 yheight 0 01 zthick 0 01 Sqw_coh He4_coh sqw AT 0 0 1 RELATIVE a COMPONENT s_out Isotropic_Sqw thickness 0 001 radius o 0 02 yheight 0 015 Sqw_coh A1 laz AT 0 0 1 RELATIVE a Central component may be of any type not specifically an Isotropic_Sqw instance It could be for instance a Single crystal or a PowderN In
46. the mosaic But if the mosaic is anisotropic the two perpendicular axes will in general be different for each scattering vector In the absence of anything better Single crystal uses a model which is at least mathematically plausible and which works as expected in the two com mon cases 1 isotropic mosaic and 2 two mosaic directions horizontal and vertical mosaic perpendicular to a scattering vector The basis for the model is a three dimensional Gaussian distribution in Euler angles giving the orientation probability distribution for the micro crystals that is the misorien tation is given by small rotations around the X Y and Z axes with the rotation angles having in general different Gaussian probability distributions For given scattering vec tor T a rotation of the micro crystals around an axis parallel to r has no effect on the Riso R 1538 EN 77 direction of the scattering vector Suppose we form the intersection between the three dimensional Gaussian in Euler angles and a plane through the origin perpendicular to 7 This gives a two dimensional Gaussian say with axes defined by unit vectors g and go and mosaic widths 7 and 7 We now let the mosaic for 7 be defined by rotations around g and gy with angles having Gaussian distributions of widths and gs Since g g2 and T are perpendicular a small rotation of Tr around g will change 7 in the direction of g The two axes of the Gaussian mosaic in reciproca
47. uncertainty NV VN Hence the statistical uncertainty of the observed intensity becomes c I V Np I VN 2 4 as is used in real neutron experiments where p 1 For a better approximation we return to Eq 2 3 Allowing variations in both N and p we calculate the variance of the resulting intensity assuming that the two variables are independent o 0 N p N e p 2 5 l This is not correct in a situation where the detector counts a large fraction of the neutrons in the simulation but we will neglect that for now Riso R 1538 EN 17 Assuming that N follows a normal distribution we reach o N p Np Further assuming that the individual weights p follow a Gaussian distribution which in many cases is far from the truth we have N a p o X pi No pi and reach a I N p e p 2 6 The statistical variance of the p s is estimated by o p zz 35 p Np N 1 The resulting variance then reads N 26TY e 2 c a s st 7 2 7 2 For almost any positive value of N this is very well approximated by the simple expression c I Zo pe 2 8 As a consistency check we note that for all p equal this reduces to eq 2 4 In order to compute the intensities and uncertainties the detector components in McStas thus must keep track of N 35 p I 5 p and Mz 3 2 2 2 3 Weight factor transformations during a Monte Carlo choice When a Monte Carlo cho
48. vector All directions that intersect the circle are chosen with equal probability The solid angle of the circle as seen from the position of the neutron is returned in dQ This routine was previously called randvec target sphere which still works randvec target rect angular amp v amp vy amp v amp dQ aim aimy aim h w Rot does the same as randvec target circle but targetting at a rectangle with angu lar dimensions h and w in radians not in degrees as other angles The rota tion matrix Rot is the coordinate system orientation in the absolute frame usually ROT_A_CURRENT_COMP randvec target rect amp v amp vy amp vz amp dQ aim aimy aim height width Rot is the same as randvec_target_rect_angular but height and width dimensions are given in meters This function is useful to e g target at a guide entry window or analyzer blade Riso R 1538 EN A 2 Reading a data file into a vector matrix Table input The read_table lib read_table lib provides functionalities for reading text and binary data files To use this library add a include read table lib in your component definition DECLARE or SHARE section Tables are structures of type tTable see read_table lib h file for details t Table structure most important members double data Use Table Index Table i j to extract i j element long rows number of rows long columns number of columns char header
49. with it sees atoms as disks with a surface equal to the total scattering cross section of material c Each coherent and incoherent process is associated with a given probability to hit these cross sections according to Ocoh or Cine We may choose randomly a scattering position along the path using e g an exponential decay probability If the scattering condition is not satisfied the neutron is transmitted and leaves the sample In any case the absorption lowers the intensity according to an e 4 absorption law along the propagation path d In this process the neutron is considered to be a particule Once the neutron knows that something terrible is going to occur it looks for a possible excitation to interact with Then we turn to the wave description of the neutron which interacts with the whole volume The distribution of excitations from which derives their relative intensity in the scattered beam is simply the dynamic structre factor or scattering law S q w According to the definition of the density of states we may use g w as the probability law to scatter at a given energy transfer The neutron leaves the scattering point when a suitable q w choice has been found to satisfy the conservation laws The process is iterated until the neutron leaves the volume of the material eventually producing multiple scattering contributions The method shown below for multiple scattering handling is quite close in many re
50. with absorbing walls The shape of the channels can be straight curved with circular or curved with ideal i e close to a parabolic shape This is determined by the parameter GeomOption In the option straight Fermi chopper the very fast neutrons are transmitted with only a time modulation and lower speed neutrons are modulated both in time of flight and wavelength If the channels are curved the highest transmission occurs for a wavelength 3956 m s Aopt E C aes 6 7 with w 2nf 6 8 The optimal shape is calculated in an exact way and is close to parabolic in this case transmission is as high for the optimal wavelength as in the case of a straight Fermi chopper for the limit A 0 In the more realistic case of circular shapes channels the transmission is slightly lower In general neutrons are transmitted through a curved Fermi chopper with a time AND wavelength modulation The rotation axis is vertical y axis i e the path length through the channels is given by the length l along the z axis The inital orientation is given by the phase of the chopper 0 means transmission orientation Riso R 1538 EN 57 Geometry for straight and circular channels The geometry of the chopper consists of a rectangular shaped object with a channel system In transmission position there are Neates Slits of width wg each along the x axis separated by absorbing walls of thickness Wwall see figure 6 6 The total width
51. wo is given by Wtot NeatesWslit Ngatos 1 Wwall 6 9 The rectangular channel system is surrounded by a so called shadowing cylinder it is a part of a cylinder with vertical symmetry axis and diameter d gt 4 12 we 6 10 It serves to prevent transmission of neutrons which do not fly through the channels but it also reduces the transmission because the cylinder removes neutrons in front of the channel entrance or behind the channel exit see figure 6 6 E a rotation axis Figure 6 6 geometry of a staight Fermi chopper Geometry for parabolic channels In this case the Fermi chopper is supposed to be a full cylinder i e the central channels are longer than those on the edges The other features are the same as for the other options see figure 6 7 The algorithm works with a rotating chopper framework Neutrons hitting the channel walls are absorbed The channels are approximated by Ngates gates If the trajectory takes a course through all the gates the neutron passes the Fermi chopper There are gates at the entrance and the exit of the channel The other gates are situated close to the centre of the Fermic chopper Precision of the simulation increases with the number of gates but also the computing time needed The use of four channels already gives exact transmission shapes for lower wavelengths A lt 6 A and good approximation for higher ones It is recommended to use larger number of channels only fo
52. For example COMPONENT mysample Res sample COMPONENT det Res monitor res sample comp mysample The output file is in ASCII format one line per scattering event with the following columns e ki the three components of the initial wave vector e k the three components of the final wave vector e r the three components of the position of the scattering event in the sample e p the neutron weight just after the scattering event e pr the relative neutron weight adjustment from sample to detector so the total weight in the detector is pipr From k and kr we may compute the scattering parameters k ki kp and hw h 2mn k k The vectors are given in the local coordinate system of the resolution sample component The wave vectors are in units of d the energy transfer in meV The output parameters from Res monitor are the three count numbers Nsum psum and p2sum and the handle file of the output file 118 Riso R 1538 EN 10 6 Progress bar Simulation progress and automatic sav ing Name Progress bar Author System Input parameters percent flag save Optional parameters Notes This component displays the simulation progress and status but does not affect the neutron parameters The display is updated in regular intervals of the full simulation the default step size is 10 96 but it may be changed using the percent parameter from 0 to 100 The estimated
53. Notes In reflecting geometry non polarized This component simulates an infinitely thin single crystal with a single scattering vector Qo 27 dm perpendicular to the surface A typical use for this component is to simulate a simple monochromator or analyzer The monochromator dimensions are given by the length zw and the height yp As the parameter names indicate the monochromator is placed in the z y plane of the local coordinate system This definition is made to ensure that the physical monochromator angle often denoted A1 will equal the McStas rotation angle of the Monochromator component around the y axis Rp is the maximal reflectivity and y and m are the horizontal and vertical mosaicities respectively see explanation below 7 1 1 Monochromator physics and algorithm The physical model used in Monochromator flat is a rectangular piece of material composed of a large number of small micro crystals The orientation of the micro crystals deviates from the nominal crystal orientation so that the probability of a given micro crystal orientation is proportional to a Gaussian in the angle between the given and the nominal orientation The width of the Gaussian is given by the mosaic spread 7 of the 62 Riso R 1538 EN 4Qo 3Qo 2Qo Qo Figure 7 1 Selection of the Bragg order 2 in this case crystal given in units of arc minutes 7 is assumed to be large compared to the inherent Bragg width of t
54. PSD monitor 4PI PSD monitor TOF cyIPSD monitor OFLambda monitor TOFlog mon TOF monitor options dx bins ndiv limits a 2a 2 lambda bins nlam limits Ao A1 file file options dx bins nh limits hmaz 2kmar 2 dy bins nv limits Umaz 2Umax 2 filename file options dx bins ndiv limits a 2a 2 IMIN L min CMAL L max options energy bins nchan limits EminEmaz options energy bins ng limits EminEmaz x bins nx x bins npos IMIN L min CMNAL Lmaxr options dx bins nh limits hmaz 2hmaz 2 filename file options lambda bins nh limits Amaz 2Amax 2 filename file options sphere options unactivate options theta bins nr y bins ny cylinder filename file yheight height xwidth 2 radius options x bins n1x IMIN L min TMAT Lmax ymax ymas filename file options x y sphere options x bins nx y bins ny IMiN Z min TMAT Lmax ymin Wmin YMAT Ymax filename file options theta bins ng time bins nt limits to t cylin der filename file yheight height rwidth 2 radius options ambda bins n1 limits Ag Ai time bins nt limits to t1 filename file options log time bins nt limits to t4 options time bins nt limits to t1 YMIN Ymin Table 9 1 Using Monitor_nD in place of other components All limits specifications may be advantageously replaced by an auto word preceeding each monit
55. R minimum and maximum height Umin and Ymax see Fig 6 3 In this implementation the slits are straight but may be coated with super mirror Main parameters for the slits are the number of slits N slit 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 the slope of reflectivity o the low angle reflectivity Ro 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 w 27v where y 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 The curvature of the slit channels is specified with the Kj parameter Positive sign indicates that the deviation bump due to curvature is in the zx positive side and the center of curvature is in the x negative side Riso R 1538 EN 53 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 ch
56. Risg R 1538 EN RISO Component Manual for the Neutron Ray Tracing Package McStas Version 1 9 Kim Lefmann Peter Kjzer Willendrup Kristian Nielsen Emmanuel Farhi and Klaus Lieutenant Isotropic Sqw concentric arrangement 0 98 Ris National Laboratory Roskilde Denmark November 2006 Abstract The software package McStas is a tool for carrying out Monte Carlo ray tracing simulations of neutron scattering instruments with high complexity and precision The simulations can compute most aspects of the performance of instruments and samples and can thus be used to optimize the use of existing equipment design new instru mentation and carry out full virtual experiments McStas is based on a unique design where an automatic compilation process translates high level textual instrument de scriptions into efficient ANSI C code This design makes it simple to set up typical simulations and also gives essentially unlimited freedom to handle more unusual cases This report constitutes the component manual for McStas and together with the manual for the McStas system it contains full documentation of all aspects of the program It covers a description of all official components of the McStas package with some theoretical background Selected test instruments and representative McStas simulations performed with these instruments are described in the User Manual This report documents the components for McStas version 1 9 released N
57. U is unitarian that is U UT The translation between global and local coordinates is x U y 7T y Ulx T The expression for the 3 dimensional Gaussian in global coordinates is 1 1 T 2 U y T D U y 7 8 20 G y WIENER 8 20 78 Riso R 1538 EN The elastic coherent cross section is then given by O T 3 8 3 2 The algorithm The overview of the algorithm used in the Single crystal component is as follows 1 Check if the neutron intersects the crystal If not no action is taken 2 Search through a list of reciprocal lattice points of interest selecting those that are close enough to the Ewald sphere to have a non vanishing scattering probability From these compute the total coherent cross section cj see below the absorption 2200 m s v cross section Cabs 02200 and the total cross section Otot Ocoh Oinc HU abs 3 The transmission probability is exp T where is the length of the flight path through the crystal A Monte Carlo choice is performed to determine whether the neutron is transmitted Optionally the user may set a fixed Monte Carlo probability for the first scattering event for example to boost the statistics for a weak reflection 4 For non transmission the position at which the neutron will interact is selected from an exponential distribution A Monte Carlo choice is made of whether to scatter coherently or incoherently Absorption is treated by weight adjustment see b
58. Wilson J Sci Instrum 43 1 1966 A K Freund Nucl Instr Meth 213 495 1983 V F Sears Acta Cryst A53 35 1997 G Shirane S M Shapiro and J M Tranquada Neutron Scattering with a Triple Azis Spectrometer Cambridge University Press 2002 L Alianelli J Appl Cryst 37 132 2004 V Radeka IEEE Trans Nucl Sci NS 21 51 1974 Riso R 1538 EN 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 V Peskov G Charpak W Dominik and F Sauli Nucl Instr and Meth A277 547 1989 G Manzin B Guerard F A F Fraga and L M S Margato Nucl Instr Meth A535 102 2004 J R D Copley J Neut Research 1 21 1993 L D Cussen J Appl Cryst 36 1204 2003 F James Rep Prog Phys 43 1145 1980 Grimmett G R and Stirzakerand D R Probability and Random Processes 2nd Edition Clarendon Press Oxford 1992 P A Seeger L L Daemen T G Thelliez and R P Hjelm Physica B 283 433 2000 J Saroun and J Kulda Physica B 234 1102 1997 See website http omega ujf cas cz restrax P Willendrup E Farhi and K Lefmann Physica B 350 735 2004 D Wechsler G Zsigmond F Streffer and F Mezei Neutron News 25 11 2000 See http www hmi de projects ess vitess W T Lee and X L Wang Neutron News 13 30 2002 See website http www sns gov ideas E Farhi T Hansen A Wildes R G
59. agg s law nQo 2k sin 7 1 The scattering order is specified by the integer n We seek only one value of n namely the one which makes nQo closest to the projection of 2k onto Qo see figure 7 1 Once n has been determined the Bragg angle 0 can be computed The angle o is the amount one would need to turn the nominal scattering vector Qo for the monochromator to be in Bragg scattering condition We now used o to compute the probability of reflection from the mosaic crystal Preflect Rhe t 7 2 Riso R 1538 EN 63 2k sin 20 V Figure 7 2 Scattering into the part of the Debye Scherrer cone covered by the mosaic The probability Prefect is used in a Monte Carlo choice to decide whether the neutron is transmitted or reflected In the case of reflection the neutron will be scattered into the Debye Scherrer cone with the probability of each point on the cone being determined by the mosaic The Debye Scherrer cone can be described by the equation kr k cos 20 sin 20 c cos y bsin p yp 7 7 7 3 where b is a vector perpendicular to k and Qo c is perpendicular to k and b and both b and c have the same length as k see figure 7 2 When choosing y and thereby kg only a small part of the full 7 7 range will have appreciable scattering probability in non backscattering configurations The best statistics is thus obtained by sampling y only from a suitably narrow range The small
60. aluate 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 a t v t vx w 2 v4 cos w t to vz w a vs sin w t to 6 4 we may estimate the tangents to the spiral neutron trajectory in the rotating frame at times t and tg The intersection of these two lines gives an intermediate time t3 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 t1 t3 or t3 t3 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 vi 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 9 to the slit output is estimated and the tang
61. annel 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 Curvature of slits 1 radius of curvature m 1 alpha Qc 1 slit coating parameters See section 5 1 1 W t RO 1 Table 6 1 FermiChopper component parameters The component was validated extensivelly by K Lieutenant As an alternative one may use the Vitess ChopperFermi component eventhough slower and without super mirror support 6 2 2 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 gt 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 6 between the rotating z and the static z axis 9 t is defined by S t 2 2 w t to where t is the absolute time The chopper should better be time focussing slow neutrons should pass before the
62. ansmission By rotating the selector you allow transmittance of neutrons rays with velocities around a nominal value given by Vo wL 6 6 11 which means that the selector has turned the twist angle during the typical neutron flight time L Vo The actual twist angle is 2 wt wL V Neutrons having a velocity slightly different from Vo will either be transmitted or absorbed depending on the exact position of the rotator blades when the neutron enters the selector Assuming this position to be unknown and integrating over all possible Riso R 1538 EN 59 Velocity selector 0 1 y m o LAS lt 7 AIDE SN zm 01 0 04 dez cs quU 0 5 Figure 6 8 A velocity selector positions assuming zero thickness of blades we arrive at a transmission factor ES 1 N 2m l wL V if N 27 16 wL V lt 1 6 12 0 otherwise where N is the number of collimator blades A horisontal divergence changes the above formula because of the angular difference between the entry and exit points of the neutron The resulting transmittance resembles the one above only with V replaced by V and replaced by w where w is the angular difference due to the divergence An additional vertical divergence does not change this formula but it may contribute to 4 We have here ignored the very small non linearity of w along the neutron path in case of both vertical and horisontal divergence Adding the effe
63. are scattered Hence no direct beam is simulated For scattered neutrons the following steps are taken 1 Choose a value of q uniformly in the interval 0 qax 2 Choose a polar angle a for the q vector uniformly in 0 7 3 Scatter the neutron according to q a 4 Calculate and apply the correct weight factor correction 84 Riso R 1538 EN 8 4 3 Calculating the weight factor The scattering position is found by a Monte Carlo choice uniformly along the whole un scattered beam path with the sample length lin giving f 1 lmn The direction focusing on the detector gives in an small angle approximation fo d nd ch Hence the total weight tranformation factor becomes more explanation to come Tj la s d 4m n A p V f a exp Hal 8 36 where Ha is the linear attenuation factor due to absorption and is the total neutron path length within the sample Riso R 1538 EN 85 8 5 Phonon simple A simple phonon sample Name Phonon simple Author Kim Lefmann Ris National Laboratory Input parameters To h Tfoc Ttarget Utarget target Tabs Cinc 4 b c M DW T Optional parameters Wr hy tz Wfocus gt locus Wfoc angle gt hfoc angle target index Notes only validated qualitatively This component models a simple phonon signal from a single crystal of a pure element in an fcc crystal structure Only one isotropic acoustic phonon branch is modelled and the long
64. arns Incoherent scattering cross section 0 to disable sigma abs barns Absorption cross section 0 to disable V rho 3 atomic number density May also be specified with molar weight weight in g mol and material density in g cm T K Temperature 0 disables detailed balance xwidth m yheight m dimensions of a box shaped geometry zthick m radius o m dimensions of a cylinder shaped geometry radius i m sphere geometry if radius i 0 thickness mj thickness of hollow shape norm sqw number When positive the value is used as the integral of S q w Null value uses computed integral Any neg ative value will normalize on the density for liquids NOT recommanded for Powders auto qw boolean Automatically optimize probability tables during sim ulation recommanded interpolate boolean Smooth S q w table recommanded order integer Limit multiple scattering up to given order 0 means no limitations concentric boolean Enables to enter inside concentric hollow geometries Table 8 2 Main Isotropic_Sqw component parameters Riso R 1538 EN 97 e box dimensions are Lwidth X Yheight X Zthick e box hollow idem and the side wall thickness is set with thickness e cylinder dimensions are ro for the radius and Yheight for the heigh e cylinder hollow idem and hollow part is set with either r internal radius or thickness e sphere dimension is r for the radius e sphere ho
65. cal wave vector A 27 k In general vectors are denoted by boldface symbols Subscripts i and f denotes initial and final respectively and are used in connection with the neutron state before and after an interaction with the component in question The spin of the neutron is given a special treatment Despite the fact that each physical neutron has a well defined spin value the McStas spin vector s can have any length between zero unpolarized beam and unity totally polarized beam Further all three cartesian components of the spin vector are present simultaneously although this is physically not permitted by quantum mechanics Presently no official McStas component utilize the neutron spin 1 9 Component coordinate system All mentioning of component geometry refer to the local coordinate system of the individ ual component T he axis convention is so that the z axis is along the neutron propagation axis the y axis is vertical up and the x axis points left when looking along the z axis completing a right handed coordinate system Most components position as specified in the instrument description with the AT keyword corresponds to their input side at the nominal beam position However a few components are radial and thus positioned in their centre Components are usually not designed to overlap This may lead to loss of neutron rays Warnings will be issued during simulation if sections of the instrument are not rea
66. ce Maxwell 3 refer to section 3 3 Maxwellian parameters for some continuous sources are given in Table 4 1 As nobody knows exactly the characteristics of the sources it is not easy to measure spectrum there these figures should be used with caution Riso R 1538 EN 23 Source Name Ti I T5 Io T3 L3 factor PSI cold source 150 4 3 67ell 38 74 3 64e11 14 84 0 95ell ltarger mA ILL VCS H1 216 8 1 24e13 33 9 1 02013 16 7 3 042e12 ILL HCS H5 413 5 10 22e12 145 8 3 44e13 40 1 2 78e13 ILL Thermal H2 683 7 5 874e12 257 7 2 51e13 16 7 1 034e12 2 25 ILL Hot source 1695 1 74e13 708 3 9e12 Table 3 1 Flux parameters for present sources used in components Source_gen and Source_Maxwell_3 For some cases a correction factor to the intensity should be used to reach measured data for the PSI cold source this correction factor is the beam cur rent Jtarget Which is currently of the order 1 2 mA 3 5 Moderator A time of flight source pulsed Name Moderator Author System Mark Hagen SNS Input parameters Ts Eo E1 Zf w h To Ee Y Optional parameters Notes The simple time of flight source component Moderator resembles the source compo nent Source simple described in 3 1 Moderator is circular with radius r4 and focuses on a rectangular target of area w x h in a distance zy The initial velocity is chosen with a linear distribution within an interval defined by the mi
67. ched by any neutron rays or if neutrons are removed This is usually the sign of either overlapping components or a very low intensity 1 4 About data files Some components require external data files e g lattice crystallographic definitions for Laue and powder pattern diffraction S q w tables for inelastic scattering neutron events files for virtual sources transmission and reflectivity files etc Such files distributed with McStas are located in the data sub directory of the MCSTAS library Components that make use of the McStas file system including the read table library see section A 2 may access all McStas data files without making local copies Of course you are welcome to define your own data files and eventually contribute to McStas if you find them useful File extensions are not compulsory but help in identifying relevant files per application We list powder and liquid data files from the McStas library in Tables 1 2 and 1 3 These files contain an extensive header describing physical properties with references and are specially suited for the PowderN see 8 2 and Isotropic_Sqw components see 8 6 McStas itself generates both simulation and monitor data files which structure is explained in the User Manual see end of chapter Running McStas 10 Riso R 1538 EN MCSTAS data Description au Laue pattern file as issued from Crystallographica For use with Single crystal PowderN and Isotropic Sqw Data
68. chosen to be either circular or rectangular The initial neutron velocity is selected within an interval of either the corresponding energy or the corresponding wavelength Polarization is not relevant for sources and we initialize the neutron average spin to zero s 0 0 0 For time of flight sources the choice of the emission time t is being made on basis of detailed analytical expressions For other sources t is set to zero In the case one would like to use a steady state source with time of flight settings the emission time of each neutron ray should be determined using a Monte Carlo choice This may be achieved by the EXTEND keyword in the instrument description source as in the example below TRACE COMPONENT MySource Source gen AT C EXTEND At t le 3 randpmi1 set time to 1 ms AY 3 0 1 Neutron flux The flux of the sources deserves special attention The total neutron intensity is defined as the sum of weights of all emitted neutron rays during one simulation the unit of total neutron weight is thus neutrons per second The flux v at an instrument is defined as intensity per area perpendicular to the beam direction The source flux is defined in different units the number of neutrons emitted per second from a 1 cm area on the source surface with direction within a 1 ster solid angle and with wavelength within a 1 interval The total intensity of real neutrons emitted towards a given dia
69. comes the product of all contributions n P pr po 7 2 2 j 1 For convenience the value of p is updated within each component during the simulation Simulation by weight adjustment is performed whenever possible This includes e Transmission through filters e Transmission through Soller blade collimator in the approximation which does not take each blade into account e Reflection from monochromator and analyser crystals with finite reflectivity and mosaicity e Passage of a continuous beam through a chopper e Scattering from samples 2 2 1 Statistical errors of non integer counts In a typical simulation the result will consist of a count of neutrons histories rays with different weights The sum of these weights is an estimate of the mean number of neutrons hitting the monitor or detector per second in a real experiment One may write the counting result as where N is the number of neutrons in the detector and the vertical bar denote averaging By performing the weight transformations the statistical mean value of J is unchanged However N will in general be enhanced and this will improve the accuracy of the simu lation To give an estimate of the statistical error we proceed as follows Let us first for simplicity assume that all the counted neutron weights are almost equal p p and that we observe a large number of neutrons N gt 10 Then N almost follows a normal distribution with the
70. crystal Further eg is the polarization unit vectors w4 the phonon dispersion and the Bose factor is Ngp Rexp wq p kpT 1 1 We have simplified this expression by assuming no polarization dependence of the dispersion giving gt y e qp amp We assume that the inter atomic interaction is nearest neighbour only so that the phonon dispersion becomes di q c1 a4 z Sq 8 38 where z 12 is the number of nearest neighbours and sg cos q rnn where in turn Ynn is the lattice positions of the nearest neighbours 86 Riso R 1538 EN This dispersion relation may be modified with a small effort since it is given as a separate c function attatched to the component To calculate do dX we need to transform the q sum into an integral over the Brillouin zone by gt gt NV 27 7 fz d q The amp sum can now be removed by expanding the q integral to infinity All in all the partial differential cross section reads ao 2 kr hn ee 8 dOdE p FNG ta e ine PE ILE wq d K q d q kp R 1 2 Le 4 o ND OM n gt 55 90 di k 8 39 8 5 2 The algorithm All neutrons which hit the sample volume are scattered into a particular range of solid angle AQ like many other components One of the difficult things in scattering from a dispersion is to take care to fulfill the dispersion criteria and to find the correct weight transformation In Phonon simple the following step
71. ct of a finite blade thickness t reduces the transmission by the overall factor Nt pened 1 x 6 13 where r is the distance from the rotation axis We ignore the variation of r along the neutron path and use just the average value 60 Riso R 1538 EN 6 5 Selector another approach to describe a rotating ve locity selector Name Selector Author System Input parameters zmin maz ymin ymax len num width radius a feq Optional parameters Notes validated position is center of input aperture The component Selector describes the same kind of rotating velocity selector as V selector compare description there but it uses different parameters and a different algorithm The position of the apertures relative to the z axis usually the beam centre is defined by the four parameters rmin zmax ymin ymax Entry and exit apertures are always identical and situated directly before and behind the rotor There are num blades of thickness width twisted by the angle a in degrees on a length len The selector rotates with a speed feq in rotation per second its axle is in a distance radius below the z axis First the neutron is propagated to the entrance window The loss of neutrons hitting the thin side of the blades is taken into account by multiplying the neutron weight by a factor plr Or 9 6 14 bo 360 num 6 15 0 is the opening between two blades for the distance r between the n
72. ctor The next step is to check that conservation laws 2 fw E Es u ke 8 64 d Ek 8 65 can be satisfied These conditions are closely related to the method for selecting the outgoing wave vector direction When the final wave vector has to be computed the quantities ki hw and q q are known From the energy conservation law Eq 8 65 we select ramdomly one of the two roots k and kr The scattered wave vector is noted ky kpks where ky is a unit vector Since we only know the norm of the scattering vector q the momentum conservation law Eq 8 64 may be expressed as Iki kj k k 2kpki gt ks 8 66 where k ks stands for the dot product of the vectors Now we should solve gt 1 ki EE _ ENT RENE DR eg rk d c 8 67 1 8 68 a gt lA where C is a constant ky can be decomposed as kg Bk where B is a constant and Uo is a vector of Vect k that is the orthogonal of the space generated by k which is a plane P Since we have k ks C we may write B S The vectors to such that k ks 1 define a circle of radius R g R Since tip and Bk are orthogonal we find C gt 94 Riso R 1538 EN Figure 8 8 How to compute the outgoing wavevector direction ks from which we deduce the radius of the circle 2 R 1 5 8 70 Let us now define an orthonormal basis 4 42 of the plane containing Uo Uy can be decomposed as do
73. d inelastic with absorption and multiple scattering Moreover this component may be used concentrically to model a sample environment Thus it may handle most samples except single crystals Riso R 1538 EN 67 Sample Coherent Incoherent Process Elastic Inelastic Elastic Inelastic Absorption Multi Scatt Phonon simple X X Isotropic Sqw X X X X X X PowderN N lines X X Sans spheres colloid X Single crystal X X X X V sample X X Table 8 1 Processes implemented in sample components 8 0 1 Neutron scattering notation In sample component we use the notation common for neutron scattering where the wave vector transfer is denoted the scattering vector q ki kg 8 1 In analygo the energy transfer is given by 2 ho E Ep La k k 8 2 n 8 0 2 Weight transformation in samples focusing Within many samples the incident beam is attenuated by scattering and absorption so that the illumination varies considerably throughout the sample For single crystals this phenomenon is known as secondary extinction 41 but the effect is important for all samples In analytical treatments attenuation is difficult to deal with and is thus often ignored making a thin sample approximation In Monte Carlo simulations the beam attenuation is easily taken care of as will be shown below In the description we ignore multiple scattering which is however implemented in some sample com
74. d positioned The model also includes the MERLIN moderator this makes no significant difference to the other moderator faces 3 6 2 Using the McStas Module You MUST first set the environment variable MCTABLES to be the full path of the directory containing the table files BASH export MCTABLES usr local lib mcstas contrib ISISN tables NN TCSH setenv MCTABLES usr local lib mcstas contrib ISISN tables In Windows this can be done using the My Computer properties and selecting the Ad vanced tab and the Environment variables button This can of course be overridden by placing the appropriate moderator h face files in the working directory The module requires a set of variables listed in Table 3 3 and described below The Face variable determines the moderator surface that will be viewed There are two types of Face variable i Views from the centre of each moderator face defined by the name of the moderator for TS1 Water H2 CH4 Merlin and TS2 Hydrogen Groove Narrow Broad ii Views seen by each beamline for TS1 Prisma Maps crisp etc and for TS2 E1 E9 East and W1 W9 West The McStas distribution includes some example moderator files for TS1 water h2 ch4 and TS2 broad narrow hydrogen groove but others are available at http www isis rl ac uk Computing including instrument specific models Variables E0 and E1 define an energy window for sampled neutrons This can be used to increase the stat
75. de perpendicular to the collimator axis is thus mostly unimportant A simple statistical consideration now shows that the transmission probability is T 1 tan n tand Often the approximation T 1 n 6 is used giving a triangular transmission profile 4 5 2 Algorithm The algorithm of Collimator_linear is roughly as follows 1 Check by propagation if the neutron ray clear the entry and exit slits otherwise ABSORB 2 Check if lt otherwise ABSORB 3 Simulate the collimator transmission by a weight transformation mi T 1 tan na tan 4 1 4 6 Collimator radial A radial Soller blade collimator Name Collimator_radial Author System E Farhi ILL Input parameters w1 hi wa ha len Omin Omax nchan radius Optional parameters divergence nblades roc and others Notes Validated 40 Riso R 1538 EN This radial collimator works either using an analytical approximation like Collima tor linear see section 4 5 or with an exact model The input parameters are the inner radius radius the radial length len the input and output window dimensions w1 hi wa he the number of Soller channels nchan each of then being a single linear collimator covering the angular interval Omin max angle with respect to the z axis If the divergence parameter is defined the approximation level is used as in Colli mator linear see section 4 5 On the other hand if you perf
76. der and then the slit package in the rotating frame For this purpose the Ridders s root finding method was implemented 40 in order to solve x t d or z t 2d 6 3 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 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 is performed solving z length in Eq 6 2 Using the result Riso R 1538 EN 55 Figure 6 5 The different steps in the algorithm left A neutron trajectory in a slit right 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 tz is estimated the same way with 2 pan in order to ev
77. duce wrong results with gravitation support Use Guide gravity section 5 4 in this case For a more general guide simulation see Guide channeled in section 5 3 5 2 1 Guide geometry and reflection For computations on the guide geometry we define the planes of the four guide sides by giving their normal vectors pointing into the guide and a point lying in the plane ni 1 0 w2 w1 2 O w1 2 0 0 nj 1 0 wa w1 2 O3 w1 2 0 0 nj 0 1 h2 hx 2 Of 0 hi 2 0 nh 0 1 h2 h1 2 Of 0 h1 2 0 44 Riso R 1538 EN w Z hy Mi Figure 5 2 The geometry used for the guide component An Figure 5 3 Neutron reflecting from mirror v and v are the initial and final velocities respectively and n is a vector normal to the mirror surface In the following we refer to an arbitrary guide side by its origin O and normal n With these definitions the time of intersection of the neutron with a guide side can be computed by considering the projection onto the normal O5 ro nj B ne v n i 5 3 where a and f are indices for the different guide walls assuming the values h v and 1 2 respectively For a neutron that leaves the guide directly through the guide exit we have l 20 5 4 lexit Uz The reflected velocity vf of the neutron with incoming velocity v is computed by the formula n vi Vp vj 2 n 5 5
78. e current compo nent A component of the vector is referred to as POS A CURRENT COMP where iis y Or Z ROT A CURRENT COMP and ROT R CURRENT COMP give the ori entation of the current component as rotation matrices absolute orientation and the orientation relative to the previous component respectively A component of a rotation matrix is referred to as ROT A CURRENT_COMP m n where m and n are 0 1 or 2 standing for x y and z coordinates respectively POS A COMP comp gives the absolute position of the component with the name comp Note that comp is not given as a string A component of the vector is referred to as POS A COMP comp i where i is x y or z ROT_A COMP comp and ROT R COMP comp give the orientation of the component comp as rotation matrices absolute orientation and the orientation rela tive to its previous component respectively Note that comp is not given as a string A component of a rotation matrice is referred to as ROT A COMP comyp m n where m and n are 0 1 or 2 Riso R 1538 EN 121 e INDEX CURRENT COMP is the number index of the current component starting from 1 e POS A COMP INDEX indez is the absolute position of component index POS A COMP INDEX INDEX CURRENT COMD is the same as POS A CURRENT COMP You may use POS A COMP INDEX INDEX CURRENT COMP 1 to make for instance your component access the position of the next component this is usefull for automatic targeting
79. e mcget ncount Returns the number of neutron histories to simulate usually set by option n e mcget run num Returns the number of neutron histories that have been simu lated until now A 1 3 Coordinate transformations e coords set r y z returns a Coord structure like POS A CURRENT COMD with x y and z members e coords get P amp x amp y amp z copies the x y and z members of the Coord structure P into x y z variables 122 Riso R 1538 EN coords add a b coords_sub a b coords neg a enable to operate on coordi nates and return the resulting Coord structure rot set rotation Rotation t dz dy dz Get transformation matrix for rotation first gz around x axis then around y and last around z t should be a Rotation 3 3 double matrix rot mul Rotation t1 Rotation t2 Rotation t3 performs t3 t1 t2 rot copy Rotation dest Rotation src performs dest src for Rotation arrays t rot transpose Rotation src Rotation dest performs dest src rot apply Rotation t Coords a returns a Coord structure which is t a A 1 4 Mathematical routines NORM z y z Normalizes the vector x y z to have length 1 scalar prod a a az b b b Returns the scalar product of the two vectors az Ay az and bz by bz vec prod a dy dz br by bz Cx Cy Cz Sets az dy az equal to the vector product bz by bz x eg Cy Cz rotate z y Z Uy Uy Vz P Az
80. e only neutrons scattered from a sample are of interest The example below removes the direct beam and any background signal from other parts of the instrument COMPONENT MySample V sample AT EXTEND ht if SCATTERED ABSORB AY Riso R 1538 EN 37 File name Description Be trm Berylium filter for cold neutron spectrometers e g k 1 55 AD HOPG trm Highly oriented pyrolithic graphite for 1 2 filtering e g ther mal beam at k 1 64 2 662 and 4 1 T Sapphire trm Sapphire Al203 filter for fast neutrons k gt 6 AT Table 4 1 Some transmission data files to be used with e g the Filter_gen component 4 4 Filter gen A general filter using a transmission table Name Filter_gen Author System Input parameters Lins Zmazy Umins Umar Jue Optional parameters options Notes validated flat filter This component is an ideal flat filter that changes the neutron flux according to a 1D input table text file Filter gen may act as a source options set or a filter options multiply de fault mode The table itself is a 2 column free format file which accept comment lines The first table column represent wavevector energy or wavelength as specified in the options parameter whereas the second column is the transmission weight modifier A usage example as a source would use options wavelength set if the first column in the data is supposted to be A in A
81. e scattering vector Name Monochromator curved Author System Peter Link FRM 2 Input parameters Zw Yh ZAP Mh Mv Mh Nv Ro Q Th Tv Optional parameters dm N h w verbose transmit reflect Notes In reflecting geometry non polarized This component simulates an array of infinitely thin single crystals with a single scat tering vector perpendicular to the surface and a mosaic spread This component is used to simulate a singly or doubly curved monochromator or analyzer in reflecting geometry The component uses rectangular pieces of monochromator material as described in Monochromator curved The scattering vector is named Q and as described in Monochro mator flat multiples of Q will be applied Other important parameters are the piece height and width yy and zy respectively the horizontal and vertical mosaicities 7 and ny respectively If just one mosaicity y is specified this the same for both directions The number of pieces vertically and horizontally are called n and np respectively and the vertical and horizontal radii of curvature are named ry and rp respectively All single crystals are positioned in the same vertical plane but tilted accordingly to the curvature radius The constant monochromator reflectivity Ro can be replaced by a file of tabulated reflectivities reflect rflin MCSTAS data In the same sense the transmission can be modeled by a tabulated file transmit for n
82. e to pick a random number from a given distribution However most random number generators only give uniform distributions over a certain interval We thus need to be able to transform between probability distributions and we here give a short explanation on how to do this Assume that we pick a random number x from a distribution f x We are now interested in the shape of the distribution V y of the transformed y f x assuming f x is monotonous All random numbers lying in the interval r x dz are transformed to lie within the interval y y f x dx so the resulting distribution must be V y x f x If the random number generator selects numbers uniformly in the interval 0 1 we have x 1 inside the interval zero outside and we reach p B 1 MO s ay By indefinite integration we reach I mera B 2 which is the essential formula for random number transformation since we in general know V y and like to determine the relation y f x Let us illustrate with a few examples of transformations relevant for the McStas components The circle For finding a random point within the circle of radius R one would like to choose the polar angle from a uniform distribution in 0 27 giving Y4 1 27 and the radius from the normalised distribution V 2r R For the radial part eq B 2 becomes y 27 x whence is found simply by multiplying a random number x with 27 For the radia
83. eight R as implemented in the original Chopper component Optionally each slit can have a central absorbing insert a beamstop of angular width 01 For more exotic chopper definitions use the GROUP keyword see below for an example The direction of rotation can be controlled which allows to simulate e g counter rotating choppers The phase or time delay to in seconds is defined by the time where the first of the n slits is positioned at the top As an alternative an angular phase can be given using the 9 parameter 50 Riso R 1538 EN By default neutrons hitting outside the physical extent of the disc are absorbed This behaviour can be overruled by setting parameter abs out 0 n y Optional beamstop of width 0 Figure 6 1 Sketch of a disc chopper with geometry parameters When simulating the chopping of a continuous beam most of the neutrons could easily be lost To improve efficiency one can set the flag IsFirst which will allow every neutron ray to pass the DiskChopper but modify the time t to a random time at which it is possible to pass Of course there should be only one first chopper in any simulation To simulate frame overlap from a first chopper one can specify the number of frames to study by the parameter Npulse For more advanced chopper geometries than those mentioned above it is possible to set up a GROUP of choppers COMPONENT Chopi DiskChopper omega 2500 R 0 3 h 0 2 t
84. elow 5 For incoherent scattering the outgoing wave vector kf is selected with a random direction 6 For coherent scattering a reciprocal lattice vector is selected by a Monte Carlo choice and k is found see below 7 Adjust the neutron weight as dictated by the Monte Carlo choices made 8 Repeat from 2 until the neutron is transmitted to simulate multiple scattering For point 2 the distance dist between a reciprocal lattice point and the Ewald sphere is considered small enough to allow scattering if it is less than five times the maximum axis of the Gaussian dist lt 5 max o1 02 03 8 83 3 Choosing the outgoing wave vector The final wave vector kg must lie on the intersection between the Ewald sphere and the Gaussian ellipsoid Since 7 and Ad d are assumed small the intersection can be approximated with a plane tangential to the sphere see figure 8 5 The tangential point is taken to lie on the line between the center of the Ewald sphere k and the reciprocal lattice point 7 Since the radius of the Ewald sphere is k this point is o 1 kh p p T where p ki T Riso R 1538 EN 79 Tangential plane Figure 8 5 The scattering triangle in the single crystal The equation for the plane is P t o Bt tcm 8 22 Here B bj b2 is a 3 x 2 matrix with the two generators for the plane bi and b2 These are arbitrary unit vectors in the plane being perpendicular to each other and to the
85. ensity of the incoming beam and must as such be almost transparent interacting only with roughly 0 1 1 of the neutrons pass ing by In computer simulations it is of course possible to detect every neutron ray without absorbing it or disturbing any of its parameters Hence the two components have very similar functions in the simulations and we do not distinguish between them For simplicity they are from here on just called monitors Another important difference between computer simulations and real experiments is that one may allow the monitor to be sensitive to any neutron property as e g direction energy and divergence in addition to what is found in real world detectors space and time One may in fact let the monitor record correlations between these properties as seen for example in the divergence position sensitive monitor in section 9 6 When a monitor detects a neutron ray a number counting variable is incremented nj ni 1 1 In addition the neutron weight p is added to the weight counting variable I I 1 pi and the second moment of the weight is updated Mo M 1 p As also discussed chapter 2 after a simulation of N rays the detected intensity in units of neutrons sec is Iy while the estimated errorbar is Mj N Many different monitor components have been developed for McStas but we have decided to support only the most important ones One example of the monitors we have omitted is the single monitor Mo
86. ent intersection process is iterated until neutron exits The propagation is finalized when determining the intersection of the neutron tra jectory with the outer surface of the chopper cylinder The neutron must then pass its aperture else it is absorbed 56 Riso R 1538 EN Curved slit packages The effect of curvature can significantly improve the flux and energy resolution shape As all zz cordinates are transformed into x z 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 Then instead of solving z t d Ap z where A z Rga 1 1 Z Rag 6 5 with A being the gap between the straight tangent line at the slit center and the real slit shape we perform the additional transformation x zx Aw 6 6 The additional transformation counter balance 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 6 3 Vitess ChopperFermi The Fermi Chopper from Vitess Name Vitess ChopperFermi Author Geza Zsigmond Input parameters GeomOption Nas f A wot L Teurv d 9 wan GeomFile Optional parameters zerotime Neates Notes validated The component Vitess ChopperFermi simulates a Fermi chopper
87. er information A 1 6 Ray geometry intersections box_intersect amp t amp t2 x Y Z vy vy Uz dx dy dz Calculates the 0 1 or 2 intersections between the neutron path and a box of dimensions dz dy and dz centered at the origin for a neutron with the parameters r y z v vy vz The times of intersection are returned in the variables t and t2 with t lt tg In the case of less than two intersections t and possibly t2 are set to zero The function returns true if the neutron intersects the box false otherwise cylinder_intersect amp t amp to x Y Z Ux Vy Uz T h Similar to box intersect but using a cylinder of height h and radius r centered at the origin sphere_intersect amp t amp to x y Z Ur vy Vz T Similar to box intersect but using a sphere of radius r A 1 7 Random numbers 124 rand01 Returns a random number distributed uniformly between 0 and 1 randnorm Returns a random number from a normal distribution centered around 0 and with c 1 The algorithm used to get the normal distribution is explained in Ref 51 ch 7 randpm1 Returns a random number distributed uniformly between 1 and 1 randvec target circle amp v amp v amp v amp dQ aim aimy aimz rf Generates a random vector vz vy Vz of the same length as aim aimy aim which is targeted at a disk centered at aim aim aim with radius ry in meters and perpendicular to the aim
88. er to describe exactly the number of blades nblades assembled to build a single collimator channel then the model is exact and traces the neutron trajectory inside each Soller The computing efficiency is then lowered by a factor 2 The component can be made oscillating with an amplitude of roc times tw Riso R 1538 EN 41 Chapter 5 Reflecting optical components mirrors and guides This section describes advanced neutron optical components such as supermirrors and guides as well as various rotating choppers A description of the reflectivity of a super mirror is found in section 5 1 This section describes advanced neutron optical components such as supermirrors and guides A description of the reflectivity of a supermirror is found in section 5 1 5 1 Mirror The single mirror Name Mirror Author System Input parameters l h m Optional parameters Ro Q W a Notes validated no gravitation support The component Mirror models a single rectangular neutron mirror plate It can be used as a sample component or to e g assemble a complete neutron guide by putting multiple mirror components at appropriate locations and orientations in the instrument definition much like a real guide is build from individual mirrors In the local coordinate system the mirror lies in the first quadrant of the x y plane with one corner at 0 0 0 The input parameters of this component are the rectangular mirror di
89. es the TS2 row Broad ii name of the face E1 E9 W1 W9 Face char i H2 CH4 Merlin Wa String which designates the TS1 ter ii Maps Crisp Gem name of the face EVS HET HRPD Iris Mari Polaris Prisma San dals Surf SXD Tosca EO float O lt E0 lt E1 meV Only neutrons above this en A ergy are sampled El float E0 lt E1 lt 1e10 meV Only neutrons below this en A ergy are sampled dist float 0 lt dist lt co m Distance of focus window from face of moderator XW float 0 lt zw lt oo m x width of the focus window yh float 0 lt yh lt oo m y height of the focus window CAngle float 360 C Angle 360 d Horizontal angle from the nor mal to the moderator surface modXsize float 0 lt mod X size lt oo m Horizontal size of the modera tor defaults to actual size modYsize float 0 modY size oo m Vertical size of the moderator defaults to actual size SAC int 0 1 n a Solid Angle Correction Riso R 1538 EN Table 3 3 Brief Description of Variables 27 3 7 Source adapt A neutron source with adaptive impor tance sampling Name Source adapt Author K Nielsen Input parameters Lmin Lmax Umin Umaz E0 dE dist zw yh Optional parameters a p plenty default values are ok Notes partially validated Source adapt is a neutron source that uses adaptive importance sampling to improve the efficiency of the simulations It works by changing on the fly the
90. eutron position at the entrance and the selector axle The difference between 0 and 0 is determined by the blade thickness The neutron is now propagated to the exit window If it is outside the regarded channel between the two actual blades it is lost otherwise it remains in the exit plane WARNING Differences between Selector and V selector e Selector has a different coordinate system than V selector in Selector the origin lies in the entrance plane of the selector e The blades are twisted to the other side i e to the left above the axle in Selector e Speed of rotation is given in rotation per second not in rotations per minute as in V selector Riso R 1538 EN 61 Chapter 7 Monochromators In this class of components we are concerned with elastic Bragg scattering from monochro mators Monochromator flat models a flat thin mosaic crystal with a single scattering vector perpendicular to the surface The component Monochromator curved is physi cally similar but models a singly or doubly bend monochromator crystal arrangement A much more general model of scattering from a single crystal is found in the compo nent Single crystal which is presented under Samples chapter 8 7 1 Monochromator flat An infinitely thin flat mosaic crys tal with a single scattering vector Name Monochromator flat Author System Input parameters Zmin max Umin Ymax 1h Mv Ro Qo Optional parameters dm
91. f over the same interval TL b lim Ly fui tajda 2 1 i l1 a lt u lt b In the case were the u values are regularly sampled we come to the well known midpoint integration rule In the case were the u values are randomly but regularly sampled this is the Monte Carlo integration technique As random generators are not perfect we rather talk about quasi Monte Carlo technique We encourage the reader to refer to James 25 for a detailed review on the Monte Carlo method Although early implementations of the method for neutron instruments used home made computer programs see e g papers by J R D Copley D F R Mildner J M Car penter J Cook more general packages have been designed providing models for most parts of the simulations These present existing packages are NISP 27 ResTrax 28 McStas 1 3 29 Vitess 30 31 and IDEAS 32 Their usage usually covers all types of neutron spectrometers most of the time through a user friendly graphical interface without requiring programming skills The neutron ray tracing Monte Carlo method has been used widely for e g guide studies 23 33 34 instrument optimization and design 35 36 Most of the time the conclusions and general behaviour of such studies may be obtained using the classical analytical approaches but accurate estimates for the flux the resolutions and generally the optimum parameter set benefit advantageously from MC methods Recently the concept o
92. f virtual experiments i e full simulations of a complete neutron experiment has been suggested as the main goal for neutron ray tracing simulations The goal is that simulations should be of benefit to not only instrument builders but also to users for training experiment planning diagnostics and data analysis 2 2 The neutron weight A totally realistic semi classical simulation will require that each neutron is at any time either present or lost In many instruments only a very small fraction of the initial neutrons will ever be detected and simulations of this kind will therefore waste much time in dealing with neutrons that never hit the detector An important way of speeding up calculations is to introduce a neutron weight factor for each simulated neutron ray and to adjust this weight according to the path of the ray If e g the reflectivity of a certain optical component is 10 and only reflected neutrons ray are considered in the simulations the neutron weight will be multiplied by 0 10 when passing this component but every neutron is allowed to reflect in the component In 16 Riso R 1538 EN contrast the totally realistic simulation of the component would require in average ten incoming neutrons for each reflected one Let the initial neutron weight be po and let us denote the weight multiplication factor in the j th component by rj The resulting weight factor for the neutron ray after passage of the whole instrument be
93. fferent solid angle seen by two focussing windows which are at different distances from the moderator surface The normal mea surement of flux is in neutrons second cm str but in a detector it is measured in neutrons second Therefore if all other denominators in the flux are multiplied out then the flux at a point sized focus window should follow an inverse square law This solid angle correction is made if the SAC variable is set equal to 1 it will not be calculated if SAC is set to zero It is advisable to select this variable at all times as it will give the most realistic results 3 6 3 Comparing TS1 and TS2 The Flux data provided in both sets of h face files is for 60 Amp sources To compare TS1 and TS2 the TS1 data must be multiplied by three current average strength of TS1 source 180 Amps When the 300 yAmp upgrade happens this factor should be revised accordingly 3 6 4 Bugs Sometimes if a particularly long wavelength gt 20 A is requested there may be problems with sampling the data In general the data used for long wavelengths should only be taken as a guide and not used for accurate simulations At 9 there is a kink in the distribution which is also to do with the MCNPX model changing If this energy is sampled over then the results should be considered carefully 26 Riso R 1538 EN Variable Type Options Units Description Face char i Hydrogen Groove Nar String which designat
94. g when a comment is found or the column number changes For instance the file MCSTAS data BeO trm Transmission of a Berylium filter looks like BeO transmission as measured on IN12 Thickness 0 05 m k Angs 1 Transmission 0 1 wavevector multiply 0500 0 74441 0750 0 76727 1000 0 80680 Pere H dt Binary files should be of type float i e REAL 32 and double i e REAL 64 and should not contain text header lines These files are platform dependent little or big endian The filename is first searched into the current directory and all user additional loca tions specified using the I option see the Running McStas chapter in the User Manual and if not found in the data sub directory of the MCSTAS library location This way you do not need to have local copies of the McStas Library Data files see table 1 1 A usage example for this library part may be t Table Table declare a t Table structure char file BeO trm a file name double x y Table Read amp Table file 1 initialize and read the first numerical block Table Info Table display table informations x Table Index Table 2 5 read the 3rd row 6th column element of the table Indexes start at zero in C 126 Riso R 1538 EN y Table Value Table 1 45 1 look for value 1 45 in 1st column x axis and extract 2nd column value of that row Table Free Table free allocated memory for table Additi
95. geometry for k gt 1 and different values of w1 and w is buggy wall slopes are not computed correctly and the component leaks neutrons Riso R 1538 EN 47 5 4 Guide gravity A guide with multiple channels and grav itation handling Name Guide gravity Author System Input parameters w1 hi w2 ha l k m Optional parameters d Ro Qe W o wavy chamfers ky n G Notes validated with gravitation support This component is a variation of Guide channeled section 5 3 with the ability to handle gravitation effects and functional channeled focusing geometry Channels can be specified in two dimensions producing a 2D array k kp on smaller guide channels Waviness effects supposed to be randomly distributed i e non periodic waviness can be specified globally or for each part of the guide section Additionally chamfers may be defined the same way Chamfers originate from the substrate manufacturing so that operators do not harm themselves with cutting edges Usual dimensions are about tens of millimeters They are treated as absorbing edges around guide plates both on the input and output surfaces but also aside each mirror The straight section of length l may be divided into n bits of same length within which chamfers are taken into account To activate gravitation support either select the McStas gravitation support or set the gravitation field strength G e g 9 81 on Earth 5 5 Bende
96. gnificant i e very low weight neu tron rays that in some simulations may be very abundant and therefore time consuming If the optional parameter peut is set all neutron rays with p lt peut are ABSORB ed This use is recommended in connection with Virtual output 4 3 Beamstop A neutron absorbing area Name Beamstop Author System Input parameters Lmin Umax Umin Ymax Optional parameters r Notes The component Beamstop can be seen as the reverse of the Slit component It sets up an area at the z 0 plane and propagates the neutrons onto this plane by the kernel call PROP_Z0 Neutrons within this area are ABSORB ed while all other neutrons are unaffected By using this component some neutrons contributing to the background in a real experiment will be neglected These are the ones that scatter off the side of the beamstop or penetrates the absorbing material Further the holder of the beamstop is not simulated Beamstop can be either circular or rectangular The input parameters of Beamstop are the four coordinates min Ymax min Ymax defining the opening of a rectangle or the radius r of a circle depending on which parameters are specified If the direct beam e g after a monochromator or sample should not be simulated it is possible to emulate an ideal beamstop so that only the scattered beam is left without the use of Beamstop This method is useful for instance in the case wher
97. gudes ss 4 qoc w ee nt we Go ue quique eue sed 49 Moving optical components Choppers and velocity selectors 50 6 1 DiskChopper The disc chopper aa 50 6 2 FermiChopper The Fermi chopper ln 53 6 2 1 The chopper geometry and parameters les 53 6 2 2 Propagation in the Fermi chopper 54 6 3 Vitess ChopperFermi The Fermi Chopper from Vitess 57 6 4 V selector A rotating velocity selector o o o 59 6 4 1 Velocity selector transmission o o oe 59 6 5 Selector another approach to describe a rotating velocity selector 61 Riso R 1538 EN 7 Monochromators 62 7 1 Monochromator flat An infinitely thin flat mosaic crystal with a single Scattering vectOr 20x oid nome exte Weg ee SE ow alere 62 7 1 1 Monochromator physics and algorithm 62 7 2 Monochromator curved A curved mosaic crystal with a single scattering VECLOLS TEXTE 65 7 3 Single crystal Thick single crystal monochromator plate with multiple SCATTERING zog tote Soe eee ueste E x es SURE reb DESEE 66 8 Samples 67 8 0 J Neutron scattering notation ooo e e een 68 8 0 2 Weight transformation in samples focusing 68 8 0 8 Future development of sample components 69 8 1 V sample An incoherent scatterer the V sample 70 8 1 1 Physics and algorithm 2s 71 8 1 2 Remark on functionality e e 71 8 2 PowderN A
98. h of them having nouns elements No text header should be present in the file Table Rebin amp T able rebins all T able rows with increasing evenly spaced first column index 0 e g before using Table Value Linear interpolation is performed for all other columns The number of bins for the rebinned table is determined from the smallest first column step Table Info Table print information about the table T able Table Index Table m n reads the T able m n element Riso R 1538 EN 125 e Table Value Table x n looks for the closest x value in the first column index 0 and extracts in this row the n th element starting from 0 The first column is thus the x axis for the data It does not contain any interpolation method e Table Free amp T able free allocated memory blocks Available functions to read an array of vectors matrices in a text file are e Table Read Array F ile amp n read and split file into as many blocks as necessary and return a traple array Each block contains a single vector matrix This only works for text files The number of blocks in put into n e Table Free Array amp Table free the Table array e Table Info Array amp Table display information about all data blocks The format of text files is free Lines starting by t characters are considered to be comments and stored in T able header Data blocks are vectors and matrices Block numbers are counted starting from 1 and changin
99. he scattering vector often a few arc seconds The mosaicity gives rise to a Gaussian reflectivity profile of width similar to but not equal the intrinsic mosaicity In this component and in real life the mosaicity given is that of the reflectivity signal As a further simplification the crystal is assumed to be infinitely thin This means that multiple scattering effects are not simulated It also means that the total reflectivity ro is used as a parameter for the model rather than the atomic scattering cross section implying that the scattering efficiency does not vary with neutron wavelength The variance of the lattice spacing Ad d is assumed to be zero so this component is not suitable for simulating backscattering instruments use the component Single crystal in section 8 3 for that When a neutron trajectory intersects the crystal the first step in the computation is to determine the probability of scattering This probability is then used in a Monte Carlo choice deciding whether to scatter or transmit the neutron The physical scattering probability is the sum of the probabilities of first second and higher order scattering up to the highest order possible for the given neutron wavelength However in most cases at most one order will have a significant scattering probability and the computation thus considers only the order that best matches the neutron wavelength The scattering of neutrons from a crystal is governed by Br
100. here in an instrument using Source adapt as a source the source will optimize for neutrons that reach that point without being absorbed regardless of neutron position divergence wavelength efc The Adapt check component takes as single input parameter source comp the name of the Source adapt component instance for example COMPONENT mysource Source adapt COMPONENT mycheck Adapt check source comp mysource Only one instance of Adapt check is allowed in an instrument Riso R 1538 EN 31 3 9 Source Optimizer A general Optimizer for McStas Name Source Optimizer Author E Farhi ILL Input parameters options Optional parameters bins step keep Notes partially validated The component Source Optimizer is not exactly a source but rather a neutron beam modifier It should be positioned after the source anywhere in the instrument description The component optimizes the whole neutron flux in order to achieve better statistics at each Monitor Optimizer location s see section 3 10 for this latter component It acts on any incoming neutron beam from any source type and more than one optimization criteria location can be placed along the instrument The usage of the optimizer is very simple and usually does not require any configu ration parameter Anyway the user can still customize the optimization through various options In contrast to Source adapt this optimizer does not record co
101. heta 0 20 n 1 AT 0 O 1 1 RELATIVE Source GROUP Choppers COMPONENT Chop2 DiskChopper omega 2500 R 0 3 h 0 2 theta 0 20 n 1 phi 0 40 AT 0 O 1 1 RELATIVE Source Riso R 1538 EN 51 GROUP Choppers The result of such a DiskChopper GROUPing can be seen in figure 6 2 DiskChopper GROUP arrangement 20 1 o io Y position em 0 20 0 3 0 2 0 1 52 Figure 6 2 20 mcdisplay rendering and monitor PSD1 PSD1 sim X0 6 90216 dX 7 63337 YO 0 91963 dY 5 61107 1 0 077593 Er 3 0 Q0027895 759 6x107 5 4x10 2x107 10 0 10 20 X position cm 29 Mar 2006 10 30 output from a DiskChopper GROUP Riso R 1538 EN z Al Cd slit package length Z m Absorbing Chopper walls L N Pd 0 04 0 02 0 0 02 0 04 Figure 6 3 Geometry of the Fermi chopper left and Neutrons in the chopper right 6 2 FermiChopper The Fermi chopper Name FermiChopper Author M Poehlmann C Carbogno H Schober E Farhi Input parameters R YminYmaz V w length Nslit phase Optional parameters m Qc Ro o W Raj zero time Notes validated 6 2 1 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
102. hosh and K Lefmann Appl Phys A 74 1471 2002 C Schanzer P Boni U Filges and T Hils Nucl Instr Meth A 529 63 2004 G Zsigmond K Lieutenant and S Manoshin et al Nucl Instr Meth A 529 218 2004 K Lieutenant J Phys Condens Matter 17 S167 2005 See http www nea fr html dbprog tripoli abs html K N Clausen D F McMorrow K Lefmann G Aeppli T E Mason A Schr der M Issikii M Nohara and H Takagi Physica B 241 243 50 55 1998 Y Blanc ILL Report 83BL21G 1983 W H Press S A Teukolsky W T Vetterling and B P Flannery Numerical Recipes 2nd Edition Cambridge University Press 2002 G E Bacon Neutron Diffraction Oxford University Press 1975 G L Squires Thermal Neutron Scattering Cambridge University Press 1978 Riso R 1538 EN 133 43 44 45 46 4T 48 49 50 51 134 Crystallographica Oxford Cryosystem 1998 See http www crystallographica com Fullprof powder refinement See http www llb cea fr fullweb fp2k fp2k htm Bischoff FG Yeater ML and Moore WE Nuclear Science and Engineering 48 266 1972 M W Johnson Harwell report AERE R 7682 March 1974 J R D Copley Comput Phys Commun 7 289 1974 P A Egelstaff An introduction to the liquid state Academic Press London 1967 H E Fischer A C Barnes and P S Salmon Rep Prog Phys 69 233 2005 S W Lovesey Theory of neutron scattering from condensed matter
103. ice must be performed e g when the initial energy and direction of the neutron ray is decided at the source it is important to adjust the neutron weight so that the combined effect of neutron weight change and Monte Carlo probability of making this particular choice equals the actual physical properties we like to model Let us follow up on the simple example of transmission The probability of transmitting the real neutron is T but we make the Monte Carlo choice of transmitting the neutron ray each time fmc 1 This must be reflected on the choice of weight multiplier 7 gven by the master equation fuc P 2 9 This probability rule is general and holds also if e g it is decided to transmit only half of the rays fuc 0 5 An important different example is elastic scattering from a powder sample where the Monte Carlo choices are the particular powder line to scatter from the scattering position within the sample and the final neutron direction within the Debye Scherrer cone 2 3 1 Direction focusing An important application of weight transformation is direction focusing Assume that the sample scatters the neutron rays in many directions In general only neutron rays in some of these directions will stand any chance of being detected These directions we call the interesting directions The idea in focusing is to avoid wasting computation time on neutrons scattered in the other directions This trick is an instance of what in Monte
104. ights p versus the given variables except if the signal lt variable gt word is used in the options The cm2 option will ask to Riso R 1538 EN 107 normalize the flux to the monitor section surface and the capture option uses the gold foil integrated capture flux weightening db xX do dA A2200m s 9 4 The auto option is probably the most useful one it asks the monitor to determine automatically the best limits for each variable in order to obtain the most significant monitored histogram This option should preceed each variable or be located after all variables in which case they are all affected On the other hand one may manually set the limits with the limits min max option The log and abs options should be positioned before each variable to specify logarith mic binning and absolute value respectively The borders option will monitor variables that are outside the limits These values are then accumulated on the borders of the signal 9 7 4 The output files By default the file names will be the component name followed by automatic extensions showing what was monitored such as MyMonitor x You can also set the filename in options with the file keyword followed by the file name that you want The extension will then be added if the name does not contain a dot Finally the filename parameter may also be used The output files format are standard 1D or 2D McStas detector files The no file option wi
105. indeed constitute real instruments brings additional complexity by introducing strong correlations between neutron beam parameters divergence and position which is the basis of the acceptance diagram method but also wavelength and time The usual analytical methods phase space theory then reach their limit of validity in the description of the resulting fine effects In principle computing individual neutron event propagation at each instrument part using analytical and numerical models is not such a hard task The use of probablilities is common to describe microscopic physical processes Integrating all these events over the propagation path will result in an estimation of measurable quantities characterizing the neutron instrument Moreover using variance reduction e g importance sampling whenever possible will both speed up the computation and achieve a better accuracy What we just sketched is nothing else than the basis of the Monte Carlo MC method Riso R 1538 EN 15 25 applied to neutron ray tracing instrumentation 2 1 1 Monte Carlo ray tracing simulations Mathematically the Monte Carlo method is an application of the law of large numbers 25 26 Let f u be a finite continuous integrable function of parameter u for which an integral estimate is desirable The discrete statistical mean value of f computed as a series in the uniformly sampled interval a lt u lt b converges to the mathematical mean value of
106. ion of the sampling but will require more neutron histories to be simulated before a good adaption is obtained The output of the sampling distribution is only meant for debugging and the units on the axis are not necessarily meaningful Setting the filename to NULL disables the output of the sampling distribution 3 7 1 Optimization disclaimer A warning is in place here regarding potentially wrong results using optimization tech niques It is highly recommanded in any case to benchmark optimized simulations against non optimized ones checking that obtained results are the same but hopefully with a much improved statistics 3 7 2 The adaption algorithm The adaptive importance sampling works by subdividing the initial neutron phase space into a number of equal sized bins The division is done on the three dimensions of energy 28 Riso R 1538 EN horizontal position and horizontal divergence using Neng Npos and Nay number of bins in each dimension respectively The total number of bins is therefore Nbin NengNposNaiv 3 5 Each bin i is assigned a sampling weight w the probability of emitting a neutron within bin i is Wi N in 21 wy In order to avoid false learning the sampling weight of a bin is kept larger than wyin defined as P i 3 6 Nbin minc Wj 0 lt 8 lt 1 3 7 Nbin 1 J This way a small fraction 8 of the neutrons are sampled uniformly from all bins while the fraction 1 8 are sampled in an
107. ional INITIALIZE i D MONND USER TITLE UserMonitor 1 Log time ht The value 1 could be 2 for the user2 variable 3 Set the user variable value in a TRACE component EXTEND block TRACE ss COMPONENT blah blah comp EXTEND Riso R 1538 EN 111 4i attach a value to user1 in UserMonitor could be much more comlex here MONND USER VALUE UserMonitor 1 log t ht C 4 Tell the Monitor nD instance to record user variables TRACE Ca COMPONENT UserMonitor Monitor nD options auto useri Cae Setting the user variable values may either make use of the neutron parameters x y z VX Vy VZ b SX Sy SZ p access the internal variables of the component that sets the user variables in this example those from the blah instance access any component OUTPUT parameter using the MC GETPAR C macro see chapter A or simply use a global instrument variable Example Number of neutron bounces in a guide In the following example we show how the number of bounces in a polygonal guide may be monitored Let us have a guide made of many Guide gravity instances We declare a global simulation variable nbounces set it to O for each neutron entering the guide and sum up all bounces from each section accessing the Gvars OUTPUT variable of component Guide gravity Then we ask Monitor nD to look at that value DECLARE double nbounces l TRACE Casio COMPONENT Guide in ArmO AT EXTEND
108. ional parameters d Ro Qc Qcy W Qz Qy Notes validated no gravitation support The component Guide channeled is a more complex variation of Guide described in the previous section It allows the specification of different supermirror parameters for the horizontal and vertical mirrors and also implements guides with multiple channels as used in neutron bender devices By setting the m value of the supermirror coatings to zero nonreflecting walls are simulated this may be used for a very detailed simulation of a Soller collimator see section 4 5 The input parameters are w1 hi wa he and l to set the guide dimensions as for Guide entry window exit window and length k to set the number of channels d to set the thickness of the channel walls and Ro W Qer Qc Ar Ay My and m to set the supermirror parameters as described under Guide the names with z denote the vertical mirrors and those with y denote the horizontal ones 5 3 1 Algorithm The implementation is based on that of Guide 1 Calculate the channel which the neutron will enter 2 Shift the x coordinate so that the channel can be simulated as a single instance of the Guide component 3 do the same as in Guide 4 Restore the coordinates when the neutron exits the guide or is absorbed 5 3 2 Known problems e This component may produce wrong results with gravitation support Use Guide gravity section 5 4 in this case e The focusing channeled
109. is never explicitly simulated so the Monte Carlo probability of coherent or incoherent scattering is f coh f inc 1 The physical probability of coherent or incoherent scattering is P coh P inc eons Otot so again a weight adjustment z coh inc II coh inc f coh inc is needed When choosing the reciprocal lattice vector T to scatter from the relative probability for T is rz Ocon r Fr This is done to get better statistics for weak reflections The Monte Carlo probability for the reciprocal lattice vector T is thus Tr pes TT whereas the physical probability is P T Gcon r con A weight adjustment is thus needed of f T P T _ Ocoh r See Tr 7 i f T i Ocoh Tr In most cases however only one reflection is possible whence 7 1 8 3 5 Implementation details The equations describing Single_crystal are quite complex and consequently the code is fairly sizeable Most of it is just the expansion of the vector and matrix equations in individual coordinates and should thus be straightforward to follow The implementation pre computes a lot of the necessary values in the INITIALIZE section It is thus actually very efficient despite the complexity If the list of reciprocal lattice points is big however the search through the list will be slow The precomputed data is stored in the structures hk1_info and in an array of hk1 data structures one for each reciprocal lattice point in the list In addi
110. istical accuracy of chopper and mirrored instruments However E0 and E1 cannot be equal although they can be close By default these arguments select energy in meV if negative values are given selection will be in terms of Angstroms Variables dist xw and yh are the three component which will determine the directional acceptance window They define a rectangle with centre at 0 0 dist from the moderator Riso R 1538 EN 25 position and with width rw meters and height yh meters The initial direction of all the neutrons are chosen randomly to originate from a point on the moderator surface and along a vector such that without obstruction and gravitational effects they would pass through the rectangle This should be used as a directional guide All the neutrons start from the surface of the moderator and will be diverted absorbed if they encountered other components The guide system can be turned off by setting dist to zero The CAngle variable is used to rotate the viewed direction of the moderator and reduces the effective solid angle of the moderator face Currently it is only for the horizontal plane This is redundant since there are beamline specific h face files The two variables modYsize and mod Xsize allow the moderators to be effectively re duced increased If these variables are given negative or zero values then they default to the actual visible surface size of the moderators The last variable SAC will correct for the di
111. itudinal and transverse dispersions are identical with the velocity of sound being c Other physical parameters are the atomic mass M the lattice parameter a the scattering length b the Debye Waller factor DW and the temperature T Incoherent scattering and absorption are taken into account by the cross sections Cabs and Cine The sample can have the form of a cylinder with height h and radius ro or a box with dimensions wz hy tz Phonons are emitted into a specific range of solid angles specified by the location t Yt 24 and the focusing radius rg Alternatively the focusing is given by a rectangle Wfocus ANd Agocys and the focus point is given by the index of a down stream component target index Multiple scattering is not included in this component 8 5 1 The phonon cross section The inelastic phonon cross section for a Bravais crystal of a pure element is given by Ref 42 ch 3 E D RU 2 dOd FE EUN AR K gy Le x 2 py Tig d EET b w X wg p amp X q T 8 37 where both annihilation and creation of one phonon is considered represented by the plus and minus sign in the dispersion delta functions respectively In the equation exp 2W is the Debye Waller factor DW and Vo is the volume of the unit cell The sum runs over the reciprocal lattice vectors 7 over the polarisation index p and the N allowed wave vectors q within the Brillouin zone where N is the number of unit cells in the
112. iv is a rectangular source wx h which emits a beam of a specified divergence around the direction of the z axis The beam intensity is uniform over the whole of the source and the energy or wavelength distribution of the beam is uniform over the specified energy range Ey AE in meV or alternatively the wavelength range Ao 0A in The source divergencies are 0 and 6 FWHM in degrees If the gauss flag is set to 0 default the divergence distribution is uniform otherwise it is Gaussian This component may be used as a simple model of the beam profile at the end of a guide or at the sample position 22 Riso R 1538 EN 3 3 Source Maxwell 3 A continuous source with a Maxwellian spectrum Name Source Maxwell 3 Author System Input parameters h w dtoc cw yh Mow Ahighs L1 Th Optional parameters 15 T5 I3 T3 Notes Validated t 0 This component is a source with a Maxwellian energy wavelength distribution sampled in the range Ajow to Anigh The initial neutron ray position is chosen randomly from within a rectangle of area h x w in the z 0 plane The initial neutron ray direction is focused within a solid angle defined by a rectangular target of width rw height yh parallel to the xy plane placed at 0 0 dfoc The energy distribution used is a sum of 1 2 or 3 Maxwellians with temperatures 74 to T3 and integrated intensities J to I3 For one single Maxwellian the intensity in a sma
113. l part the left side of eq B 2 gives f V r dr f 2r R dr r R which from B 2 should equal x Hence we reach the wanted transformation r Ryz Riso R 1538 EN 129 The sphere For finding a random point on the surface of the unit sphere we need to determine the two angles 0 V is chosen from a uniform distribution in 0 27 giving 27 as for the circle The probability distribution of 0 should be Vg sin 0 for 0 0 7 whence by eq B 2 0 cos 1 x Exponential decay In a simple time of flight source the neutron flux decays expo nentially after the initial activation at t 0 We thus want to pick an initial neutron emission time from the normalised distribution V t exp t 7 r Use of Eq B 2 gives x 1 exp t 7 For convenience we now use the random variable z 1 x with the same distributions as x giving the simple expression t 7 ln z1 Normal distributions The important normal distribution can not be reached as a simple transformation of a uniform distribution In stead we rely on a specific algorithm for selecting random numbers with this distribution B 2 Random generators Eventhough there is the possibility to use the system random generator as well as ther ini tial McStas version 1 1 random generator the default algorithm is the so called Mersenne Twister by Makoto Matsumoto and Takuji Nishimura See http www math keio ac jp matumot for original source
114. l space that are perpendicular to 7 will thus be given by TN2g1 and 71193 We now derive a quantitative expression for the scattering cross section of the crystal in the model For this we introduce a local coordinate system for each reciprocal lattice point T and use for vectors written in local coordinates The origin is T the first axis is parallel to 7 and the other two axes are perpendicular to 7 In the local coordinate system the 3 dimensional Gaussian is given by O 28 1 1 1 3 3 G z1 T2 23 x i el 03 03 8 18 Y27 9 010203 The axes of the Gaussian are 0 TAd d and 07 03 rr Here we used the assumption that 7 is small so that tan y 7 with 7 given in radians By introducing the diagonal matrix ic 0 0 D 0 io E 2 equation 8 18 can be written as 1 1 G x penne 8 19 v 27 010203 again with x x1 2 x3 written in local coordinates To get an expression in the coordinates of the reciprocal lattice of the crystal we introduce a matrix U such that if y yi ya y3 are the global coordinates of a point in the crystal reciprocal lattice then U y 7 are the coordinates in the local coordinate system for 7 The matrix U is given by UT uz where 44 s and s are the axes of the local coordinate system written in the global coordinates of the reciprocal lattice Thus T T and s and z are unit vectors perpendicular to 1 and to each other The matrix
115. ld report this to us at mcstas risoe dk and refer to our special bug request reporting service 4 14 Riso R 1538 EN Chapter 2 Monte Carlo Techniques and simulation strategy This chapter explains the simulation strategy and the Monte Carlo techniques used in McStas We first explain the concept of the neutron weight factor and discuss the statis tical errors in dealing with sums of neutron weights Secondly we give an expression for how the weight factor transforms under a Monte Carlo choice and specialize this to the concept of direction focusing Finally we present a way of generating random numbers with arbitrary distributions 2 1 Neutron spectrometer simulations Neutron scattering instruments are built as a series of neutron optics elements Each of these elements modifies the beam characteristics e g divergence wavelength spread spa tial and time distributions in a way which may be modeled through analytical methods for simplified neutron beam configurations This stands for individual elements such as guides 9 10 choppers 11 12 Fermi choppers 13 14 velocity selectors 15 monochro mators 16 19 and detectors 20 22 In the case of selected neutron instrument parts one may use efficiently the so called acceptance diagram theory 10 23 24 within which the neutron beam distributions are considered to be homogeneous or gaussian However the concatenation of a high number of neutron optical elements which
116. le like component for resolution calculation Name Res sample Author System Alan Tennant HMI Input parameters Ti To h Tfocus Ttarget Utarget targets Eo AE Optional parameters Zw Yn Zt Lfocus Yfocus Qv focus h focus target index Notes The component Res_sample scatters neutron rays isotropically in direction and uni formly in energy Regardless of the state of the incoming neutron ray all directions and energies for the scattered ray have the same probability within specified intervals The component is meant for computation of the resolution function but may also be used for test and debugging purposes For actual calculations of the resolution function Res_sample should be used together with Res_monitor described in section 10 5 The shape of Res_sample is either a hollow cylinder or a rectangular box The hollow cylinder shape is specified with the inner and outer radius r and ro respectively and the height h If these parameters are unspecified the shape is instead a box of dimensions w yn and z The component only propagates neutron rays that are scattered other rays are absorbed The scattering probability is proportional to the neutron flight path length inside the sample to make a true volume weighting of the sample The reason for this is that the resolution function of an instrument is independent of any sample properties such as scattering and absorbtion cross sections b
117. le scattering Important remarks and limitations Since the choice of the interaction type we know that the neutron must scatter with an appropriate kf outgoing wave vector If any of the choices in the method fails 1 the roots ky and ky are imaginary which means that conservation laws can not be satisfied and for instance the selected energy transfert is higher than the incoming neutron energy 2 the radius of the target circle R is imaginary then a new q w set is drawn and the process is iterated until sucess or at last removal of the neutron event This latter absorption is then reported at the end of the simulation as it never occurs in reality neutrons that scatter do find a suitable q w set A way to avoid this is to focus the q w range from the S q w data file to the actual beam characteristics matching instrument dynamical range This is done e g by setting the component parameter wmaz to the maximum energy of the incoming beam In a few words the S q w data set extension in Q and w should preferably be smaller than the extension of the incoming beam and the scattered beam of interest for the experiment Otherwise some Monte carlo choices lead to scattering in non useful regions of S which reduces dramatically the algorithm efficiency possibly removing neutrons by underesti mating intensity An automatic probability table optimization may be activated when setting parameter auto qw 1 This is higly recommanded bu
118. length of k to correct for the small error introduced by approximating the Ewald sphere with a plane 8 3 4 Computing the total coherent cross section To determine the total coherent scattering cross section the differential cross section must be integrated over the Ewald sphere dc Ocoh TES dQ M E coh el For small mosaic we may approximate the sphere with the tangential plane and we thus get from 8 21 and 8 24 gue s NE at yrs fan 8 28 E ai Ua Peces ua 29 eden oT LR ji c 39 9dg 8 30 ide pen OU ap 8 31 _ D yO e 8 32 Sip SS dur 8 33 As before we let g L t to so that dt det L dg Neutron weight factor adjustment We now calculate the correct neutron weight adjustment for the Monte Carlo choices made In three cases is a Monte Carlo choice made with a probability different from the probability of the corresponding physical event When deciding whether to transmit the neutron or not when simulating absorption and when selecting the reciprocal lattice vector T to scatter from Riso R 1538 EN 81 If the user has choosen a fixed transmission probability f transmit Ptransmit the neutron weight must be adjusted by P transmit m transmit transit where transmit exp E is the physical transmission probability Likewise for non transmission the adjustment is 1 P transmit 1 f transmit 7 no transmission Absorption
119. liquids This file format provides a mean to import directly an S q data set when setting param eters powder_format qSq The Sqw coh or Sqw inc file should contains a single numerical block which column assignment is defaulted as q and S q being the first and second columns respectively This may be overridden from the file header with column keywords as in the example column_q 2 column_Sq 1 Such files can only handle elastic scattering File formats powder structures LAZY Fullprof Crystallographica Data files as used by the component PowderN may also be read Data files of type lau and laz in the McStas distribution data directory are self documented in their header They do not need any additional parameters to be used as in the example Isotropic_Sqw lt geometry parameters gt Sqw_coh Al laz Other column based file formats may also be imported e g with parameters such as powder_format Crystallographica powder_format Fullprof powder_Dd 0 powder_DW 1 The last two parameters may as well be specified in the data file header with lines Riso R 1538 EN 99 dDebye Waller 1 Delta_d d 1e 3 The powder description is then translated into S q by using Eq 8 74 In this case the density p n Vo is the number of atoms in the inverse volume of the unit cell As the component builds an S q from the powder structure description the accuracy of the Isotropic Sqw component is limited by
120. ll unactivate monitor and make it a single 0D monitor detecting integrated flux and counts The verbose option will display the nature of the monitor and the names of the generated files The 2D output When you ask the Monitor nD to monitor only two variables e g options x y a single 2D file of intensity versus these two correlated variables will be created The 1D output The Monitor nD can produce a set of 1D files one for each monitored variable when using 1 or more than 2 variables or when specifying the multiple keyword option The List output The Monitor nD can additionally produce a list of variable values for neutrons that pass into the monitor This feature is additive to the 1D or 2D output By default only 1000 events will be recorded in the file but you can specify for instance list 3000 neutrons or list all neutrons This last option might require a lot of memory and generate huge files 108 Riso R 1538 EN 9 7 5 Monitor equivalences In the following table we show how the Monitor nD may substitute any other McStas monitor 9 7 6 Usage examples e COMPONENT MyMonitor Monitor nD xmin 0 1 xmax 0 1 ymin 0 1 ymax 0 1 options energy auto limits will monitor the neutron energy in a single 1D file a kind of E_monitor e options banana theta limits 10 130 bins 120 y bins 30 is a theta height banana detector e options banana theta limits 10 130 auto ti
121. ll wavelength interval A A dA is I4 M 4 T1 d where M A T1 20 exp a A A is the normalized Maxwell distribu tion a 949 0 K T1 The initial weight of the created neutron ray po is calculated according to Eq 3 2 with V A replaced by p EM Ij M A Tj The component Source gen see section 3 4 works on the same principle but provides more options concerning wavelength energy range specifications shape etc Maxwellian parameters for some continuous sources are given in Table 4 1 As nobody knows exactly the characteristics of the sources it is not easy to measure spectrum there these figures should be used with caution 3 4 Source gen A general continuous source Name Source gen Author System E Farhi ILL Input parameters w h zw yh Eo AE T3 To T3 Li Lo I3 Optional parameters r Ao dA Emin Emax Amin Amaz Notes Validated for Maxwellian expressions t 0 This component is a continuous neutron source rectangular or circular which aims at a rectangular target centered at the beam The angular divergence is given by the dimensions of the target The shape may be rectangular dimension h and w or a disk of radius r The wavelength energy range to emit is specified either using center and half width or using minimum and maximum boundaries alternatively for energy and wavelength The flux spectrum is specified with the same Maxwellian parameters as in component Sour
122. llow idem and hollow part is set with either r internal radius or thickness The AT position corresponds to the center of the sample Hollow shapes are particularly useful to model complex sample environments Refer to section below for more details on this topic Dynamical structure factor The material behaviour is specified through the total scattering cross sections O94 Cinc Cabs and the S q w data files If you are lucky enough to have access to separated coherent and incoherent contribu tions e g from material simulation simply set Sqw coh and Sqw inc paremeter to the files names If on the other hand you have access to a global data set containing incoherent scattering as well e g the result of a previous experiment use Sqw coh parameter set the c o4 parameter to the sum of both contributions ogo Cinc and set Cine 0 This way we only use one of the two implemented scattering channels Such global data sets may originate from previous experiments as far as you have applied all known corrections multiple scattering geometry In any case the accuracy of the S q w data limits the Q and w resolution of the simulation eventhough a bilinear interpolation is performed in order to smooth a too coarse binning The sampling of data files should then be as thin as possible If the Sqw_inc parameter is left unset but the Gine is not zero an isotropic incoherent elastic scattering is used just like the V sample comp
123. ly from knowledge of the neutron velocity vz vy vz If the propagation time is negative the neutron ray is absorbed For components that are centered along the z axis use the _intersect functions to determine intersection time s and then a PROP DT call PROP DT dt Propagates the neutron through the time interval dt adjusting x y z and t accordingly from knowledge of the neutron velocity PROP_GRAV_DT dt Az Ay Az Like PROP DT but it also includes gravity using the acceleration Ax Ay Az In addition to adjusting x y z and t also vz vy vz is modified ALLOW_BACKPROP Indicates that the next propagation routine will not re move the neutron ray even if negative propagation times are found Further propa gations are not affected SCATTER This macro is used to denote a scattering event inside a component It should be used e g to indicate that a component has interacted with the neutron ray e g scattered or detected This does not affect the simulation see however Beamstop and it is mainly used by the MCDISPLAY section and the GROUP modifier See also the SCATTERED variable below A 1 2 Coordinate and component variable retrieval MC_GETPAR comp outpar This may be used in e g the FINALLY section of an instrument definition to reference the output parameters of a component NAME CURRENT COMP gives the name of the current component as a string POS A CURRENT COMP gives the absolute position of th
124. me is a theta time of flight banana detector e options x bins 30 limits 0 05 0 05 y will set the monitor to look at x and y For y default bins 20 and limits values monitor dimensions are used e options x y auto all bins 30 will determine itself the required limits for x and y e options multiple x bins 30 y limits 0 05 0 05 all auto will monitor the neutron x and y in two 1D files e options x y z kx ky kz all auto will monitor each of theses variables in six 1D files e options x y z kx ky kz list all all auto will monitor all theses neutron variables in one long list one row per neutron event e options multiple x y z kx ky kz and list 2000 all auto will monitor all theses neutron variables in one list of 2000 events and in six 1D files e options signal energy x y is a PSD monitor recording the mean energy of the beam as a function of x and y 9 7 7 Monitoring user variables There are two ways to monitor any quantity with Monitor nD This may be e g the number of neutron bounces in a guide or the wavevector and energy transfert at a sample The only requirement is to define the user1 and optionally user2 variables of a given Monitor nD instance Riso R 1538 EN 109 McStas monitor Monitor nD equivalent Divergence monitor DivLambda monitor DivPos monitor E monitor EPSD monitor Hdiv monitor L monitor Monitor A4PI Monitor PSDcyl monitor PSDlin monitor
125. mensions 1 h and the values of Ro m Q W and a for the mirror reflectivity As a special case if m 0 then the reflectivity is zero for all Q i e the surface is completely absorbing This component may produce wrong results with gravitation 5 1 1 Mirror reflectivity To compute the reflectivity of the supermirrors we use an empirical formula derived from experimental data 38 see Fig 5 1 The reflectivity is given by na Fo it Q Qe 1 Ro 1 tanh Q mQJ W 1 a Q QQ ifQ Qe Va 42 Riso R 1538 EN Here Q is the length of the scattering vector in T defined by Mn Q k ke i Ivi vel 5 2 m being the neutron mass The number m in 5 1 is a parameter determined by the mirror materials the bilayer sequence and the number of bilayers As can be seen R Ro for Q lt Qe where Qe is the critical scattering wave vector for a single layer of the mirror material At higher values of Q the reflectivity starts falling linearly with a slope a until a soft cut off at Q mQ The width of this cut off is denoted W See the example reflection curve in figure 5 1 It is important to notice that when m 1 the reflectivity remains constant at R Hg up to q Qc and not m Q This means that m lt 1 parameters behave like m 1 materials 5 1 2 Algorithm The function of the component can be described as 1 Propagate the neutron ray to the plane of the mirror 2 If the neutron trajecto
126. mory requirements of the component are very low as no big n dimensional array is needed 3 9 2 Using the Source Optimizer To use this component just install the Source Optimizer after a source but any location is possible afterwards in principle and use the Monitor Optimizer at a location where you want to reach better statistics where to act on neutron beam COMPONENT optim s Source_Optimizer options where to have better statistics COMPONENT optim m Monitor Optimizer xmin 0 05 xmax 0 05 ymin 0 05 ymax 0 05 optim_comp optim_s using more than one Monitor_Optimizer is possible The input parameter for Source Optimizer is a single options string that can contain some specific optimizer configuration settings in clear language The formatting of the options parameter is free as long as it contains some specific keywords that can be sometimes followed by values The default configuration equivalent to options is options continuous optimization auto setting keep 0 1 bins 0 1 smooth spikes SetX Y SetDivV SetDivsS Riso R 1538 EN 33 Parameters keep and step should be between 0 and 1 Additionally you may restrict the optimization to only some of the neutron parameters using the SetXY SetV SetS SetDivV SetDivS keywords The keyword modifiers no or not revert the next option Other options not shown here are verbose displays optimization process debug p
127. mple Author System Input parameters Ti To A Tfocus Ltargets Utarget Ztarget LO At Optional parameters Zw Yh Zt focus Yfocus Av focus Uh focus target index Notes The component TOF_Res_sample scatters neutron rays isotropically in position within a specified angular range As for Res_sample this component is meant for com putation of the resolution function but in this case for one time bin in a time of flight TOF instrument The component selects uniformly the neutron energy so that neutron arrival time at the TOF detector lies within one time bin specified by to and At For actual calculations of the resolution function TOF_Res_sample should be used together with Res_monitor described in section 10 5 The shape of TOF_Res_sample is either a hollow cylinder or a rectangular box The hollow cylinder shape is specified with the inner and outer radius rj and ro respectively and the height h If these parameters are unspecified the shape is instead a box of dimensions w Yh and z The component only propagates neutron rays that are scattered other rays are ab sorbed As for Res sample the scattering probability is proportional to the neutron flight path length inside the sample The point of scattering in the sample is chosen uniformly along the neutron flight path inside the sample and the scattered direction is chosen in a user specified range either within a sphere of radius foc within a rectangula
128. mponent Guide curved Riso R 1538 EN 49 Chapter 6 Moving optical components Choppers and velocity selectors We list in this chapter some moving optical components like chopper that may be used for TOF class instrument simulations and velocity selector used for partially monochromatize continuous beams 6 1 DiskChopper The disc chopper Name DiskChopper Author Peter Willendrup Riso System Input parameters bo R h w n to do Optional parameters IsFirst npulse Notes Based on Chopper by P Bernhardt extensions K Hewitt Kleno and R Bewey To cut a continuous neutron beam into short pulses or to control the pulse shape in time from a pulsed source one can use a disc chopper see figure 6 1 This is a fast rotating disc with the rotating axis parallel to the neutron beam The disk consists of neutron absorbing materials To form the pulses the disk has openings through which the neutrons can pass Component DiskChopper is an infinately thin absorbing disc of radius R with n slit openings of height and angular width 09 The slits are symmetrically disposed on the disc If unset the slit height will extend to the centre of the disc h R The DiskChopper is self centering meaning that the centre of the slit openings will automatically be positioned at the centre of the beam axis see figure 6 1 To override this behaviour set the paramter compat 1 positioning the chopper centre at h
129. n in units of us The output parameters from TOF monitor are the three count numbers N 7 and Mp for the total counts in the monitor In addition a file filename is produced with a list of the same three data divided in different TOF bins This file can be read and plotted by the MCplot tool see the System Manual 9 2 E monitor The energy sensitive monitor Name E monitor Author System Input parameters Tmin Tmax l min Ymax Nchan Emin Emax filename Optional parameters Notes The component E_monitor resembles TOF_monitor to a very large extent Only this monitor is sensitive to the neutron energy which in binned in nchan bins between Emin and Emax in meV The output parameters from E_monitor are the total counts and a file with 1 dimensional data vs E similar to TOF_monitor 9 3 L monitor The wavelength sensitive monitor Name L monitor Author System Input parameters Tmin Tmax Ymin Ymax Mchan Amin Amax filename Optional parameters Notes The component L monitor is very similar to TOF monitor and E monitor This component is just sensitive to the neutron wavelength The wavelength spectrum is output in a one dimensional histogram between Amin and Amax measured in Riso R 1538 EN 103 As for the two other 1 dimensional monitors this component outputs the total counts and a file with the histogram 9 4 PSD monitor The PSD monitor
130. ng attenuated by the attenuation coefficient HQ Ocone Q V 8 15 For calibration it may be useful to consider the total intensity scattered into a detector of effective height h covering only one reflection 42 ch 3 6 A cut though the Debye Scherrer cone perpendicular to its axis is a circle At the distance r from the sample the radius of this circle is r sin 20 Thus the detector in a small angle approximation counts a fraction h 2rr sin 20 of the scattered neutrons giving a resulting count intensity h I Pocono a sin 28 8 16 where V is the flux at the sample position For clarity we repeat the meaning and unit of the symbols V sim Incoming intensity of neutrons I grt Detected intensity of neutrons h m Height of detector r m Distance from sample to detector f 1 Packing factor of the powder j 1 Multiplicity of the reflection Vo m Volume of unit cell F Q m Structure factor exp 2W 1 Debye Waller factor HQ m Linear attenuation factor due to scattering from one powder line A powder sample will in general have several allowed reflections Q which will all contribute to the attenuation These reflections will have different values of F Q and hence of Q jj exp 2W and 65 The total attenuation through the sample due to scattering is given by u u j Hj Where pi represents the incoherent scattering 74 Riso R 1538 EN 8 2 4 Algorithm The algorithm of PowderN can be summarized as
131. nimum and maximum energies E and EF respectively The initial time of the neutron is determined on basis of a simple heuristical model for the time dependence of the neutron intensity from a time of flight source For all neutron energies the flux decay is assumed to be exponential V E t exp t r E 3 3 where the decay constant is given by TQ SEE a roll B EJ E gt E 34 The decay parameters are 79 in us Ee and y both in meV Other pulsed source models are available from contributed components See section 3 11 3 6 ISIS moderator ISIS pulsed moderators Name ISIS moderator Author S Ansell and D Champion ISIS Input parameters Face E0 E1 dist xw yh C Angle SAC Optional parameters modXsize modYsize Notes Validated Low statistics above 20 A Kink aroung 9 A 24 Riso R 1538 EN 3 6 1 Introduction The following document describes the functions obtained for models of TS2 as described in Table 3 2 target 3 4cm diameter tantalum clad tungsten reflector Be D20 80 20 at 300K Composite Moderator H2 CH4 Coupled Groove 3x8 3 cm 26K solid CHa Hydrogen 12x11cm 22K liquid Ha Poisoned Moderator solid CH4 26K Decoupled Narrow Gd poison at 2 4 cm 8 vanes Broad 3 3 cm not fully decoupled PreModerators 0 85 cm and 0 75 cm H20 Table 3 2 Description of Models TS1 model is from the tungsten target as currently installed an
132. nitions that aid in the writing of simulations and components in Appendix A e A detailed explanation of the use of random numbers in Appendix B e An explanation of the McStas terminology in Appendix C Additionally you may refer to the list of example instruments from the library in the McStas User Manual 1 1 Authorship The component library is maintained by the McStas system group A number of basic components belongs the McStas system and are supported and tested by the McStas team Other components are contributed by specific authors who are listed in the code for each component they contribute as well as in this manual McStas users are encouraged to send their contributions to us for inclusion in future releases Some contributed components have later been taken over for further development by the McStas system group with permission from the original authors The original authors will still appear both in the component code and in the McStas manual 1 2 Symbols for neutron scattering and simulation In the description of the theory behind the component functionality we will use the usual symbols r for the position x y z of the particle unit m and v for the particle velocity Riso R 1538 EN 9 Uz vy Uz unit m s Another essential quantity is the neutron wave vector k my v h where mj is the neutron mass k is usually given in A while neutron energies are given in meV The neutron wavelength is the recipro
133. nitor that measures just one number with errorbars per simulation This effect is mirrored by any of the 1 or 2 dimensional components we support e g the PSD_monitor In case additional functionality of monitors is required the few code lines of existing monitors can easily be modified However the ultimate solution is the use of the Swiss army knife of monitors Mon itor_nD that can face almost any simulation requirement but will prove challenging for users who like to perform own modifications 102 Riso R 1538 EN 9 1 TOF monitor The time of flight monitor Name TOF monitor Author System Input parameters Tmin Tmax U min Ymax Nchan to t filename Optional parameters At Notes The component TOF monitor has a rectangular opening in the x y plane given by the x and y parameters like for Slit The neutron ray is propagated to the plane of the monitor by the kernel call PROP Z0 A neutron ray is counted if it passes within the rectangular opening given by the x and y limits Special about TOF monitor is that it is sensitive to the arrival time t of the neutron ray Like in a real time of flight detector the time dimension is binned into small time intervals Hence this monitor maintains a one dimensional histogram of counts The nehan time intervals begin at to and end at t alternatively the interval length is specified by At As usual in time of flight analysis all times are give
134. nts for doing this trick is Virtual input and Virtual output which stores and reads neutron rays respectively Other components perform the simulation of the instrument resolution functions These are Res sample and TOF Res sample which are to be placed at the sample position and Res monitor that should be localized at the position of the instrument detector Progress bar is a simulation utility that displays the simulation status but assumes the form of a component 114 Riso R 1538 EN 10 1 Vitual output Saving the first part of a split simula tion Name Virtual output Author System Input parameters filename Optional parameters buffer size type Notes The component Virtual output stores the neutron ray parameters at the end of the first part of a split simulation The idea is to let the next part of the split simulation be performed by another instrument file which reads the stored neutron ray parameters by the component Virtual input All neutron ray parameters are saved to the output file which is by default of text type but can also assume the binary formats float or double The storing of neutron rays continue until the specified number of simulations have been performed buffer size may be used to limit the size of the output file but absolute intentities are then likely to be wrong We recommend to use the default value of zero saving all neutron rays The size of the
135. on reflected neutrons trm in MCSTAS data The most useful of these files for Monochromator curved are HOPG r1f and HOPG trm As for Monochromator flat the crystal is assumed to be infinitely thin and the varition in lattice spacing Ad d is assumed to be zero Hence this component is not suitable for simulating backscattering instruments or to investigate multiple scattering effects The theory and algorithm for scattering from the individual blades is described under Monochromator flat Riso R 1538 EN 65 Monochromator curved m 0 05 f Hf E op ES TH y 2 95 0 05 s zm Figure 7 3 A curved monochromator 7 3 Single crystal Thick single crystal monochromator plate with multiple scattering The Single_crystal component may be used to study more complex monochromators including incoherent scattering thickness and multiple scattering Please refer to section 8 3 66 Riso R 1538 EN Chapter 8 Samples This class of components models the sample of the experiment This is by far the most challenging part of a neutron scattering instrument to model However for purpose of sim ulating instrument performance details of the samples are rather unimportant allowing for simple approximations On the contrary for full virtual experiments it is of impor tance to have realistic and detailed sample descriptions McStas contains both simple and detailed samples We first consider incoherent scattering
136. onally if the block number 3rd argument of Table Read is 0 all blocks will be catenated The Table Value function assumes that the x axis is the first column index 0 Other functions are used the same way with a few additional parameters e g specifying an offset for reading files or reading binary data This other example for text files shows how to read many data blocks t Table Table declare a t Table structure array long n double y Table Table Read Array file dat amp n initialize and read the all numerical block n Table Info Array Table display informations for all blocks also returns n y Table Index Table 0 2 5 read in 1st block the 3rd row 6th column element ONLY use Table i with i lt n Table Free Array Table free allocated memory for Table You may look into for instance the source files for Monochromator curved or Virtual input for other implementation examples A 3 Monitor nD Library This library gathers a few functions used by a set of monitors e g Monitor nD Res monitor Virtual output etc It may monitor any kind of data create the data files and may dis play many geometries for mcdisplay Refer to these components for implementation examples and ask the authors for more details A 4 Adaptative importance sampling Library This library is currently only used by the components Source_adapt and Adapt check It performs adaptative importance sampling of ne
137. onent see section 8 1 Anyway as explained below it is also possible to only simulate the elastic scattering from a powder file see below Moreover as there are two process channels coherent and incoherent it is possible to simulate a mixture of two powders with fractions proportional tO Ocon and Ojnc File formats S q w inelastic scattering The format of the data files is free text consisting of three numerical block separated by empty lines or comments in the following order 1 A vector of length m containing wavevector q values in 1 2 A vector of length n containing energy w values in meV 3 A matrix of size m rows by n columns of S q w values in meV 98 Riso R 1538 EN Any line beginning with any character of is considered to be a comment and lines which can not be read as vectors matrices are ignored Example files are listed as sqw files in directory MCSTAS data The file header may optionally contain parameter settings for the material as com ments with keywords as is the following example V_O 0 07 sigma_abs 5 sigma_inc 4 8 sigma_coh 1 Temperature 10 Some sqw data files are included in the McStas distribution data directory and they contain material parameter settings in their header so that you may use Isotropic_Sqw lt geometry parameters gt Sqw_coh He4 sqw T 10 A table of S q w data files for a few liquids are listed in Table 1 3 page 13 File formats S q
138. ored variable Not all file and dimension specifications are indicated e g filename xmin xmax ymin ymax 110 Riso R 1538 EN Setting directly the user variables simple The first method uses directly the user1 and username1 component parameters to trans fert directly the value and label such as in the following example TRACE Ceres COMPONENT UserMonitor Monitor nD useri log t usernamei Log time options auto useri The values to assign to user2 and user2 must be global instrument variables or a compo nent output variables as in user1 MC GETPAR some comp outpar Similarly the user2 and username2 parameters may be used to control the second user variable to produce eventually 2D user variable correlation data Setting indirectly the user variables only for professionals It is possible to control the user variables of a given Monitor nD instance anywhere in the instrument description This method requires more coding but has the advantage that a variable may be defined to store the result of a computation locally and then transfert it into the UserMonitor all fitting in an EXTEND block This is performed in a 4 steps process 1 Declare that you intend to monitor user variables in a Monitor nD instance defined in TRACE DECLARE We torn include monitor nd lib MONND DECLARE UserMonitor will monitor custom things in UserMonitor AY 2 Initialize the label of the user variable opt
139. osed to have specific knowledge of neutron scattering but some basic understanding of physics is helpful in understanding the theoretical background for the component functionality For details about setting up and running simulations we refer to the McStas system manual 2 We assume familiarity with the use of the C programming language It is a pleasure to thank Dir Kurt N Clausen PSI for his continuous support to McStas and for having initiated the project Continuous support to McStas has also come from Prof Robert McGreevy ISIS Apart from the authors of this manual also Per Olof strand NTNU Trondheim has contributed to the development of the McStas system We have further benefited from discussions with many other people in the neutron scattering community too numerous to mention here The users who contributed components to this manual are acknowledged as authors of the individual components We encourage other users to contribute components with manual entries for inclusion in future versions of McStas In case of errors questions or suggestions do not hesitate to contact the authors at mcstas risoe dk or consult the McStas home page 3 A special bug request reporting service is available 4 Important developments on the component side in McStas version 1 9 as compared to version 1 4 the last version of the component manual then a section of the system manual include e Validation of most components against analytical
140. ould refer to the on line component help using e g mcdoc Monitor nD comp 9 7 1 The Monitor nD geometry The monitor shape can be selected among six geometries 1 square The default geometry is flat rectangular in xy plane with dimensions T min Vmax Ymin Ymax 2 box A rectangular box with dimensions 2 width Yheight Zthick 3 disk When choosing this geometry the detector is a flat disk in ay plane The radius is then radius niax abs min max mins Vmax 9 1 4 sphere The detector is a sphere with the same radius as for the disk geometry 5 cylinder The detector is a cylinder with revolution axis along y vertical The radius in xz plane is radius max abs m maxl 9 2 and the height along y is height Ymax Ymaxl 9 3 106 Riso R 1538 EN 6 banana The same as the cylinder but without the top bottom caps and on a restricted angular range The angular range is specified using a theta variable limit specification in the options By default the monitor is flat rectangular Of course you can choose the orientation of the Monitor nD in the instrument description file with the usual ROTATED modifier For the box sphere and cylinder the outgoing neutrons are monitored by default but you can choose to monitor incoming neutron with the incoming option At last the slit or absorb option will ask the component to absorb the neutrons that do not intersect the monitor The exclusive
141. ounts in a monitor An output parameter may be accessed from the instrument in which the component is used using MC GETPAR Run time C code contained in the files mcstas r c and mcstas r h included in the McStas distribution that declare functions and variables used by the generated simulations Setting parameter Similar to a definition parameter but with the restriction that the value of the parameter must be a number R 1538 EN 131 Bibliography 1 2 10 11 12 13 14 15 16 17 18 19 20 132 K Lefmann and K Nielsen Neutron News 10 20 23 1999 Peter Willendrup Emmanuel Farhi Kim Lefmann and Klaus Lieutenant User and Programmers Guide to the Neutron Ray Tracing Package McStas Version 1 9 Risoe Report 2005 See http www mcstas org See http neutron risoe dk McZilla See http mensi risoe dk See http neutron eu net en ICSD Inorganic Crystal Structure Database See http icsd ill fr A J Dianoux and G Lander ILL Neutron Data Booklet OCP Science 2003 H Maier Leibnitz and T Springer Reactor Sci Technol 17 217 1963 D F R Mildner Nucl Instr Meth A290 189 1990 R A Lowde J Nucl Energy Part A Reactor Sci 11 69 1960 J R D Copley Nucl Instr Meth A510 318 2003 E Fermi J Marshall and L Marshall Phys Rev 72 193 1947 J Peters Nucl Instr Meth A540 419 2005 C D Clark E W J Mitchell D W Palmer and I H
142. ovember 15 2005 The authors are Kim Lefmann Materials Research Department Ris National Laboratory Roskilde Denmark email kim lefmann risoe dk Peter Kj r Willendrup Materials Research Department Ris National Laboratory Roskilde Denmark email peter willendrup risoe dk Kristian Nielsen email kristian nielsen mail tele dk Emmanuel Farhi Institut Laue Langevin Grenoble France email farhi ill fr Klaus Lieutenant Institut Laue Langevin Grenoble France email lieutenant ill fr ISBN 87 550 3482 9 ISSN 0106 2840 Pitney Bowes Management Services Denmark A S Riso National Laboratory 2006 Contents Preface and acknowledgements 1 About the component library Toh Anithorships Lasa boat edo teed a coh ot eo ans d Ru 1 2 Symbols for neutron scattering and simulation 1 3 Component coordinate system 222A LA About datatles s d dd ie ade ae ee eee UR bet ee us 1 5 Component source code less LG Documentation e wins Pag sak hw ee A a EA 1 7 Component validation i4 gsi phos aa he ee Bea a ee ee 1 8 Disclaimer DUZS usos cedit e eee A oon oh Beppe n e Geek 2 Monte Carlo Techniques and simulation strategy 2 1 Neutron spectrometer simulations 22e 2 1 Monte Carlo ray tracing simulations 2 2 The neutron weight e ans sona aina p sobd dati ee 2 2 1 Statistical errors of non integer counts osoo a 2 3 Weight factor transformations during a Mon
143. phragm units n sec is therefore for constant 4 Itotal PAANAA 3 1 20 Riso R 1538 EN sources 0 1 0 05 J L J e 0 05 4 z m 0 0 05 0 0 050 1 x m Figure 3 1 A circular source component at z 0 emitting neutron events randomly either from a model or from a data file where A is the source area AQ is the solid angle of the diaphragm as seen from the source surface and AA is the width of the wavelength interval in which neutrons are emitted assuming a uniform wavelength spectrum The simulations are performed so that detector intensities are independent of the number of neutron histories simulated although more neutron histories will give better statistics If Nsim denotes the number of neutron histories to simulate the initial neutron weight pg must be set to y Dota _ 90 40A 3 2 Nsim Nsim where the source flux is now given a A dependence As a start we recommand new McStas users to use the Source_simple component Slightly more realistic sources are Source_Maxwell_3 for continuous sources or Moder ator for time of flight sources Optimizers can dramatically improve the statistics but may occasionally give wrong results due to misleaded optimization You should always check such simulations with shorter non optimized ones Other ways to speed up simulations are to read events from a file See section 3 11 for details Riso R 1538 EN 21 3 1 Source simple A simple contin
144. plane normal n p p Each t defines a potential final wave vector k t ki P t The value of the 3 dimensional Gaussian for this kf is 1 1 T G a t gabe De 8 23 et s ros 8 23 where a t T ki ke is given in local coordinates for T It can be shown that equation 8 23 can be re written as 1 1 T t a 5 t to M t to 24 S V 21 3 ci0303 Mis where M BT DB is a2 x 2 symmetric and positive definite matrix ty M BT Do is a 2 vector and a tiM to o Do is a real number Note that this is a two dimensional Gaussian not necessarily normalized in t with center ty and axis defined by M To choose kf we sample t from the 2 dimensional Gaussian distribution 8 24 To do this we first construct the Cholesky decomposition of the matrix 5M 1 This gives a 2 x 2 matrix L such that LLT iM 71 and is possible since M is symmetric and positive definite It is given by V11 0 L 5 v2 where MO A eae Via V22 80 Riso R 1538 EN Now let g g1 g2 be two random numbers drawn form a Gaussian distribution with mean 0 and standard deviation 1 and let t Lg tg The probability of a particular t is then 1 1 P t dt 739 9dg uS i m HL to LE gi 8 26 27 det L i gare C Meu 8 27 m de where we used that g L t to so that dg sat This is just the normalized form of 8 24 Finally we set k ki P t and k k k Rt to normalize the
145. pling weights is modified so that the actual formula used is B vi Vo if Do O Pao yes A 3 16 3 7 3 The implementation The heart of the algorithm is a discrete distribution p The distribution has N bins 1 N Each bin has a value v the probability of bin i is then D S vj Two basic operations are possible on the distribution An update adds a number a to a bin setting vp Y god a A search finds for given input b the minimum 4 such that b lt So yy 3 17 j 1 The search operation is used to sample from the distribution p If r is a uniformly dis tributed random number on the interval 0 vj then i search r is a random number distributed according to p This is seen from the inequality 2 jj rS 0 3 18 30 Riso R 1538 EN from which r Dou Vj vi NES vj which is an interval of length v Hence the probability of i is vj s 1 vj The update operation is used to adapt the distribution to the problem at hand during a simulation Both the update and the add operation can be performed very efficiently As an alternative you may use the Source Optimizer component see section 3 9 3 8 Adapt check The adaptative importance sampling mon itor Name Adapt check Author K Nielsen Input parameters source comp Optional parameters Notes validated The component Adapt check is used together with the Source adapt component see section 3 7 for details When placed somew
146. ponents The sample has an absorption cross section per unit cell of c and a scattering cross section per unit cell of o2 The neutron path length in the sample before the scattering event is denoted by l and the path length within the sample after the scattering is denoted by l5 see figure 8 1 We then define the inverse penetration lengths as u o2 V and u o2 V where V is the volume of a unit cell Physically the attenuation along this path follows fau 1 exp I u u 8 3 where the normalization fats 0 1 The probability for a given neutron ray to be scattered from within the interval 1 l1 di will be P lj dl pw fare lad 8 4 while the probability for a neutron to be scattered from within this interval into the solid angle Q and not being scattered further or absorbed on the way out of the sample is Pita Q dldQ L fart l fatt l2 y Q dQdl 8 5 68 Ris R 1538 EN Figure 8 1 The geometry of a scattering event within a powder sample where y Q is the directional distribution of the scattered neutrons and l2 is determined by Monte Carlo chocies of l Q and from the sample geometry see e g figure 8 1 In our Monte Carlo simulations we may choose the scattering parameters by making a Monte Carlo choice of and Q from a distribution different from P l Q By doing this we must adjust 7 according to the probability transformation rule 2 9 If we e g choose the scattering dep
147. principle the number of surrounding shells is not restricted The only restriction is that neutrons that scatter in 47 can not come back in the instrument description so that some of the multiple scattering events are lost Namely in the previous example neutrons scattered by the outer wall of the cryostat s out can not come back to the sample or to the other cryostat wall s_in As these neutrons have usually few chances to reach the rest of the simulation we expect that the approximation is fair 100 Riso R 1538 EN 8 6 5 Validation For Vanadium incoherent scattering mode V sample PowderN Single crystal and Isotropic Sqw produce equivalent results eventhough the two later are more accurate geometry multiple scattering Execution times are equivalent Compared to the PowderN component the S q method is twice slower in computation time but often brings more statistics and intensity is usually lower by a factor 1 to 2 The PowderN component is intrinsically more accurate as each Bragg peak is handled separately as an exact Dirac peak with optional Aq spreading In Isotropic Sqw an approximated S q table is built from the F data and is coarser Riso R 1538 EN 101 Chapter 9 Monitors and detectors In real neutron experiments detectors and monitors play quite different roles One wants the detectors to be as efficient as possible counting all neutrons absorbing them in the process while the monitors measure the int
148. put parameters T h Tabs Cinc Vo fpack filename format DW Optional parameters Notes validation in progress The powder diffraction component PowderN models a powder sample with back ground coming only from incoherent scattering and no multiple scattering The description of the powder comes from a file in one of the standard output formats LAZY FULLPROF or CRYSTALLOGRAPHICA 8 2 1 Files formats powder structures Data files of type lau and laz in the McStas distribution data directory are self documented in their header A list of common powder definition files is available in Table 1 2 page 12 They do not need any additional parameters to be used as in the example PowderN lt geometry parameters filename Al laz Other column based file formats may also be imported e g with parameters such as format Crystallographica format Fullprof format 1 2 3 4 0 0 0 0 In the latter case the indices define order of columns parameters multiplicity lattice spacing F Debye Waller factor and intrinsic line width Other component parameters may as well be specified in the data file header with lines e g Vc sigma_abs sigma_inc Debye_Waller Delta_d d Further details on file formats are available in the mcdoc page of the component 8 2 2 Geometry and physical properties The sample has the shape of a solid cylinder radius r and height h The absorption and incoherent cross sections are given by of oi c
149. q coh sqw and Rb liq inc sqw 6 32 0 5 0 38 312 46 1300 Classical MD Table 1 3 Liquids of the McStas library 7 8 Low c and high Gabs materials are high lighted 1 7 Component validation Some components were checked for release 1 9 the Fermi choppers the velocity selectors 2 of the guide components and Source_gen The results are sumarized in a talk available online http www ill fr tas mcstas doc ValMcStas pdf Velocity selector and Fermi chopper were treated as black boxes and the resulting line shapes cross checked against analytical functions for some cases The component Selector showed no dependence on the distance between guide and selector axe This is corrected at the moment Apart from that the component yielded correct results That was different with the Fermi chopper components The component Chopper_Fermi which has been part of the McStas distribution for a long time gave wrong results and was removed from the package The new Vitess ChopperFermi transferred from the VITESS package showed mainly correct behaviour Little bugs were corrected after the first tests At the moment there is only the problem left that it underestimates the influence of a shadowing cylinder With the contributed FermiChopper component there were also minor problems which are all corrected in the meantime For the guides several trajectories through different kinds of guides straight conver gent divergent were
150. r a bender model non polarizing Name Bender Author Philipp Bernhardt Input parameters r Win w h Optional parameters k d Foo s Cla i s Mla i s gt Qaa Wia i s Notes partly validated no gravitation support The Bender component is simulating an ideal curved neutron guide bender It is bent to the negative X axis and behaves like a parallel guide in the Y axis Opposite curvature may be achieved by a 0 0 180 rotation along Z axis Bender radius r entrance width w and height h are required parameters To define the length you may either enter the deviation angle Win or the length l Three different reflectivity profiles Ro Qe W m a can be given see section 5 1 for outer walls index a for inner walls index 7 and for the top and bottom walls index s To get a better transmission coefficient it is possible to split the bender into k channels which are separated by partitions with the thickness of d T he partitioning walls have the same coating as the exterior walls Because the angle of reflection doesn t change the routine calculates the reflection coefficent for the concave and if necessary for the convex wall only onces together with the number of reflections Nevertheless the exact position the time and the divergence is calculated at the end of the bender so there aren t any approximations 48 Riso R 1538 EN The component is shown straight on geometrical views mcdispla
151. r a check The option zerotime may be used to reset the time at the chopper position The time is set to a value between Tp 2 and 7 2 with Tp being the maximal pulse length depending on the phase of the chopper at the moment of passing the chopper centre The result is the generation of only 1 pulse instead of several this is useful for T OF instruments on continuous sources 58 Riso R 1538 EN Figure 6 7 geometry of a curved Fermi chopper 6 4 V selector A rotating velocity selector Name V_selector Author System Input parameters Lo Li w ro O N height width Optional parameters Notes validated position is center of input aperture The component V_selector models a rotating velocity selector constructed from N collimator blades arranged radially on an axis Two identical slits height x width at a 12 o clock position allow neutron passage at the position of the blades The blades are twisted on the axis so that a stationary velocity selector does not transmit neutrons the total twist angle is denoted in degrees Further input parameters for V selector the distance between apertures Lo the length of the collimator blades L1 the height from rotation axix to the slit centre ro the rotation speed w in rpm and the blade thickness t The local coordinate system has its Origo at the slit centre The component Selector produces equivalent results 6 4 1 Velocity selector tr
152. r target with measures Tfocus Yfocus Or in the specified angular range This target is positioned at the Ztarget Ytargets Ztarget point in space or using target index This component stores complete information about the scattering event in the output parameter res struct see Res Sample 10 5 Res monitor The monitor for resolution calculation Name Res monitor Author System Alan Tennant HMI Input parameters Tmin Tmax U min Ymax filename res sample buffer size Optional parameters w Yh Ze options Notes The component Res monitor is used for calculating the resolution function of a par ticular instrument with detector of the given shape size and position The shape of Res monitor is by default rectangular but can be a box a sphere a disk or a cylinder depending on the parameter options The component works like a normal monitor but also records all scattering events and stores them to a file that can later be read by the McStas frontend tool mcresplot For time of flight TOF instruments Res monitor should be understood as giving the resolution of one time bin of the TOF detector only the bin properties being specified in the preceding TOF Res sample Riso R 1538 EN 117 As described in section 10 3 the Res monitor should be used in connection with one of the components Res sample or TOF Res sample the name of which should be passed as an input parameter to Res monitor
153. rrelations between neutron parameters Nevertheless it is rather efficient enabling the user to increase the number of events at optimization criteria locations by typically a factor of 20 Hence the signal error bars will decrease by a factor 4 5 since the overall flux remains unchanged 3 9 1 The optimization algorithm When a neutron reaches the Monitor Optimizer location s the component records its previous position a y and speed vz v vz when it passed in the Source Optimizer Some distribution tables of good neutrons characteristics are then built When a bad neutron comes to the Source Optimizer it would then have few chances to reach Monitor Optimizer it is changed into a better one That means that its posi tion and velocity coordinates are translated to better values according to the good neutrons distribution tables The neutron energy 4 v2 v7 v2 is kept as far as possible The Source Optimizer works as follow 1 First of all the Source Optimizer determines some limits min and maz for vari ables y Ur Vy Vz 2 Then the component records the non optimized flux distributions in arrays with bins cells default is 10 cells This constitutes the Reference source 3 The Monitor_Optimizer records the good neutrons that reach it and communi cate an Optimized beam requirement to the Source_Optimizer However retains keep percent of the original Reference source is sent unmodified default is 10
154. rs at a given instrument location to be used at an other Monitor nD location for monitoring The only parameter of PreMonitor nD is the name of the associated Monitor nD instance which should use the premonitor option as in the following example COMPONENT CorrelationLocation PreMonitor nD comp CorrelationMonitor AT 3 24 e g a guide system COMPONENT CorrelationMonitor Monitor_nD options x dx auto all bins 30 premonitor AT C which performs the same monitoring as the previous example but with a spatial correlation constrain Indeed it records the position vs the divergence of neutrons at the correlation location but only if they reach the monitoring position All usual Monitor nD variables may be used except the user variables These latter may be defined as described in section 9 7 7 in an EXTEND block Riso R 1538 EN 113 Chapter 10 Special purpose components The chapter deals with components that are not easily included in any of the other chapters because of their special nature but which are still part of the McStas system One part of these components deals with splitting simulations into two or more stages For example a guide system is often not changed much and a long simulation of neutron rays surviving through the guide system could be reused for several simulations of the instrument back end speeding up the simulations by typically one or two orders of magnitude The compone
155. ry intersects the mirror plate it is reflected otherwise it is left untouched 3 Reflection of the incident velocity vi Vz vy vz gives the final velocity v vs Uy U z 4 Calculate Q 2myvz h 5 The neutron weight is adjusted with the amount 7 R Q 6 To avoid spending large amounts of computation time on very low weight neutrons neutrons for which the reflectivity is lower than about 1071 are ABSORB ed Riso R 1538 EN 43 Supermirror reflectivity m 4 T T T Reflectivity p o T 2 o T 0 4 F 0 2 0 L L L L L L 1 L 0 0 01 0 02 0 03 0 04 0 05 0 06 0 07 0 08 0 09 0 1 Momentum transfer Q Figure 5 1 A typical reflectivity curve for a supermirror Eq 5 2 The used values are m 4 Ro 1 Qe 0 02 7 a 6 49 A W 1 300 1 5 2 Guide The guide section Name Guide Author System Input parameters w1 hi we he l m Optional parameters Ro Qe W a Notes validated no gravitation support The component Guide models a guide tube consisting of four flat mirrors The guide is centered on the z axis with rectangular entrance and exit openings parallel to the x y plane The entrance has the dimensions wi hi and placed at z 0 The exit is of dimensions wa h2 and is placed at z where l is the guide length See figure 5 2 The reflecting properties are given by the values of Ro m Qe W and a as for Mirror Guide may pro
156. s and automatic saving 119 10 7 Beam spy A beam analyzer 22A 119 A Libraries and conversion constants 120 A 1 Run time calls and functions mestas T 120 A 1 1 Neutron propagation o 120 A 1 2 Coordinate and component variable retrieval 121 A 1 3 Coordinate transformations ooo 122 A 1 4 Mathematical routines en 123 A 1 5 Output from detectors o oo 123 A 1 6 Ray geometry intersections 00 000002 eee 124 ALT Random numbers 2x3 bs feed ee ook a ee aa d s 124 A 2 Reading a data file into a vector matrix Table input read table lib 125 A 3 Monitor nD Library lll rs 127 A 4 Adaptative importance sampling Library 22s 127 A 5 Vitess import export Library uox ege Ao RR er mar SEL 127 A 6 Constants for unit conversion etc 222r 128 B Random numbers in McStas 129 B 1 Transformation of random numbers 0 0 00000 eee 129 B 2 Random generators 5 20 ol xoxo Xec ck oe be ko o Ok e ENE A 130 C The McStas terminology 131 Bibliography 132 Index and keywords 134 6 Riso R 1538 EN Preface and acknowledgements This document contains information on the neutron scattering components which are the building blocks for defining instruments in the Monte Carlo neutron ray tracing program McStas version 1 9 The initial release in October 1998 of version 1 0 was presented in Ref 1 The reader of this document is not supp
157. s are taken 1 If the sample is hit calculate the total path length inside the sample otherwise leave the neutron ray unchanged 2 Choose a scattering point inside the sample 3 Choose a direction for the final wave vector kp within AQ 4 Calculate possible values of kf so that the dispersion relation is fulfilled for the corresponding value of ky There is always at least one possible kr value 41 5 Choose one of the calculated kf values 6 Propagate the neutron to the scattering point and adjust the neutron velocity ac cording to kg 7 Calculate and apply the correct weight factor correction see below 8 5 3 The weight transformation Before making the weight transformation we need to calculate the probability for scatter ing along one certain direction 2 from one phonon mode To do this we must integrate out the delta functions in the cross section 8 39 We here use that hw h k k 2mn K ki kek and the integration rule f f z df dz 0 Now we reach 257 224 55 o E Nb hs Dive n 1 i A 8 40 j dQ dOd E ki 2Mdi Kj J kg 5 2 2 where the Jacobian reads mn O Jed khi Ok d1 1 8 41 Riso R 1538 EN 87 A rough order of magnitude consideration gives Sta z amp 1 J 1 n gt dE i r2 1 m ss Hence 48 xN b and the phonon cross section becomes a fraction of the total scattering cross section 4r Nb as it must be The differential
158. scat terer 86 Dilute colloid medium 81 Incoherent isotropic scatterer Vana dium 67 Phonon scattering 83 Powder multiple diffraction line 69 Resolution function sample for 113 Single crystal diffraction 73 Simulation progress bar 116 Small angle scattering 81 Sources 17 Adaptative importance sampling mon itor 28 Adaptative source 25 136 Riso R 1538 EN Riso R 1538 EN 137 Bibliographic Data Sheet Riso R 1538 EN Title and author s Component Manual to the Neutron Ray Tracing Package McStas Version 1 9 Kim Lefmann Peter Kj r Willendrup Kristian Nielsen Emmanuel Farhi Klaus Lieu tenant ISBN ISSN ISBN 87 550 3482 92 Internet 0106 2840 Dept or group Date Materials Research Department November 15 2005 Groups own reg number s Project contract No Pages Tables Illustrations References 138 2 15 10 Abstract Max 2000 char The software package McStas is a tool for carrying out Monte Carlo ray tracing simulations of neutron scattering instruments with high complexity and precision The simulations can compute all aspects of the performance of instruments and can thus be used to optimize the use of existing equipment design new instrumentation and carry out virtual experiments McStas is based on a unique design where an automatic compilation process translates high level textual instrument descriptions into efficient ANSI C code This design makes it simple to set up typical
159. similar for the horizontal direction The output from PSD monitor is the integrated counts n I Ma as well as three two dimensional arrays of counts n Ny m F ny m Ma ny m The arrays are written to a file filename and can be read e g by the tool MC plot see the system manual 9 6 DivPos monitor A divergence and position sensitive monitor Name DivPos monitor Author System Input parameters Tmin Tmax Ymin Ymax Nx Nh Mh max filename Optional parameters Notes 104 Riso R 1538 EN DivPos monitor is a two dimensional monitor component which is sensitive to both horizontal position x and horizontal divergence defined by gy tan vz vz The detector window is set by the x and y input coordinates The neutron counts are being histogrammed into nz x nj pixels The horizontal di vergence range accepted is max h max and the horizontal position range is the size of the detector The output from PSD monitor is the integrated counts n I M as well as three two dimensional arrays of counts n x m I x m Mo z ry The arrays are written to a file and can be read e g by the tool MC plot see the system manual This component can be used for measuring acceptance diagrams 24 PSD monitor can easily be changed into being sensitive to y and vertical divergence by a 90 degree rotation around the z axis Riso R 1538 EN 105 9 7 Monitor nD A general Monitor for 0D 1D 2D records
160. source components are available for new facilities in a number of con tributed components e SNS contrib SNS source e ISIS contrib ISIS moderator see section 3 6 e ESS project ESS moderator long and ESS moderator short When no analytical model e g a Maxwellian distribution exits one may have access to measurements estimated flux distributions event files and better to MCNP Triploli4 neutron event records The following components are then useful e misc Virtual input can read a McStas event file in text or binary format often bringing an order of magnitude speed up See section 10 2 e contrib Virtual tripoli4 input does the same but from event files text format obtained from the Tripoli 37 reactor simulation program Such files are usually huge e misc Vitess input can read Vitess 31 neutron event binary files e optics Filter gen reads a 1D distribution from a file and may either modify or set the flux according to it See section 4 4 e A component for reading MCNP PTRAC records is planed for a future release Please contact us if you like to participate Riso R 1538 EN 35 Chapter 4 Beam optical components Arms slits collimators and filters This chapter contains a number of optical components that is used to modify the neutron beam in various ways as well as the generic component Arm 4 1 Arm The generic component Name Arm Author System Input parameters none
161. spects to the earlier MSC 45 Discus 46 and MSCAT 47 programs eventhough this implementation is original 8 6 2 Theoretical side Pair correlation function g r and Dynamic structure factor S q w Following Squires 42 p63 the neutron differential scattering cross section for both coherent and incoherent processes is do o ky Mine tee are Oe with usual notations N pV is the number of atoms in the scattering volume V with atomic number density p Ef Ej kf ki are the energy and wavevectors of final and initial states respectively o is the scattering cross section and q w are the wave vector and energy transfer at the sample The unit of the dynamical structure factor S q w is an inverse energy We define its norm sie i Jj Sac ydus 8 44 Some easely measureable coherent quantities in a liquid are the static pair correlation 90 Riso R 1538 EN function g r and the structure factor S q defined as pg r N v 3 06e n 09 8 45 i 1 jzi s Sz wide 8 46 1 f g 7 1 e ar 8 47 V eS E 1 Ji g r jjEBU eg in isotropic materials 8 48 0 qr The latter expression in isotropic materials may be Fourier transformed as 1 e sin qr g r t zu Po a a 8 49 T P Jo qr Both g r and S q converge to unity for large r and q values respectively and they are representative of the atoms spatial distribution In a liquid limg o S q pkgT xr where XT 5 is the compressibili
162. t may sometimes miss a few neutrons if the g w beam range has been guessed too small Focusing the q and w range to the one being able to scatter the incoming beam when using the component does improve significantly the speed of the computation Addition ally if you restrict the scattering the first order only parameter order 1 then you may specify the angular vertical extension d of the scattering area to gain optimized focusing This option does not apply when handling multiple scattering which emits in 47 many times before exiting the sample A bilinear interpolation for the Q w determination is recommanded to improve the accuracy of the scattered intensity but it may be unactivated when setting parameter interpolate 0 This will often result in a discrete Q w sampling As indicated in the previous section the Isotropic_Sqw component is not as accurate as PowderN for powders scattering for single scattering 8 6 4 The implementation Geometry The geometry for the component may be box cylinder and sphere shaped either filled or hollow Relevant parameters for this purpose are as follow 96 Riso R 1538 EN Parameter type meaning Sqw coh string Coherent scattering data file name Use 0 or to disable Sqw inc string Incoherent scattering data file name Use 0 or to scatter isotropically Vanadium like sigma coh barns Coherent scattering cross section 0 to disable sigma inc b
163. te Carlo choice 2 3 1 Direction focusing les 2 4 Adaptive sampling ls 3 Source components 3 0 1 Neutron flux 3 3 A OR RUD a E a Sa 3 1 Source simple A simple continuous source with a flat energy wavelength SPECULUM ide t REP A DES A ELDER RIS M URGE op ur UR de 3 2 Source_div A continuous source with specified divergence 3 3 Source Maxwell 3 A continuous source with a Maxwellian spectrum 3 4 Source gen A general continuous source 0 eee ee 3 5 Moderator A time of flight source pulsed llle 3 6 ISIS moderator ISIS pulsed moderators lll 3 6 1 Introduction 2s ss 3 6 2 Using the McStas Module 2l 3 6 3 Comparing TS1 and TS2 o 30 4 Bugs Sid a ek ke eu RUNE SAN PUES 3 7 Source_adapt A neutron source with adaptive importance sampling 3 7 1 Optimization disclaimer 22e Riso R 1538 EN 10 10 11 11 13 13 15 15 16 16 17 18 18 19 20 20 22 22 23 23 24 24 25 25 26 26 28 28 3 7 2 The adaption algorithm ls 28 3 7 3 The implementation sen 30 3 8 Adapt check The adaptative importance sampling monitor 31 3 9 Source Optimizer A general Optimizer for McStas 32 3 9 1 The optimization algorithm ln 32 3 9 2 Using the Source Optimizer 22s 33 3 10 Monitor Optimizer Optimization locations for the Source Optimi
164. th l from a flat distribution in 0 gn and choose the directional dependence from g Q we have a Monte Carlo probability F a Q g Q lean 8 6 lea is here the path length through the sample as taken by a non scattered neutron although we here assume that all simulated neutrons are being scattered According to 2 9 the neutron weight factor is now adjusted by the amount E ESO E E 8 7 In analogy with the source components it is possible to define interesting directions for the scattering One will then try to focus the scattered neutrons choosing a g Q which peaks around these directions To do this one uses 8 7 where the fraction 7 Q g Q corrects for the focusing One must choose a proper distribution so that g Q gt 0 in every interesting direction If this is not the case the Monte Carlo simulation gives incorrect results All samples have been constructed with a focusing and a non focusing option 8 0 8 Future development of sample components There is still room for much more development of functionality in McStas samples Riso R 1538 EN 69 SS Figure 8 2 The geometry of the hollow cylinder vanadium sample A more general SANS sample is under development In addition a reflectometry sample will soon be developed In the mean time you may use the SiC contributed component In general all samples are assumed to be homogeneous There would also be potential in developing an inhomogeneo
165. the header with comments char filename file name or title double min x minimum value of 1st column vector double max x maximum value of 1st column vector Available functions to read a single vector matrix are Table Init amp T able rows columns returns an allocated Table structure Use rows columns 0 not to allocate memory Calls to Table Init are optional since initialization is being performed by other functions already Table Read amp T able filename block reads numerical block number block 0 to catenate all data from text file filename into Table which is as well initialized in the process The block number changes when the numerical data changes its size or a comment is encoutered lines starting by If the data could not be read then T able data is NULL and T able rows 0 You may then try to read it using Table Read Offset Binary Return value is the number of elements read Table Read Offset amp T able filename block offset Nrows does the same as Table Read except that it starts at offset offset 0 means begining of file and reads Nrows lines 0 for all The offset is returned as the final offset reached after reading the Nrows lines Table Read Offset Binary amp T able filename type block amp offset rows columns does the same as Table Read Offset but also specifies the type of the file may be float or double the number Nrows of rows to read eac
166. tion for every neutron event an array of tau_data is computed with one element for each reciprocal lattice point close to the Ewald sphere Except for the search for possible 7 vectors all computations are done in local coordinates using the matrix U to do the necessary transformations The list of reciprocal lattice points is specified in an ASCII data file Each line contains seven numbers separated by white space The first three numbers are the h k l indices of the reciprocal lattice point and the last number is the value of the structure factor F in barns The middle three numbers are not used and may be omitted they are 82 Riso R 1538 EN nevertheless recommanded since this makes the file format compatible with the output from the Crystallographica program 43 Any line beginning with any character of is considered to be a comment and lines which can not be read as vectors matrices are ignored Example data 1au files are given in directory MCSTAS data Powder files from ICSD LAZY 7 and Fullprof 44 may also be used see Table 1 2 page 12 but as the equivalent q vectors are superposed not all Bragg spots will be simulated and the intensity will be scaled by the multiplicity for each spot Riso R 1538 EN 83 8 4 Sans spheres A sample of hard spheres for small angle scattering Name Sans spheres Author System Lise Arleth Veterinary University of Denmark Input parameters R Tw Uh Zt Y Ta 0 Ap
167. trument descriptions The other parts are dynamic that is they are not pre loaded but only imported once when a component requests it using the Zinclude McStas keyword For instance within a component C code block usually SHARE or DECLARE include read table lib will include the read table lib h file and the read table lib c unless the no runtime option is used with mcstas Similarly include read table lib h will only include the read table lib h The library embedding is done only once for all components like the SHARE section For an example of implementation see Res monitor In this Appendix we present a short list of both each of the library contents and the run time features A 1 Run time calls and functions mcstas r Here we list a number of preprogrammed macros which may ease the task of writing component and instrument definitions A 1 1 Neutron propagation Propagation routines perform all necessary operations to transport neutron rays from one point to an other Except when using the special ALLOW_BACKPROP call prior to exectuting any PROP_ propagation the neutron rays which have negative propagation times are removed automatically e ABSORB This macro issues an order to the overall McStas simulator to interrupt the simulation of the current neutron history and to start a new one 120 Riso R 1538 EN PROP 20 Propagates the neutron to the z 0 plane by adjusting x y z and t according
168. ty 48 49 In perfect gases S q 1 for all q These quantities are obtained experimentaly from diffractometers In principle Sinc q 1 but a q dependence is rather usual partly due to the Debye Waller factor e d 7 Anyway S q converges to unity at high q The static pair correlation function g r is the probability to find a neighbouring atom at a given distance unitless Since g 0 0 Eq 8 49 provides a useful normalization sum rule for coherent S q n PISCO 1da 2x p 8 50 This means that the integrated oscilations around 1 of Scon q are directly related to the density of the material p In practice the function S q is often known on a restricted range q 0 qmaz due to either limitations in the sample molecular dynamics simulation or the measurement itself In first approximation we consider that Eq 8 50 can be applied in this range i e we neglect the large q contributions providing S q 1 converges faster than 1 q Then for any non normalized coherent data set S we may obtain the normalized S o S 4 with 49 at E SE 21 p Ve an q Sraw q dq This coherent normalization rule is only applied when parameter norm_sqw 1 which is recommanded for isotropic liquid like materials It is usually not suited for powders see below We may measure e g with time of flight instruments the density of states g w which is the fraction of modes whose energy lie between w and w dw 50
169. uous source with a flat energy wavelength spectrum Name Source simple Author System Input parameters Ts Zfoc W h Eo AE Y Optional parameters Ao dA Notes Validated t 0 This component is a simple source with an energy distribution which is uniform in the range Ey dE alternatively a wavelength distribution in the range Ao dA This component is not used for detailed time of flight simulations so we put t 0 for all neutron rays The initial neutron ray position is chosen randomly from within a circle of radius rs in the z 0 plane This geometry is a fair approximation of a cylindrical cold thermal source with the beam going out along the cylinder axis The initial neutron ray direction is focused onto a rectangular target of width w height h parallel to the zy plane placed at 0 0 Ztoc The initial weight of the created neutron ray po is set to the energy integrated flux V times the source area rr times a solid angle factor which is basically the solid angle of the focusing rectangle See also the section 3 0 1 on source flux This component replaces the obsolete components Source flux lambda Source flat Source flat lambda and Source flux 3 2 Source div A continuous source with specified diver gence Name Source div Author System Input parameters w h n dy Ey AE Optional parameters Ap AA gauss Notes Validated t 0 Source d
170. urpose unactivate to unactivate the Optimizer file name Filename where to save optimized source distributions The file option will save the source distributions at the end of the optimization If no name is given the component name will be used and a src extension will be added By default no file is generated The file format is in a McStas 2D record style As an alternative you may use the Source adapt component see section 3 7 which performs a 3D phase space optimization 3 10 Monitor Optimizer Optimization locations for the Source Optimizer Name Source Optimizer Author E Farhi ILL Input parameters optim comp Optional parameters jin Cmax Ymin Ymaz Notes partially validated The Monitor Optimizer component works with the Source Optimizer component See section 3 9 for usage The input parameters for Monitor Optimizer are the rectangular shaped open ing coordinates min maz Ymin Umaz and the name of the associated instance of Source Optimizer used in the instrument description file one word without quotes As many Monitor Optimizer instances as required may be used in an instrument for possibly more than one optimization location Multiple instances may all have an effect on the total intensity 34 Riso R 1538 EN 3 11 Other sources components contributed pulsed sources virtual sources event files There are many other source definitions in McStas Detailed pulsed
171. us sample e g with spatially varying lattice constant rele vant for stress strain scanners Inhomogeneously absorbing sample for tomography could also be possible Further no polarization effects are yet taken into account in any of the samples 8 1 V sample An incoherent scatterer the V sample Name V sample Author System Input parameters Ti To h Tfocs Ttarget Utarget target Optional parameters Wg hy tz Wfocus A Wfoc angle Hc alos Cabs Cinc Vo Fpack target index Notes validated A sample with incoherent scattering e g vanadium is frequently used for calibration purposes as this gives an isotropic elastically scattered beam The component V sample has only absorption and incoherent scattering For the sample geometry we default use a hollow cylinder which has the solid cylinder as a limiting case The sample dimensions are Inner radius ri outer radius ro and height h see figure 8 2 Alternatively the sample geometry can be made rectangular by specifying the width Wz the height hy and the thickness tz The incoherent and absorption cross sections for V are default for the component For other choices the parameters Cinc Cabs and the unit cell volume Vo should be specified For a loosely packed sample also the packing factor fpack can be specified default value of 1 70 Riso R 1538 EN 8 1 1 Physics and algorithm The incoherent scattering gives a uniform angular
172. ut will in general depend on sample size and shape The point of scattering inside the sample is chosen uniformly along the neutron flight path inside the sample and the scattered neutron ray is given a random energy and direction This energy is selected in the interval Ey AE Eo AE which hence must be chosen large enough to cover all interesting neutron energies Similarly the scattered direction is chosen in a user specified range either within a sphere of radius foc within a rectangular target with measures focus Yfocus Or in the specified angular range This target is positioned at the target Ytargets Ztarget point in space or using the target index for wich e g 1 is the further component 1 is the previous etc A special feature used when computing resolution functions is that the component stores complete information about the scattering event in the output parameter res_struct The information includes initial and final wave vectors the coordinates of the scattering point and the neutron weight after the scattering event From this information the scat tering parameters Q w can be recorded for every scattering event and used to compute the resolution function For an example of using the information in the output parameter see the description of the Res monitor component in section 10 5 116 Riso R 1538 EN 10 4 TOF Res sample A sample like component for TOF resolution calculation Name TOF_Res_sa
173. utrons for simulation efficiency optimiza tion Refer to these components for implementation examples and ask the authors for more details A 5 Vitess import export Library This library is used by the components Vitess input and Vitess output as well as the mcstas2vitess utility Refer to these components for implementation examples and ask the authors for more details Riso R 1538 EN 127 A 6 Constants for unit conversion etc The following predefined constants are useful for conversion between units Name Value Conversion from Conversion to DEG2RAD 21 360 Degrees Radians RAD2DEG 360 27 Radians Degrees MIN2RAD 2r 360 60 Minutes of arc Radians RAD2MIN 360 60 27 Radians Minutes of arc V2K 10 my h Velocity m s k vector K2V 10719 A mn k vector A71 Velocity m s VS2E mw 2e Velocity squared m s72 Neutron energy meV SE2V y 2e my Square root of neutron en Velocity m s ergy meV 2 FWHM2RMS 1 4 81og 2 Full width half maximum Root mean square standard deviation RMS2FWHM 8 log 2 Root mean square stan Full width half maxi dard deviation mum MNEUTRON 1 67492 107 kg Neutron mass My HBAR 1 05459 107 Js Planck constant h PI 3 14159265 T FLT MAX 3 40282347E 38F a big float value 128 Rise R 1538 EN Appendix B Random numbers in McStas B 1 Transformation of random numbers In order to perform the Monte Carlo choices one needs to be abl
174. y Trace and the next component may be placed directly at distance r W in 1 without rotation Results have been compared succesfully with analytical formula in the case of an ideal reflection and cross checked with the program haupt An other implementation of the Bender is available as the contributed component Guide curved 5 6 Curved guides Real curved guides are usually made of many straight elements about 1 m long separated with small gaps e g 1 mm Sections of about 10 m long are separated with bigger gaps for accessibility and pumping purposes We give here an example description of such a section Let us have a curved guide of total length L made of n elements with a curvature radius R Gaps of size d separate elements from each other The rotation angle of individual straight guide elements is a L d R x 180 7 in degrees In order to build an independent curved guide section we define Arm components at the begining and end of it COMPONENT CG In ArmO AT C COMPONENT CG_1 Guide gravity l L n AT 0 0 0 RELATIVE PREVIOUS COMPONENT CG_2 Guide gravity l L n AT 0 0 L n d RELATIVE PREVIOUS ROTATED 0 L n d R 180 PI 0 RELATIVE PREVIOUS COMPONENT CG_Out Arm AT 0 0 L n RELATIVE PREVIOUS The Guide component should be duplicated n times by copy paste but changing the instance name e g CG 1 CG 2 CG n An implementation of a continuous curved guide has been contributed as co
175. zer od ops a peo dog ok S Rouge ee aa 34 3 11 Other sources components contributed pulsed sources virtual sources event nr M M EXT CAKE RE 35 Beam optical components Arms slits collimators and filters 36 4 1 Arm The generic component res 36 4 2 Slit A beam defining diaphragm lll 36 4 3 Beamstop A neutron absorbing area 2222s 37 4 4 Filter_gen A general filter using a transmission table 38 4 5 Collimator_linear The simple Soller blade collimator 39 4 5 4 Collimator transmission 2 00000 eee 39 4 5 2 Algorithm i i eed x Ui EROR oec RE igs Ca SR X eR eA 40 4 6 Collimator_radial A radial Soller blade collimator 40 Reflecting optical components mirrors and guides 42 5 1 Mirror The single mirror 0 en 42 5 1 1 Mirror reflectivity 2 2 2 2 0 0 00 e e 42 52 Aloorithime 2 5 3c e o ors prx at de elas OR IRE RC REN 43 5 2 Guide The guide section a 44 5 2 1 Guide geometry and reflection 2 0 00004 44 5 2 2 Algorithms tur ahaa ak Aa eyes De Be A pao wR eee Hos 46 5 3 Guide channeled A guide section component with multiple channels 47 5 31 Algorithm sc euro a a e RU EE A a ee 47 532X Inown problems i uno aoe a a Bed ae i Aon ie it 47 5 4 Guide gravity A guide with multiple channels and gravitation handling 48 5 5 Bender a bender model non polarizing 48 5 0 Curved
Download Pdf Manuals
Related Search
Related Contents
それが高機能小型振動ローラ。 Ultra Products ULT31810 User's Manual Where Form Follows Function Where Form Follows Function Whe DVXI/ET-XM/-XS DVI- KVM-EXTENDER DVXI/ET Copyright © All rights reserved.
Failed to retrieve file