| 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 | *******************************************************************************/ |
|---|
| 38 | Changes 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 | |
|---|
| 74 | Changes 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 | |
|---|
| 213 | Changes 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 | |
|---|
| 299 | Changes 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 | |
|---|
| 375 | Changes 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 | |
|---|
| 471 | Changes 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 | |
|---|
| 507 | Changes 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 | |
|---|
| 580 | Changes 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 | |
|---|
| 645 | Changes 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 | |
|---|
| 736 | Changes 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 | |
|---|
| 760 | Changes 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 | |
|---|
| 914 | Changes in McStas v1.5, October, 10th, 2001 |
|---|
| 915 | |
|---|
| 916 | Modified 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 | |
|---|
| 981 | Changes 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 | |
|---|
| 994 | Changes 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 | |
|---|
| 1009 | Changes 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 | |
|---|
| 1028 | Changes 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 | |
|---|
| 1042 | Changes 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 | |
|---|
| 1058 | Changes in McStas v1.0, October 26, 1998: |
|---|
| 1059 | |
|---|
| 1060 | - Initial release. |
|---|