root/branches/mcstas-1.x/CHANGES

Revision 3088, 56.2 KB (checked in by pkwi, 12 months ago)

Fix of bugs related to change of type of ncount...

Line 
1/*******************************************************************************
2*
3* McStas, neutron ray-tracing package
4*         Copyright 1997-2010, All rights reserved
5*         Risoe National Laboratory, Roskilde, Denmark
6*         Institut Laue Langevin, Grenoble, France
7*
8* Documentation: CHANGES
9*
10* %Identification
11* Written by: KN, KL, PEO, EF, PW
12* Date: 1997
13* Origin: Risoe DTU, ILL, Uni Copenhagen, PSI
14* Release: McStas 1.12c
15* Version: $Revision: 1.49 $
16* Modified by: KN, October 26, 1998 : initial release 1.0
17* Modified by: KN, March 31, 1999   : release 1.1
18* Modified by: KN, January 31, 2000 : release 1.2
19* Modified by: KN, May 18, 2000     : release 1.3
20* Modified by: KN, July 28, 2000    : release 1.4
21* Modified by: KN, PEO, March 16, 2001: release 1.4.1
22* Modified by: PEO, EF, October, 10th, 2001: release 1.5
23* Modified by: PW, EF, May 19th 2003: version 1.7
24* Modified by: PW, EF, March 4th 2004: version 1.8
25* Modified by: PW, EF, November 16th 2005: version 1.9
26* Modified by: PW, EF, March 29th 2006: version 1.9.1
27* Modified by: PW, EF, December 4th 2006: version 1.10
28* Modified by: PW, EF, July 3rd 2007: version 1.11
29* Modified by: PW, EF, EK May 8th 2008: version 1.12
30* Modified by: PW, EF, EK April 2nd 2009: version 1.12a
31* Modified by: PW, EF, EK June/July 2010: version 1.12b
32* Modified by: PW May-June 2011: version 1.12c (re-release)
33*
34* This file is part of McStas  version 1.12c, released June 3rd, 2011.
35* It gives a 'changes' list from the beginning of the project
36*
37*******************************************************************************/
38Changes in McStas v1.12c, June 3rd, 2011
39
40 McStas 1.12c is bugfix release.
41
42 Bugfixes include:
43
44  Runtime
45  - Fix of a bug in the rectangular focusing routine, reported to mcstas-users by Markos Skoulatos, HZB
46    (see http://mailman.mcstas.org/pipermail/mcstas-users/2010q4/000845.html)
47  - Introduction of --ncount as unsigned long long int in place of double. Using double could potentially lead
48    simulations to "hang". A re-release of McStas 1.12c was done due to bugs in components related to the new
49    type returned from mcget_ncount.
50
51  Tools
52  - If gnuplot is available at installation time, mcplot and mcgui can use this in place of PGPLOT.
53    To use gnuplot, either
54    - edit your mcstas_config.perl and put      PLOTTER => 'Gnuplot',
55    - set the enviroment variable MCSTAS_FORMAT to Gnuplot
56
57  Components
58  - Lens.comp, typo in author name corrected
59  - Guide_four_side.comp (and other similar), by Tobias Panzner updated
60  - Single_crystal.comp, corrected initialization when providing lattice consts and angles
61  - Source_simple.comp, corrected centering-bug when using gaussian wavelength distribution
62  - Monochromator_pol.comp, now works properly in GROUPS/multi-slab configurations
63  - Pol_simpleBfield.comp, potential polarisation exit-state bug corrected
64  - FermiChopper.comp, fixed error when computing automatic phase
65  - Monitor_nD.comp, fixed geometry bugs reported by Lambert van Eijck
66 
67 
68  Example instruments
69  - ESS_IN5_reprate.instr, parameter naming change in ESS_moderator_long component was not accomodated.
70  - templateTAS.instr, fixes relating to inclusion in other instrument files
71 
72
73
74Changes in McStas v1.12b, July 15th, 2010
75
76 McStas 1.12b is mostly a bugfix release, and the VERY last release in the 1.x series.
77 - A few extra features and contributions have been included.
78
79 McStas 2.0 will be released late 2010 and will introduce new features that
80 could break ceartain backward compatibility, hence we move from the 1.x series.
81
82 Bugfixes include:
83
84  Runtime
85  - Further adjustments to the MPI implementation, solves problems of hanging processes on large cluster runs.
86  - Threading support completely removed.
87
88  Components
89  - New contributions
90    - Multilayer_Sample.comp (Robert Dalgliesh, ISIS)
91      Multilayer Reflecting sample using matrix Formula. Requires GSL (GNU Scientific Library)
92    - Lens.comp (C. Monzat/E. Farhi/S. Desert/G.Euzin, ILL/LLB)
93      Refractive lens with absorption, incoherent scattering and surface imperfection.
94    - Lens_simple.comp (Henrich Frielinghaus, FZ Juelich)
95      Rectangular/circular slit with parabolic/spherical LENS
96    - Guide_four_side.comp (Tobias Panzner, PSI)
97      Models a guide with elliptic, parabolic or straight shaped side walls.
98    - Guide_four_side_2_shells.comp (Tobias Panzner, PSI)
99      Models a guide with elliptic, parabolic or straight shaped side walls.
100      As -"- with 2 outer mirror layer shells.
101    - Guide_four_side_10_shells.comp (Tobias Panzner, PSI)
102      Models a guide with elliptic, parabolic or straight shaped side walls.
103      As -"- with 10 outer mirror layer shells.
104    - Pol_FieldBox (Peter Willendrup)
105      Easier to use precession area. Corresponds to a set of Pol_simpleBfield's plus slits.
106    - Sapphire_Filter (Jonas O Birk, Uni CPH). Filter component, defaulting to saphire material properties
107
108  - New component features
109    - Addition of high-energy tail to Source_gen.comp (edits by Uwe Filges, PSI) 
110    - Single_crystal.comp extended for anisotropic mosaicity (EXPERIMENTAL), (edits by Erik Knudsen, Risoe DTU)
111
112  - Various minor bugfixes to
113    - Guide_curved.comp
114    - DiskChopper.comp
115    - SNS_source.comp
116    - ESS_moderator_long.comp
117   
118  Example instruments
119  - New examples
120    - ISIS_CRISP.instr, CRISP reflectometer from ISIS, test instrument for Multilayer_Sample.comp above
121    - Test_Lens.instr, test instrument for Lens.comp above
122    - FZJ_KWS2_Lens.instr, KWS2 SANS from FZJ, test instrument for Lens_simple.comp above
123    - templateTOF.instr (Was ILL_TOF_Env before)
124    - templateLaue.instr (Derived from the old tutorial Laue instrument)
125    - SE_example.instr and SE_example2.instr, simplistic Spin-Echo machines for illustrating use of Pol options
126    - template.instr ("Void" instrument skeleton - like Insert->Instrument Template)
127    - Test_shellguides.instr, test instrument for contributions from Tobias Panzner and Jonas O Birk.
128
129  - Minor improvements to
130    - templateDIFF.instr (SPLIT improves statistics)
131    - templateTAS.instr (SPLIT improves statistics)
132    - SNS_test.instr (Cleanup)
133   
134  Datafiles
135  - Added SNS moderator input file source_sct091_tu_02_1.dat
136  - Added ISIS moderator input file h.crisp
137
138  Licensing
139  - We have decided to distribute the components and the other runtime code under the LGPL license (see the LGPL
140    file under lib/ . This allows to link (unmodified) code from that directory with other software and achieve
141    non-GPL binaries.
142 
143  Platform support/Tools
144  - Mac OS X 10.3 Panther, 10.4 Tiger, 10.5 Leopard, 10.6 Snow Leopard (PPC/Intel, 32/64bit) 
145    - Fix for problems with multiple perl installs, currently locked to perl 5.8.
146    - Instructions for using Matlab visualisation in the .dmg README file
147  - Windows XP 32/64bit, Windows Vista 32/64bit, Windows 7 32/64bit
148    - Note that we provide only a 32 bit package, but shown to work on 64 bit
149    - Fixed mcrun / mcgui for Windows for missing transfer of mpi parameters
150    - Fixed mcplot for Windows, foreground color is now black, not cyan
151  - Linux: Ubuntu is now our only "reference" Linux (Debian does not provide perl-pgplot)
152    - Ubuntu .deb's for 32 and 64bit, work for both for 9.10 Karmic Koala and 10.04 Lucid Lynx
153    - The .deb's require PGPLOT and perl-pgplot from Ubuntu Universe/Multiverse repositories
154
155  Parallelisation
156  - Improved stability of MPI simulations
157 
158  Various
159  - A number of unlisted minor bugs ironed out, both in components, runtime code and tools.
160
161
162 McStas 1.12a is essentially a bugfix release, and the last release in the 1.x series.
163
164 McStas 2.0 will be released late 2009 / early 2010 and will introduce new features that
165 could break ceartain backward compatibility, hence we move from the 1.x series.
166
167 Bugfixes include:
168
169  Runtime
170  - Adjustments to the MPI implementation, solves problems of hanging processes on large cluster runs.
171
172  Components
173  - Various minor bugfixes to
174    - Isotropic_sqw.comp
175    - Vitess_input.comp
176    - Pol_bender.comp
177    - Pol_monitor.comp
178    - PolLambda_monitor.comp
179    - SNS_source.comp
180    - ISIS_moderator.comp
181    - FermiChopper_ILL.comp
182    - Progress_bar.comp
183    - TOFRes_sample.comp
184    - Virtual_tripoli4_output.comp
185    - Guide_honeycomb.comp
186   
187  Example instruments
188  - Minor improvements to
189    - PSI_DMC.instr (source-guide focusing corrected)
190    - templateDIFF.instr (SPLIT improves statistics)
191    - templateTAS.instr (SPLIT improves statistics)
192    - SNS_test.instr (Cleanup)
193
194  Datafiles
195  - Added SNS moderator input file source_sct091_tu_02_1.dat
196
197  Tools
198  - Fixed mcrun / mcgui for Win32 for 'fixed --ncount at 1e6' when scanning/optimizing
199 
200  Platform support
201  - Mac OS X, fix for problems with multiple perl install
202  - Windows XP,  Windows Vista - see Tools section
203  - Linux, pgplot and pgperl now builds using gfortran (replacing g77)
204 
205  Parallelisation
206  - Improved stability of MPI simulations
207  - Preference for OpenMPI (standard on Ubuntu and Mac OS X)
208
209  Various
210  - A number of unlisted minor bugs ironed out, both in components, runtime code and tools.
211
212
213Changes in McStas v1.12, May 8th, 2008
214
215  Metalanguage
216  - New %include "instr" mechanism to include one instrument in another. (Useful for independent
217     build-up of e.g. primary and secondary spectrometer. Or easily see the effect of moving an instrument
218     to a different beamport or facility!) See the manual for details.
219  - When applying the WHEN keyword, an applied EXTEND %{ %} block will only be active if the WHEN
220     returns 'true'.
221  - Please take care when combining WHEN, GROUP and EXTEND %{ %} - see the manual.
222
223  Runtime
224  - Fix of a limiting case focusing problem reported to mcstas-users by George Apostolopoulos.
225     ( See http://mailman.risoe.dk/pipermail/neutron-mc/2007q4/002915.html )
226
227  Components
228  - When using the Virtual_input type components, --ncount is always set to an integer multiplum
229     (repeat_count) of the number of events in the file. See also related remark about MPI below.
230  - New component: MirrorElli.comp, elliptical mirror. Contributed by Sylvain Desert, LLB
231  - New component: MirrorPara.comp, parabolic mirror. Contributed by Sylvain Desert, LLB
232  - Single_crystal validation still ongoing, but has progressed: The algorithm seems OK, but is to some
233     extent not in sync with the documentation. New option to specify reciprocal space vectors directly.
234     (before only real space definitions were possible)
235  - Most monitors now allow to 'not propagate' the neutron, i.e. not influence the beam. Parameter name
236     is 'restore_neutron'.
237   
238  Example instruments
239  - ILL_H25_IN22_sample/_resolution.instr (CRG instrument @ ILL) by E. Farhi / P. Willendrup
240  - Incoherent_Test.instr - instrument to compare incoherent scattering from the different sample comps
241     (V_samle, PowderN, Single_crystal, Isotropic_sqw). More instruments of this type planned (compare
242     guides etc.), P. Willendrup / E. Knudsen / A. Daoud-Aladine
243  - FocalisationMirrors.instr - test instrument for MirrorElli and MirrorPara, Sylvain Desert, LLB
244  - PSI_DMC.instr, Powder Diffractometer, PSI, L. Keller / U. Filges / P. Willendrup
245
246  Datafiles
247  - 'Bugfix', some of the provided .laz files did not have proper unit for |F2|.
248 
249  Tools
250  - Support for per-user mcstas_config.perl file, located in $HOME/.mcstas/ . This folder is also the default
251     location of the 'host list' for use with MPI or gridding, simply name the file 'hosts'.
252  - mcgui Save Configuration for saving chosen settings on the 'Configuration options' and 'Run dialogue'.
253  - Possibilty to run MPI or grid simulations by default from mcgui.
254  - When scanning parameters, mcrun now terminates with a relevant error message if one or more scan steps
255     failed (intensities explicitly set to 0 in those cases).
256  - When running parameter optimisations, a logfile (default name is "mcoptim_XXXX.dat" where XXXX is a
257     pseudo-random string) is created during the optimisation, updated at each optim step.
258  - We now provide syntax-highlighting setup files for vim and gedit editors.
259
260  Output formats
261  - Rudimentary support for GNUPLOT when plotting with mcplot. Data file format is standard McStas/PGPLOT.
262 
263  Platform support
264  - Mac OS X 10.3 Panther (ppc), 10.4 Tiger (pcc/intel), 10.5 Leopard (ppc/intel)
265  - Windows XP,  Windows Vista (Now with a recent perl version; 5.10 plus various fixes). New feature on Windows:
266     Simulations _always_ run in the background, freeing mcgui for other work.
267  - "Any" Linux - reference platforms are Ubuntu 8.04 (and earlier) and Debian 4.0 (and earlier). We have also tested
268     Fedora 8, OpenSuSE 10.3 and CentOS 4 releases recently.
269  - FreeBSD (FreeBSD release 6.3 and its cousin DesktopBSD 1.6 recently tested)
270  - SUN Solaris 10 (Intel tested, Sparc probably OK)
271  - Plus probably any UNIX/POSIX type environment with a bit of effort...
272 
273  Parallelisation
274  - Improved stability of MPI simulations by addition of an 'MPI barrier' (reduces probability of nodes beeing 'out of sync'.
275  - On Windows, an 'mpicc.bat' script has been added for easier setup of McStas with gcc and MPI (We recommend MPICH).
276  - Mac OS X 10.5 Leopard is shipped with built-in support for MPI (OpenMPI). No need to install extra packages.
277  - Use of 'virtual sources' is now supported on MPI clusters. (If running on N nodes, all neutron events will be processed
278     on each of the N nodes - implicit repetition N times of the source contents.)
279  - OpenMP threading support
280  - Much improved gridding support (via ssh). Ready for heterogenous systems, e.g. mixed operating systems and hardware
281     types! (Requires -c compile flag for mcrun or equivalent setting in mcgui.) The only requirement is ssh client on the machine
282     where the grid run is started, plus ssh daemon and c-compiler (e.g. gcc or simply cc) on the remote machines. Files in the
283     current dir are transparently copied back and forth, causes a substantial network traffic in some cases. Output data from the
284     nodes are automatically merged using mcformat. Just as efficient as MPI without any library dependencies at all. Make use
285     of all processer cores in your machine, simply choose to 'grid'. Windows 'client' host OK, we autodetect ssh and scp binaries
286     from the Putty package.
287
288  Various
289  - A number of minor bugs ironed out, both in components, runtime code and tools.
290  - From release 1.12, McStas is GPL 2 only. The debate on the internet about the future GPL 3 license suggests that this license
291     might have implications on the 'derived work', hence have implications on what and how our users use their McStas simulations
292     for. To protect user freedom, we will stick with GPL 2.     
293
294  WARNING: The 'dash' shell which is used as /bin/sh on some Linux system (Including Ubuntu 8.04) makes the 'Cancel' and 'Update'
295  buttons fail in mcgui. Solutions:
296  a) If your system is a Debian or Ubuntu, please dpkg-reconfigure dash and say 'no' to install dash as /bin/sh
297  b) If you run another Linux with /bin/sh beeing dash, please install bash and manually change the /bin/sh link to point at bash.
298
299Changes in McStas v1.11, July 3rd, 2007
300
301  Metalanguage
302  - New SPLIT keyword for improving statistics. WARNING: Follow instructions in the documentation for safe
303    use of the SPLIT keyword.
304
305  Components
306  - Source_adapt.comp, additions by Aaron Percival which allows to specify a flat wavlength distibution.
307  - Single_crystal.comp, warning NOT to use this component as a monochromator (bug fix/validation under way).
308  - PowderN.comp, can now be used in concentric mode, i.e. for modelling sample surroundings (cryostat, container..).
309  - Tunneling_sample.comp (new) Double-cylinder shaped all-incoherent scatterer with elastic, quasielastic (Lorentzian)
310    and tunneling (sharp) components. No multiple scattering. Absorbtion included. By Kim Lefmann
311  - TOF2E_monitor.comp (new) TOF-sensitive monitor, converting to energy. By Kim Lefmann
312
313  Example instruments
314  - New ILL_H15_IN6 and ILL_H142_IN12 instruments by Emmanuel Farhi are included.
315  - Histogrammer.instr - see the 'Tools' section
316  - New ESS_IN5_reprate.instr Instrument for simulating IN5-TYPE (cold chopper) multi-frame spectrometer at ESS LPT.
317    (Also example instrument for Tunneling_sample.comp.) By  Kim Lefmann
318
319  Datafiles
320  - Reflectivity curves from Swiss Neutronics (more work done, available in the next McStas release).
321  - More Sqw tables for use with the Isotropic_Sqw component.
322
323  Tools
324  - PGPLOT output format (original McStas format) is now possible on Windows. A pgplot/pgperl installation
325    is included in a standard McStas Win32 installation.
326  - New mcdaemon for visualisation of intermediate simulation results (obtained by sending USR2 signal to a
327    running simulation or by using the Progress_bar component with flag_save=1).
328  - Improvements to mcgui:
329    * New tool menu with hooks to mcformat, mcdaemon and mcplot
330    * Possibility for auto-setup of MPI ssh keys
331    * Possibility to run the McStas editor in 'detached' mode, hence available whilst a simulation is running
332  - Histogrammer.instr: Special histogramming instrument for visualisation of virtual source files (Virtual_input,
333    VitESS, MCNP and Tripoli formats)
334
335  Output formats
336  - NeXus output format possible. To use this feature, HDF and NeXus libraries must be available
337    and functional on your system before installing McStas from source. (In case of a binary package,
338    you MUST recompile the McStas software.) To enable a McStas build with NeXus, run
339    ./configure --with-nexus.
340
341  Platform support
342  - Mac OS X is now considered a supported platform. For now, no actuall installer program
343    is given, but all needed software has been packed together with easy to follow instructions.
344    Test of the instructions have been performed on Mac OS X 10.4 Tiger on both Intel and PPC
345    hardware.
346  - McStas now comes in a Debian binary package (.deb), tested to work on Debian and Ubuntu systems. The debian
347    package provides McStas, pgplot and pgperl and have dependencies for the perl, perl-tk, gcc, libg2c0, pdl and libc6-dev
348    packages.
349
350  Parallelisation
351  - The threading mechanism for parallelisation has been removed from McStas since it caused too many problems. For
352    parallelisation on single machines (e.g. modern dual-core processors) or clusters, MPI (MPICH) is the recommended solution.
353    The McStas team members routinely run developer machines and clusters using MPI.
354
355  Intel C compiler
356  - The documentation now includes instructions to run McStas with the Intel C compiler (available on Windows,
357    Linux x86 and Mac OS x86 systems). Typically, a performance gain of 2 is found relative to gcc -O2. Relevant
358    compiler flags are:
359
360    MCSTAS_CFLAGS="-g -O2 -wd177,266,1011,181"
361    export MCSTAS_CC="icc"
362
363  - To run McStas with MPI and the Intel C compiler, you may have to edit your mpicc shell script to set:
364   
365    CC="icc"
366
367  Various
368  - A standard McStas source package now works directly within the DANSE framework.
369
370  WARNING: The 'dash' shell which is used as /bin/sh on some Linux system (Including Ubuntu 7.04) makes the 'Cancel' and 'Update'
371  buttons fail in mcgui. Solutions:
372  a) If your system is a Debian or Ubuntu, please install our Debian package which requests automatic removal of 'dash'.
373  b) If your /bin/sh is dash, please install bash and manually change the /bin/sh link to point at bash.
374
375Changes in McStas v1.10, Dec 4, 2006
376
377  General
378  - This release is a major step forward for McStas in terms of support for polarisation.
379    Peter Christiansen who worked at Risoe March-October 2006 was the main workforce
380    behind this new functionality, backed by funding from ISIS, work by Rob Dalgliesh at
381    ISIS and inspiration from the VitESS and NISP packages. As this is the first release
382    with polarisation support, the methods and algorithms implemented will certainly be
383    developed further. Hence, documentation of the functionality has been placed in an
384    appendix to the manual.
385    Polarisation users: Please give us feedback for further development!
386    Items marked by (p) below relate to the new polarisation support.
387  - New keywords for the meta language improves support for e.g. description of sample
388    enviroments.
389  - A method for automatic optimisation has been implemented, e.g. for achieving maximum flux
390    at the sample position (any quantity measured by a McStas monitor can be optimised) as a
391    function of simulation parameters.
392  - Bugfixes in many different areas.
393
394  Documentation
395  - Manual and component manual slightly updated according to adding/modification of components
396    and functionality. New appendix on the polarisation features. (p)
397
398  Kernel
399  - New WHEN keyword, conditional use of components,
400        COMPONENT MyComp=Component(...) WHEN (condition) AT
401  - New JUMP keyword, possibility to iterate a given component a number of times (multiple
402    scattering) or for 'teleportation' to a given component. (USE WITH CAUTION)
403  - Improved COPY keyword with parameter substitution (Make a copy of an other component
404    instance with a few parameters changed)
405  - Spin propagation algorithm (When magnetic field is set 'on', the central propagation
406    routines also handle Larmor precession in the field) (p)
407  - Handeling of analytical B-fields (p)
408
409  Tools
410  - New 'merge/convert' tool mcformat: Convert between McStas output formats and merge cluster
411    node datasets into one dataset.
412  - TOF mode for mcdisplay (Statistical chopper acceptance diagrams generated from the simulated
413    neutron rays. Currently only supported on Unix systems with PGPLOT.)
414  - Optmisation support in mcrun/mcgui using Perl::Amoeba (se description above)
415  - POSIX threading on multi-core processors (BEWARE, performance is generally better using MPI)
416  - mcgui: Note that if you experience crashes when starting/running GNOME/Gtk2 applications,
417    update your perl-Tk installation. Two ways to do this:
418    1) Get the tarball from http://www.mcstas.org/download/Tk-804.027_gtk2_patch.tar.gz and
419       install using 'perl Makefile.PL && make && make install'.
420    2) Do a 'make tk' in the McStas unpacked McStas source directory. This will download and
421       install the tarball into your McStas system directory.
422
423  Components
424  - Monochromator_pol.comp - Polarising monochromator/analyzer (p)
425  - Pol_bender.comp - Polarising bender (p)
426  - Pol_mirror.comp - Polarising mirror (p)
427  - Pol_guide_vmirror.comp - Guide with semi-transparent, polarising mirror (p)
428  - Pol_simpleBfield.comp - Numerical precession in analytical B-fields (p)
429  - 3 Polarisation monitors - MeanPolLambda_monitor.comp, PolLambda_monitor.comp
430    Pol_monitor.comp (p)
431  - PSD_Detector.comp - Physical detector - comes with many gas lookup tables
432    (Contrib: Thorwald van Vuure, ILL)
433  - Virtual_mcnp_*.comp - MCNP event file handeling
434    (Contrib: Chama Hennane, ENSIMAG and Emmanuel Farhi, ILL)
435  - Source_multi_surfaces.comp - Source comp with multiple surface areas with individual
436    spectrums
437    (Contrib: Ludovic Giller, EPFL and Uwe Filges, PSI)
438  - multi_pipe.comp - Defines a 'grid' of slits (focusing device)
439    (Contrib: Uwe Filges, PSI)
440  - Exact_radial_coll.comp - Radial collimator comp, exact model
441    (Contrib: Roland Schedler, HMI)
442  - FermiChopper_ILL.comp  - Fermi Chopper comp with optional supermirror coated blades.
443    (Contrib: Helmut Schober, ILL)
444  - V_sample enriched with quasi-elastic features (Kim Lefmann)
445         
446  Example Instruments
447  - TAS frontend with reciprocal space (hkl) calculator (Emmanuel Farhi)
448  - Example instruments for polarisation comps (p)
449  - QUENS_test.instr (Test of new quasi-elastic features V_sample)
450 
451  Installation
452  - Much easier installation on Windows, single executable file with all support applications
453    is now available. Simply click 'next' alle the way and you are done.
454  - PGPLOT and Scilab installation help tools on Linux systems
455
456  WARNINGS (Almost identical to those from release 1.9.1)
457  - Because of rapid changes in the support software for McStas, the current release has support
458    for only some releases of:
459
460    * Scilab (Win32 and Unix) - pick release 4.0 if available or pick release 3.0 from , e.g. from
461      http://www.scilab.org/download/index_download.php?page=oldReleases.html
462      (Automatically included in the Win32 .exe installer and Linux Scilab installer)
463
464    * Perl (Win32) - on Windows we only support Perl 5.6 - pick
465      http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi
466      (Automatically included in the Win32 .exe installer)
467
468    * If you are running Unix with GNOME/Gtk2 applications, you may experience problems with mcgui
469      crashing, please install updated perl-Tk from http://www.mcstas.org/download
470
471Changes in McStas v1.9.1, Mar 29, 2006
472
473  General
474  - Update release, mainly bugfixes plus a few other things
475
476  Documentation
477  - Component manual slightly updated according to adding/modification of components.
478
479  Tools
480  - mcgui: A few bugfixes. Note also that if you experience crashes when starting/running
481    GNOME/Gtk2 applications, update your perl-Tk installation. Two ways to do this:
482    1) Get the tarball from http://www.mcstas.org/download/Tk-804.027_gtk2_patch.tar.gz and
483       install using 'perl Makefile.PL && make && make install'.
484    2) Do a 'make tk' in the McStas unpacked McStas source directory. This will download and
485       install the tarball into your McStas system directory.
486
487  Components
488  - DiskChopper.comp - new disc chopper component. Chopper.comp made obsolete.
489    See mcdoc page / component manual for further details.
490  - Guide.comp - reads reflectivity tables from disk.
491  - Isotropic_Sqw - minor bugfixes, validated against PowerN, V_sample, etc.
492  - PowderN - validated against Isotropix_Sqw, Squires, experimental data.
493
494  WARNINGS
495  - Because of rapid changes in the support software for McStas, the current release has support
496    for only some releases of:
497
498    * Scilab (Win32 and Unix) - pick release 4.0 if available or pick release 3.0 from , e.g. from
499      http://www.scilab.org/download/index_download.php?page=oldReleases.html
500
501    * Perl (Win32) - on Windows we only support Perl 5.6 - pick
502      http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi
503
504    * If you are running Unix with GNOME/Gtk2 applications, you may experience problems with mcgui
505      crashing, please install updated perl-Tk as noted above.
506
507Changes in McStas v1.9, Nov 16, 2005
508
509  General
510  - To indicate the collaborative nature of the McStas package, the main website
511    URL does no longer belong to Risoe or ILL but is http://www.mcstas.org.
512  - The package has been strengthened by the presence of Klaus Lieutenant (former
513    captain of Vitess, HMI) at ILL. He has focused a lot on validation and testing
514    of the package, giving very important input and done very valuable work.
515  - To help us in the fight against bugs, a BUGZILLA system has been set up for users
516    to report their suggestions and problems. The system is available at the URL
517    http://www.mcstas.org/McZilla .
518  - The VnCS (Virtual neutron Code Sharing) agreement has been signed by the leaders
519    of the Vitess and McStas software packages to formally support closer collaboration
520    and sharing of code between the packages. At least one component (Vitess_ChopperFermi)
521    now works with both packages, work done by Klaus Lieutenant and Geza Zsigmond.
522  - Many big and small BUGS ellimnated!
523  - First attempt at "concentric components" (sample environment). See Isotropic_Sqw in
524    the 'Components' section below.
525
526  Documentation
527  - With this release, the component manual has finally been updated! Major work has
528    been put into this by especially Kim Lefmann and Emmanuel Farhi. The user manual
529    has also been revised, but not as intensively.
530  - Improvements to tutorial/teaching material as result of Copenhagen University course on
531    neutron scattering, given by Kim Lefmann and Peter Willendrup. The idea is that when
532    improved further, the full simulation part of the course can serve as an extended
533    tutorial for McStas. In the package, projects on virtual experiments at DMC, RITA-2 and
534    SANS-2 at PSI is included.
535
536  Tools
537  - A web frontend is now available for McStas, check it out at http://www.mcstas.org/webfront .
538    Currently it is not actually part of the package, may become so in a near future release.
539  - On Unix systems, mcdaemon is a tool to periodically send -USR2 signals (save) to running
540    simulation processes. Is in an early state but should work okay, but not documented in the
541    user manual. Replots intermediate data.
542  - mcgui has been intensively revised, many annoyances have been removed and features adjusted
543    for easier use.
544
545  Components
546  - For simplicity, a number of components (especially monitors and sources) have been merged.
547    This for example means that the Source_simple replaces the former Source_flat* components.
548    Fewer duplications of code => smaller risk of old bugs surviving in the code.
549  - PowderN: General powder sample component, replaces the simpler Powder1 and Powder2 components,
550    has a very flexible system to read crystallographic data for powder line description. Is
551    in the process of beeing validated against data from DMC@PSI. The code itself and the
552    validation of it is the result of collaboration between mainly Peter Willendrup from the
553    McStas team and Laurent Chapon (ISIS), Uwe Filges (PSI) and Lukas Keller (PSI). A validation
554    paper will be presented at ICNS, Sydney.
555  - Isotropic_Sqw: Originally work for the Ph.D. thesis of V. Hugouvieux, ILL. Extended and
556    validated intensively by Emmanuel Farhi, ILL. It handles elastic and inelastic scattering
557    for both coherent and incoherent processes, with secondary absorption and multiple scattering.
558    The code has been validated against PowderN and V_sample. It comes with the same flexible
559    system as PowderN to read data files, including crystallographic data for powder line
560    description. Moreover, it may be used to describe concentric geometries in order to model
561    sample environments.
562  - Vitess_ChopperFermi: Originally work for Vitess by Geza Zsigmond, now PSI. Validated and
563    adapted for use with McStas by Klaus Lieutentant, ILL in the frame of the VnCS agreement.
564  - TOFRes_sample: time-of-flight version of the Res_sample component. Written by Kim Lefmann,
565    Risoe. Will be merged with the res_sample component in next release.
566  - The full suite of Fermi Choppers have been tested intensively by Klaus Lieutentant, partly
567    inspired by the work of ILL stagiere Rebecca Peacock.
568
569  WARNINGS
570  - Because of rapid changes in the support software for McStas, the current release has support
571    for only some releases of:
572
573    * Scilab (Win32 and Unix) - pick release 3.0 from , e.g. from
574      http://www.scilab.org/download/index_download.php?page=oldReleases.html
575
576    * Perl (Win32) - on Windows we only support Perl 5.6 - pick
577      http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi
578
579
580Changes in McStas v1.8, Mar 4, 2004
581
582  License
583  - McStas is now GPL software. Note that generated code, output data and papers
584    based on these is not considered "derived work" but merely normal usage of the
585    software package.
586  - The McStas software package now includes a re-distribution of the plotlib
587    package for Scilab, (http://www.dma.utc.fr/~mottelet/myplot.html), courtesy of
588    Stephane Mottelet (stephane.mottelet@dma.utc.fr). Plotlib is beeing distributed
589    using a BSD like license. Plotlib needs not be precompiled anymore.
590  - McStas now uses the Perl CPAN module Proc::Simple on unix platforms. Proc::Simple
591    is distributed using the Perl artistic license.
592
593  General
594  - Nightly CVS builds of McStas are now available to the public from
595    http://mcstas.risoe.dk/cvs (optionally use the mcsync script to get these)
596    NOTE: The CVS builds are not considered 100% stable, you can count on errors
597    in there, but you also get the newest stuff.
598
599  Installation
600  - Improved installation and build scripts. NOTE: The new version is INCOMPATIBLE
601    with Win32 releases older than Windows 2000
602  - Automatic detection of plotting backend, (make config)
603  - Test procedure (make test)
604
605  Kernel (i.e. the 'mcstas' program)
606  - a PREVIOUS keyword has been implemented, for referencing e.g. position placement
607    to upsteam components.
608  - improvements to runtime randvec_target_rect functions
609  - Updated Mersenne Twister random number generator
610
611  Tools
612  - Various bugfixes, especially on the Win32 platform and RedHat 9 specific stuff
613  - mcgui now includes an option to 'scan' instrument parameters (previously only
614    possible using mcrun.pl.
615  - mcconvert.pl script has been added to the distribution, converts between
616    Matlab and Scilab type output. Cyclic conversion, e.g. Matlab->Scilab->Matlab
617    is not supported.
618  - mcplot opens scan steps with Matlab/Scilab backends
619  - mcrun now has support for Matlab/Scilab backends, built in test procedure
620    (mcrun --test), poor man's grid computing - see the manual for information on
621    how to use this.
622  - mcdoc support for instrument headers, support for the built in tutorial
623  - Improved tutorial built into the gui tools
624  - editor, various improvements (line numbers etc.)
625
626  Instruments
627  - mcgui now has a special Neutron Site menu (auto generated) to allow distribution
628    of instruments
629  - instruments can now have default input values
630  - several contributed / new instruments, have a look in your examples/ folder
631
632  Components
633  - New components:
634    $ Official components
635      - Sans_spheres, a sample for small angle neutron scattering
636      - Powder2, a two ring powder sample
637      - Phonon_simple, a phonon scattering sample
638      - Guide_gravity improved
639    $ Contributed components
640      - Guide_tapering, guide with elliptical/parabolic/general tapering
641        (Uwe Filges)
642      - ISIS_moderator, (Stuart Ansell and Dickon Champion)
643      - Guide_curved (Ross Stewart)
644
645Changes in McStas v1.7, Jan 17, 2003
646
647  Kernel (i.e. the 'mcstas' program)
648  - components may have a SHARE section, which is imported only once per type
649    of component. It has the same role as DECLARE, but only once.
650  - the component files may have some %include inside '%{ }%' C DECLARE or SHARE
651    blocks. The files to include are searched locally, and then in the library.
652    If an extension is found, just the specified file is included, else both
653    .h and .c are embedded if the --no-runtime has not been specified.
654    The instrument files can also embed external files, both in C blocks
655    and in the instrument parts (DECLARE, etc...) as in previous releases.
656  - The instrument and components may have char* setting parameters. For
657    instruments, their length is limited to 1024 chars.
658  - The FINALLY section, that was executed at the end, has been split into
659    still the FINALLY, and a new SAVE section. This latter is executed
660    at simulation end (just before the FINALLY), but also each time an
661    intermediate save is required (e.g. a 'kill -USR2 <pid>' is used).
662  - An instrument source file may contain EXTEND %{ }% C blocks just after
663    the usual AT...ROTATED.. keywords, to extend the behaviour of existing
664    components, without touching their code. All local component variables are
665    available. This may for instance be used to add a new 'color' to neutrons,
666    i.e. assign a new characteristic variable to the neutron.
667  - component instances in an instrument source file may be GROUPed into
668    exclusive assembly, i.e. only one component of the group will intercept
669    neutron, the rest will be skipped. This is usefull for multi monochromators
670    multi detectors, multiple collimators, ... This is a kind if splitting.
671  - McStas can now compile for Windows without troubles (if lex/yacc files
672    were generated elsewere, or using the flex/yacc for Windows)
673
674  Run-time library (e.g. the instrument program)
675  - A global gravitation handling is now available, by setting the -g flag
676  - many output formats are available for data. use the --format="format"
677    flag, e.g. --format="Scilab". The full list is displayed with
678    the -h flag for the instrument program.
679    example:
680      mcrun test.instr --format="Matlab binary" -n 1e4
681    will create a mcstas.m file. Launch Matlab and execute
682      s=mcstas('plot')  % will import data into s, and plot all detectors.
683    Binary formats are handled by IDL, Matlab, Scilab.
684    The present available format list is
685      "McStas" "Scilab" "Matlab" "IDL" "XML" "HTML"
686    The default format is McStas/PGPLOT, but may be specified globally using
687    the MCSTAS_FORMAT environment variable
688  - It is possible to save 3D data arrays, by calling the DETECTOR_OUT_3D macro.
689    (handled as 2D by mcplot)
690  - The type of the 'number of events' array in monitors was changed from int to
691    double, to avoid overflow. Please update your home-made monitors.
692  - many dedicated libraries are now available as shared code for reading
693    tables, handling data trees and monitors. These are C functions to be
694    %included into components (see e.g. lib/monitors/Monitor_nD.comp)
695  - The USR2 signal generates an intermediate save for all monitors, during
696    the simulation (execute the SAVE section). The USR1 still give informations.
697  - a new randvec_target_rect function now focuses on a rectangle
698    (more efficient than former randvec_target_sphere=randvec_target_circle)
699
700  Components (in the lib directory)
701  - a new data directory contains neutron data tables
702  - obsolete directory contains components that were renamed or old.
703  - misc/Progress_bar component now exists, and may save data regularly.
704  - optics/Monochromator_curved can read reflectivity and transmission tables
705  - monitors/Monitor_nD can have automatic limits mode for either all or
706    selected monitored variables. It may also plot banana monitors for mcdisplay
707    and trigger intermediate savings for all monitors (same as USR2 sig.)
708    Also, it may monitor something else than the intensity, e.g. the mean
709    energy on a XY psd.
710  - sources/Virtual_output can save all neutron events into a file
711    (beware the size of the generated files !). Format may be text and binary
712  - sources/Virtual_input can read the files generated by Virtual_output
713  - optics/Guide_gravity can handle a 2D array of channels
714  - optics/Filter_gen can read a table from a file and affect the neutron beam
715    (replaces the obsolete 'Flux_adapter'). It may act as a filter or a source
716  - samples: they now can all target towards any component, giving its index
717    (no need to compute target_x/y/z vector, use e.g. target_index=+1)
718  - samples/Res_monitor, Powder1 and V_sample may now have a sphere or box
719    shape, and may focus to a circular or rectangular area
720
721  Tools
722  - Matlab, Scilab and IDL may read directly McStas results if the simulation
723    was executed with the --format="..." option (see 'Run-time' changes)
724  - mcplot, mcdisplay, mcgui are now less dependent on the perl/pgplot installed
725    versions.
726  - mcplot can plot a single simulation data file
727  - mcplot, mcresplot, mcdisplay can output gif, ps and ps color. They also
728    have integrated help (-h options), and may generate output files in a
729    non interactive mode (read file, create output file, exit)
730  - mcplot and mcdisplay work with Matlab, PGPLOT and Scilab plotters (set with
731    the MCSTAS_FORMAT default setting, or -pPLOTTER, or PGPLOT if not set)
732  - mcrun can not currently generate scan results in other formats than McStas
733  - mcsats2vitess works now ok for converting a McStas component to a Vitess one
734
735
736Changes in McStas v1.6.1 (beta), Feb 18th, 2002.
737
738 - a bug was corrected for very small signal statistics automatic limits
739   search in Monitor_nD (0.16.4), that could cause parasitc peaks and
740   fluctuations in detector.
741
742 - 'optics' components were renamed by categories, starting with Guide_...,
743   Monochromator_..., Filter_... etc so that sorting is easier.
744
745 - Monochromator_2foc and Monochromator_curved can now read a reflectivity table
746   file (eg. PG) with rows [k, R]. Both components give the same results, and
747   can use the same parameters.
748
749 - mcplot can now read a list of detector files, without a '.sim' file. This
750   enables to visualise a set of selected monitors, or may be used when the
751   mcstas.sim file was deleted. Detector files must be in current directory.
752
753 - the 1D and 2D detectors now compute simple signal statistics (min, max, mean,
754   center and width of distributions) which are stored in the detector file
755   and shown in plots (mcplot).
756
757 - The Virtual_input replaces the Source_file component (see below), and can
758   read text, Vitess and binary float files of neutron events.
759
760Changes in McStas v1.6-ill (alpha), October 29th, 2001.
761
762 - In component definitions, a SHARE keyword followed by a C code block
763   %{...}% acts the same as a DECLARE block, but is only included once in an
764   instrument. This is very useful when using many identical components
765   (guides, monitors, monochromators) to speed-up compiling and perfomrnaces.
766     SHARE
767     %{ /* included only once for all identical components */
768     %}
769     DECLARE
770     %{ /* included for all components */
771     %}
772   Then all component programmers may add C functions to the 'kernel'. This is
773   only worth when you plan to use a given component many times in a simulation
774   (e.g. not for sources or samples). To downgrade a McStas 1.5 component, just
775   move the SHARE block C code into the DECLARE block.
776 - In an instrument definition, within the TRACE section, each COMPONENT
777   instance may include a C code block:
778     COMPONENT Comp1 = Guide(...)
779     AT (...) ROTATED (...)
780     EXTEND
781     %{ /* some C code to execute after component Comp1 */
782        /* in current coordinate system. You may use Comp1 and global */
783        /* instrument variables */
784     %}
785   For instance, you can here give a 'color' (additional neutron
786   characteristic) and modify next components behaviours.
787   This block is always executed in groups, but you can test if the componnet
788   intercepted the neutron with the SCATTERED variable (if (SCATTERED) { ... }).
789 - In an instrument TRACE section, it is possible to put a set of component
790   in an exclusive group. Only one of the elements of the group can act on
791   the neutron. If no element acts on the neutron, it is absorbed.
792   This is specially useful for multi-detectors, multi-monochromators in
793   parallel, multiple collimators/guides (e.g. radial).
794     COMPONENT Comp1 = Guide(...)
795     AT (...) ROTATED (...) GROUP MyGroupName
796
797     COMPONENT Comp2 = Guide(...)
798     AT (...) ROTATED (...) GROUP MyGroupName
799   Comp1 and Comp2 may even be at the same place.
800   For programmers: it is important that the component TRACE section contains a
801   SCATTER keyword when it successfully intercepts it, to tell McStas that a
802   component in a group acts on a neutron, and can skip other comp in the group.
803 - In 'mcplot', it is possible to use the -ps, -psc and -gif options to
804   generate a PS, color PS, and GIF file, and exit mcplot (no display).
805 - The Monitor_nD was upgraded to correct bugs when reaching the component
806   (the propagation was not performed correctly in some cases), and the disk/
807   sphere radius (monitor remained then squared). This component now uses
808   the SHARE block. A bug was corrected for lists. It can output log and abs of
809   signals, and source files (see Source_file).
810 - The Gravity_guide now handles correctly the focusing multichannel guides.
811   Gravitation is included (on y axis). This component now uses the SHARE block.
812   The Channeled_guide does not handle properly the focusing multichannels.
813 - The Source_gen component focuses uniformly on the target, and can model
814   rectangular, disk, gaussian, and Maxwellian (up to 3 distributions) sources.
815   Previous source components did not focus correctly on the target. They were
816   also corrected, execpt the 'Source_Maxwell'. Source_gen can replace all thee
817   previous sources.
818 - A new Source_file component can take as input a text file containing an
819   array with columns ' x y z vx vy vz t sx sy sz p', such as the data files
820   generated from Monitor_nD with options="list all source". The source may
821   be re-generated more than once, which is useful to improve accuracy,
822   specially when further components do MC choices. Vitess files and float
823   binary files are also ok (auto-recognition of format).
824 - The signal handler now gives more info about where a signal was caught.
825   For instance it tells in which component part an error occured, to make
826   debuging easier.
827   Usefull Signals: kill -Signal <pid>
828      -USR1: display info and continue simulation
829      -USR2: finish simulation and save results
830      -QUIT: end simulation immediately
831 - The 2D detectors now also output the errors/counts on signal as 1D detectors.
832   Set p2=NULL in DETECTOR_OUT_2D to unactivate error saving in components.
833 - We tried to lower the number of components by merging similar ones.
834 - There are now new MACROS for the component programmer.
835     * mccompcurindex is the number (index) of the current component
836       (1 is first component of instrument)
837     * RESTORE_NEUTRON(index, x, y, z, vx, vy, vz, t, sx, sy, sz, p)
838       restores the neutron state to the one at the input of the component
839       'index'. To ignore a component effect, use
840       RESTORE_NEUTRON(mccompcurindex, x, y, z, vx, vy, vz, t, sx, sy, sz, p)
841       at the end of its TRACE section, or in its EXTEND section.
842       These neutron states are in the local component coordinate systems.
843     * STORE_NEUTRON(index, x, y, z, vx, vy, vz, t, sx, sy, sz, p)
844       stores the current neutron state in the trace-history table, in local
845       coordinate system. This is automatically done when entering each
846       component of an instrument.
847     * POS_A_COMP_INDEX(index) is the absolute position of component
848       'index'. POS_A_COMP_INDEX(mccompcurindex) is the same as
849       POS_A_CURRENT_COMP. You may use POS_A_COMP_INDEX(mccompcurindex+1) to
850       make, for instance, your component access the position of the next
851       component (this is usefull for automatic targeting).
852     * SCATTERED is non zero when previous component acted on neutron (let pass
853       or scatter)
854
855   Warning: programmers, do not use anymore the 'mccompcurname' when writing
856   your components. rather use the 'NAME_CURRENT_COMP'.
857
858   Other minor modifications
859   #cleaned up non used variables in mcstas-r.c/h
860   #tested and corrected components
861        misc: Vitess_input/output: included Spin from Vitess. (vitess-lib.c/h)
862          but can not be used as mcstas can not find vitess-lib.c/h. I included
863          what was needed in SHARE sections. now works OK.
864        samples:
865            Single_crystal (now can take lattice angles, forgot a %} at SHARE
866              end)
867            provide *.dat diffraction samples from Crystallographica
868        optics:
869            Beamstop now is a merging of Beamstop_circular and
870              Beamstop_rectangular (using default  values to select shape)
871            Channeled_guide: now output an error in multichannel focusing mode.
872            Chopper: determined default values to have lambda~4 AA. Can handle
873              First_Chopper (parameter IsFirst)
874            Fermi_Chopper : default values for transmission every ~2 AA
875            Gravity_guide: limit loops to max of 1000 bounces for each
876              components (to avoid endless loops)
877            Mosaic_anisotropic: can take DM (d-spacing). default for graphite.
878            Powder_filter (did not work at all, now can take lattice angles,
879              also works as a sample, can take samples/*.dat diffraction files)
880            Selector: default values for transmission at ~4 AA
881            Slit: now is a merging of Slit and Circular_slit (using default
882              values to select shape)
883            Soller: can take transmission
884            V_selector: default values for transmission at ~4 AA
885        sources
886            Source_gen: can handle all previous sources in one component (up to
887              3 Maxwellians). Corrected homogeneity bug for illumination.
888            Source_file: can read 'source' files from Vitess, text files (both
889              90 bytes/neutron) and float binary  files (e.g, from Monitor_nD
890              with options="list all, source binary" which is more compact in
891              size, 48  bytes/neutron). Autorecognition of the format. The MCNP
892              output is not fixed. Just tell MCNP  guys to output the float
893              binary or text file.
894   #other tested components:
895        monitors: all
896        optics: Bender, Curved_Monochromator, Filter, Filter_Graphite,
897          Gravity_guide, Mon_2foc,
898        Curved_Monochromator, Monochromator
899   #not tested: Guide, He3_cell, Mirror, (should be ok ??!!)
900   #moved to obsolete components:
901        monitors: PSD_monitor_4PI_log.comp, PSD_bidim.comp, PSD_curved.comp,
902          PSD_entry.comp,
903        samples: Powder0.comp
904        optics:
905            Beamstop_circular Beamstop_rectangular (gathered into Beamstop)
906            First_Chopper (included in Chopper)
907            Circular_slit (included in Slit)
908            Guide2
909            Monochromator0
910            Circular_slit
911            Soller_trans.comp
912   #perl scripts: mcplot (direct output -ps, -psc, -gif)
913
914Changes in McStas v1.5, October, 10th, 2001
915
916Modified components
917      A corrected version of Arm.comp. For further information, see the emails by Ulrich
918      Wildgruber and Stuart Rycroft. (Apr. 26, 2001)
919      A corrected version of  Monitor_nD.comp. For further information, see the email by
920      Emmanuel Farhi. (Apr. 26, 2001)
921      A rewritten version of Gravity_guide.comp has been contributed by Emmanuel Farhi
922      (see email). The component provided in the email works with McStas 1.4.2, but the official
923      version of the component is not working with McStas 1.4.2 because support for this
924      component has been added to the kernel. (Aug. 7, 2001)
925      An updated version of Monitor_nD.comp has been contributed by Emmanuel Farhi (see
926      first and second email). The new version of the component is not working with McStas
927      1.4.2 because support for the component has been added to the kernel. (Aug. 8, 2001)
928      Andrew Wildes and Emmanuel Farhi have detected an error when using focusing
929      geometry in Channeled_guide. The slope of the channels is not computed corrected
930      correctly, because the same left and right slopes are used in all channels. This has now
931      been included properly in Gravity_guide, and it is recommended that this component is
932      used. (Sep. 18, 2001)
933      The handling of illumination in Source_flat, Source_div and Source_flat_lambda have
934      been corrected. (Oct. 9, 2001)
935  New components
936      The He3_cell.comp has been contributed by Trefor Roberts. It models a cylindrical 3He
937      spin filter cell. (Aug. 8, 2001)
938      The Mon_2foc.comp has been contributed by Peter Link. It models a double bent
939      monochromator with multiple slabs. (Aug. 9, 2001)
940      The Bender.comp has been contributed by Philipp Bernhardt. It models a curved neutron
941      guide. (Aug. 10, 2001)
942      The Powder_filter.comp has been contributed by Ben Fortescue. It models a general
943      box-shaped powder filter. (Aug. 16, 2001)
944      The Source_Maxwell_3 component describes a source with three Maxwellian
945      distributions. (Sep. 17, 2001)
946      Various monitors have been added: EPSD_monitor, PSDcyl_monitor, PSDlin_monitor,
947      TOF_cylPSD_monitor, TOFlog_mon. (Sep. 18, 2001)
948          A minor error in TOF_cylPSD_monitor has been corrected. (Oct. 9, 2001)
949      A new monitor TOFLambda_monitor has been added. (Oct. 9, 2001)
950      A guide modeling waviness, Guide_wavy, has been added. (Oct. 9, 2001)
951      A generic source, Source_gen, has been added. (Oct. 10, 2001)
952  The signal handling system has been updated to handle a special case. The signal handling
953  system will be documented in the manual of version 1.5. (Aug. 7, 2001)
954  The representation of polarisation in McStas components and instruments is supposed to work
955  as follows. Only components actually modifying the spin explicitly require the "POLARISATION
956  PARAMETERS (sx,sy,sz)" line. An instrument handling polarisation may consist of  components
957  both with and without this line; it will transform the spin vector correctly anyway. The
958  "POLARISATION PARAMETERS (sx,sy,sz)" line is therefore removed from all official
959  components not dealing with polarisation. The reason is that for instruments without polarisation
960  some simulation time is gained by excluding the transformations of the spin vector. (Aug. 9,
961  2001)
962  Some definitions have been added that can be used in coding components:
963      NAME_CURRENT_COMP gives the name of the current component as a string. (Aug.
964      16, 2001)
965      POS_A_CURRENT_COMP gives the absolute position of the current component. A
966      component of the vector is referred to as POS_A_CURRENT_COMP.i where i is x, y or z.
967      (Aug. 16, 2001)
968      ROT_A_CURRENT_COMP and  ROT_R_CURRENT_COMP give the orientation of the
969      current component as rotation matrices (absolute orientation and the orientation relative to
970      the previous component, respectively). A component of  a rotation matrice is referred to
971      as  ROT_A_CURRENT_COMP[m][n], where m and n are 0, 1, or 2. (Aug. 16, 2001)
972      POS_A_COMP(comp) gives the absolute position of the component with the name
973      comp. Note that comp is not given as a string. A component of the vector is referred to as
974      POS_A_COMP(comp).i where i is x, y or z. (Aug. 16, 2001)
975      ROT_A_COMP(comp) and ROT_R_COMP(comp)  give the orientation of the
976      component comp as rotation matrices (absolute orientation and the orientation relative to
977      its previous component, respectively). Note that comp is not given as a string. A
978      component of  a rotation matrice is referred to as  ROT_A_COMP(comp)[m][n], where
979      m and n are 0, 1, or 2. (Aug. 16, 2001)
980
981Changes in McStas v1.4.1, March 16, 2001
982
983 - New components: ESS_moderator_long.comp and ESS_moderator_short.comp
984   (by Kim Lefmann), Source_Maxwell (by Emmanuel Farhi). Gravity_guide.comp
985   is included in the official version.
986 - Some support for the calculation of correlation functions in the
987   components Monitor_nD and PreMonitor_nD (by Emmanuel Farhi)
988 - A signal handling system is included (by Emmanuel Farhi)
989 - Misc. minor bug fixes
990 - For more information:
991   http://neutron.risoe.dk/mcstas/developments/developments.html
992
993
994Changes in McStas v1.4, July 28, 2000:
995
996 - It is now possible to use arbitrary C expressions in the instrument
997   definition, ie. to set rotations, component parameters, etc. Only
998   works for SETTING parameters though, not DEFINITION parameters.
999 - Experimental mcstas2vitess conversion program to automatically
1000   translate a McStas component into a VITESS module.
1001 - Option to clear the simulation output in mcgui.
1002 - Partial solution to the problem with name conflicts on component
1003   parameters.
1004 - Partial NeXus support implemented, but not yet functional.
1005 - Misc. minor bug fixes.
1006
1007
1008
1009Changes in McStas v1.3, May 18, 2000:
1010
1011 - New facility `McDoc' for documentation of components, with
1012   automatic extraction of documentation from comment headers in the
1013   source code.
1014 - The possibility in the graphical user interface `mcgui' to build
1015   instrument definitions using "point-and-click", based on McDoc.
1016 - Much improved `mcrun' front-end, which now replaces the old `gscan'
1017   front-end and interfaces with `mcplot'.
1018 - Optional component input parameters.
1019 - Instrument parameters may now also be of string type.
1020 - Improved Single_crystal component, now supports anisotropic mosaic,
1021   multiple scattering, extinction, absorbtion, and incoherent
1022   scattering.
1023 - New components Source_Optimizer and Monitor-nD, by Emmanuel Farhi.
1024 - Misc. minor bug fixes.
1025
1026
1027
1028Changes in McStas v1.2, January 31, 2000:
1029
1030 - New components (Single_crystal, Mosaic_simple, Source_adapt,
1031   Res_sample, ...).
1032 - New graphical user interface mcgui.
1033 - New command-line front-end mcrun with automatic compilation
1034   (experimental).
1035 - New resolution function front-end mcresplot (experimental).
1036 - Better random number generator "Mersenne Twister".
1037 - Fix for problem with Digital Unix almost-ANSI compiler.
1038 - Misc. minor bug fixes.
1039
1040
1041
1042Changes in McStas v1.1, March 31, 1999:
1043
1044 - New components.
1045 - Much improved output file format, with new mcplot front-end to
1046   automatically plot the results of a simulation.
1047 - New MCDISPLAY sections in component definitions, and much improved
1048   mcdisplay front-end.
1049 - New kernel calls DETECTOR_OUT_[012]D(), mcget_ncount().
1050 - Improved error messages.
1051 - New --portable compiler option.
1052 - Various minor bug and compatibility fixes.
1053 - Preliminary support for polarised neutrons.
1054 - Quote special characters in strings in the generated C code.
1055
1056
1057
1058Changes in McStas v1.0, October 26, 1998:
1059
1060 - Initial release.
Note: See TracBrowser for help on using the browser.