<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Hello McStas users,
<p>I here annouce 3 new / updated components for McStas. These are available
at
<p>< <A HREF="http://neutron.risoe.dk/mcstas/mcdoc/components/">http://neutron.risoe.dk/mcstas/mcdoc/components/</A> >
<p>and
<p>< <A HREF="http://www.ill.fr/tas/mcstas/components/">http://www.ill.fr/tas/mcstas/components/</A> >
<p>1-The <b>Source_Optimizer </b>(v 0.07)<b> </b>is a component that optimizes
the McStas neutron shots in order to reach a given place in the simulation.
These places (you should even be able to use more that one) are indicated
by the <b>Monitor_Optimizer</b> positions.
<br>The Source_Optimizer <b>only requires 1 parameter </b>(it acts on the
whole neutron beam) that is a string, and can be empty.
<br>This 'options' parameter is parsed, and can contain some user choices
concerning the optimization process, specified with flexible keywords.
<br>I personnally use : o<tt>ptions = ""</tt>, that is the default configuration.
This component is 'intelligent' and can adapt it's features to your simulation.
The optimization is made on neutron variables x y vx vy vz, considered
to be independent. The energy distribution is kept, as far as possible.
The flux is kept of course.
<br>The speedup on neutron counts reaching monitors  is at least of
20. I just obtained 50 in my last test !
<p>(near the source, at a distance of 1 mm in my tests)
<br><tt>COMPONENT optim_s = Source_Optimizer(</tt>
<br><tt>    options="")</tt>
<p>2- The <b>Monitor_Optimizer</b> (v 0.07) works with the Source_Optimizer.
It only requires x/y dimension (4 parameters)
<p>(near the optimisation point, usually sample or detector)
<br><tt>COMPONENT optim_m = Monitor_Optimizer(</tt>
<br><tt>    xmin = -0.05, xmax = 0.05,</tt>
<br><tt>    ymin = -0.05, ymax = 0.05)</tt>
<p>3- The <b>Monitor_nD</b> (v 0.13) is a general monitor that can act
as any of all previous monitors. It only requires dimension (4 params in
x/y size), and an 'options' string specifying what to monitor.
<br>This 'options' parameter is parsed, and can contain some user choices
concerning the monitor. A 0D monitor is default (just flux).
<br>There are 25 variables available for monitoring (wavevector, speed,
position, divergences, etc...), and you can decide to output these as 1D
or 2D (related variables) signals. A log (list) of neutron variables is
also possible ('list all neutrons' or 'list 1000 neutrons' options).
<br>A special 'auto limits' feature compute what are the necessary limits
for the monitor.
<br>The shape of the monitor can be plane square, disk, sphere and cylinder.
<br>I just recorded a kz_kx image of neutron beam at sample position with
<p>(this one is just after the Monitor_Optimizer up-there, near my sample
position, at a distance of 1 mm)
<br><tt>COMPONENT MSample = Monitor_nD(</tt>
<br><tt>     xmin = -0.05, xmax = 0.05,</tt>
<br><tt>     ymin = -0.05, ymax = 0.05,</tt>
<br><tt>     options = "kx kz, all bins = 50, auto
limits, file=MSample")</tt>
<p>I hope that these components will be usefull to you, and don't hesitate
to contact me in case of questions, bugs, etc...
<p>Cheers. EF.
<pre>-- 
Emmanuel FARHI, <A HREF="http://www.ill.fr/tas/people/Farhi.html">http://www.ill.fr/tas/people/Farhi.html</A>     \|/ ____ \|/
TAS-Group, Institut Laue-Langevin (ILL) Grenoble            ~@-/ oO \-@~
Avenue J. Horowitz, BP 156, 38042 Grenoble Cedex 9,France   /_( \__/ )_\
Work :Tel (33/0) 4 76 20 71 83. Fax (33/0) 4 76 48 39 06       \__U_/
La Grande Arche, Chateau d'Uriage, 38410 Saint Martin d'Uriage 04 76 59 73 94</pre>
 </html>