/******************************************************************************* * * McStas, neutron ray-tracing package * Copyright 1997-2010, All rights reserved * Risoe National Laboratory, Roskilde, Denmark * Institut Laue Langevin, Grenoble, France * * Documentation: CHANGES * * %Identification * Written by: KN, KL, PEO, EF, PW, EK, JB * Date: 2014 * Origin: DTU, ILL, Uni Copenhagen, PSI * Release: McStas 2.1 * * This file is part of McStas version 2.1, released February 2014. * It gives a 'changes' list from the beginning of the project * *******************************************************************************/ Changes in McStas v2.1, February, 2014 McStas 2.1 is the second release in the 2.x series and fixes various issues with McStas 2.0 Thanks: - Thanks to all contributors of components, instruments etc.! This is what Open Source and McStas is all about! - Thanks to Jonas Stein from Uni Cologne for helping us modernize the TeX documentation! General: - Use of STATE_PARAMETERS and POLARIZATION parameters is no longer supported! If you have home-grown components using these, you will get this type of error with McStas 2.1: Translating instrument definition 'BNL_H8.instr' into C ... mcstas -t -o BNL_H8.c BNL_H8.instr Compiling simulation BNL_H8.instr Arm.comp is using STATE PARAMETERS mcstas-2.1 does NOT support this keyword. Please remove line 36 mcstas-2.1: 1 Errors encountered during parse of BNL_H8.instr. ** Error exit ** As the error message suggests, this can be fixed by simply removing/commenting out the STATE and POLARISATION parameter lines in the top of the component, i.e.: /* STATE PARAMETERS (x,y,z,vx,vy,vz,t,s1,s2,p) */ /* POLARISATION PARAMETERS (sx,sy,sz) */ - In case of "negative time" propagation we no longer ABSORB these neutrons but rather restore the incoming neutron state, leaving it untouched for the following components. This avoids various types of shadowing effects, e.g. when placing parallel monitors that are not in a GROUP. This is furhter in preparation for the forthcoming ASSEMBLY keyword which will work roughly like an "iterative group" that loops on the ASSEMBLY of components until no furhter scattering is achieved, but always scatters first on the component which is closest (in time) to the neutron. - As of this release, McStas is distributed using easy-to-use meta-packages for the Windows and Mac OS X systems. (these already existed for the deb and rpm based Linux packages, see below) The content of these packages are: * Windows: - Strawberry Perl (including a gcc compiler) - Perl PPD extensions for PDL, PGPLOT and Tk - The core mcstas package - The mcstas component package, with comps, instruments, datafiles - The mcstas Perl tools package with mcgui, mcplot etc. - The mcstas manuals package with PDF docs - For VRML and X3D viewing of instruments, we recommend Instant Player from http://www.instantreality.org - ! The mcstas Python tool packages are installed by default, but if you want to make use of our OPTIONAL Python based packages, their dependencies need to be installed by hand ! - Needed dependencies for the Python packages are all available in the Python(x,y) package available from https://code.google.com/p/pythonxy/ - ! We are only distributing a 32bit package for windows, since we feel the 64-bin gcc on windows is not mature - gives problems in a few, specific cases. In any case, the 32-bit McStas for windows works perfectly fine on a 64-bit operating system ! - ! If you experience strange behavior from perl/mcgui on Windows like a) ppm shell not being able to install the extra Perl packages b) mcgui not being able to run / compile a simulation (all you get is mcrun -- help output) c) mcgui not being able to access local component files - Solution can be to ensure your user has "full control" to the executables in c:\strawberry\perl\bin (Right-click, Properties, Security, Authenticated users -> Edit) * Mac OS X: - Tk perl package for mcgui - SciPDL package for mcplot, including the core pgplot package - The core mcstas package - The mcstas component package, with comps, instruments, datafiles - The mcstas Perl tools package with mcgui, mcplot etc. - The mcstas manuals package with PDF docs - For VRML and X3D viewing of instruments, we recommend Instant Player from http://www.instantreality.org - ! If you want to use our OPTIONAL Python based packages, select these for installation in the Metapackage installer ! - For the Python mcrun, you need to install PyYAML from http://www.pyyaml.org/wiki/PyYAML - Most other needed dependencies for the Python packages are available through the SciPy superpack available from http://fonnesbeck.github.io/ScipySuperpack/ - You may also choose the commerical Anaconda or Enthought Python distributions - For the Linux (Debian and RPM based) systems we provide a set of APT and YUM repos, see http://www.mcstas.org/download/apt_n_yum/ - Simply choose to install mcstas-suite-perl (perl tools), mcstas-suite-python (python tools) or mcstas-suite (both toolsets) and all dependencies should be taken care of - A given McStas 2.x release is "self-contained" and can be installed in parallel with other versions of McStas and McXtrace - We provide a "migration tool" for Unix based systems (i.e. Linux & Mac) to let your already installed McStas 1.x or 2.0 co-exist with the new 2.1 - Using McStas with NeXus does no longer require recompilation if you only want to _write_ NeXus. (Simply install NeXus and update your MCSTAS_CFLAGS to include -lNeXus -DUSE_NEXUS). For the conversion of files using mcformat NeXus must still be available at compile time Core & runtime code: - Backward compatibility 1: As written above, STATE and POLARIZATION parameters are no longer supported! - Complete rework of the DETECTOR_OUT infrastructure: * Simplified code-structure * Proper support for MPI when generating NeXus event lists - New logic wrt. negative time propagation: Neutrons are restored rather than ABSORB'ed - Improvement of the interpolation routines e.g. for magnetic fields: search is performed roughly in constant time - Read_Table: better search for files, including from full executable path, from source.instr location, from PWD and from McCode lib. Tools: - Since 2.0 mcgui Perl and mcrun Python has been generating time-stamped output directories if no output dir was specified. The legacy mcrun Perl now exhibit this behavior also. This is balanced by the possiblitiy to choose . (dot) as the output directory - then the legacy behaviour of storing data in the working directory is enabled. Documentation: - Modernized and facelifted TeX documentation in the manuals, which include slightly updated Component manual. A few components-docs parameter tables are now extracted from mcdoc and included in the manual. New Components: - Rotator and Derotator - components that allow a section of the instrument to rotate in time. - New ESS_moderator component by P Willendrup, E Klinkby and T Schoenfeldt DTU * new ess_source-lib with brilliance defintitions corresponding to Mezei 2001, TDR and 2014 brilliances * support for geometrical brilliance variation (i.e. "pancake" geometry) * much simplified input-parameter setup * various fixes wrt. McStas 2.0 and later updated source modules - Monitor_Sqw - generates an Sqw between a sample and a detector, a kind of inelastic resolution monitor. Updated Components: - ISIS moderator component allow specification of the accellerator current. The component performance defaults to the actual, relevant accellerator setting for each target station (TS). All TS1 and TS2 moderator input files are now included with McStas and have meaningful names with reference to the relevant TS. - Source_gen now contains LLB and FRM-II source parameters in the component help. - Monitor_nD contains infrastructure for handling events in Mantid NeXus files. - Isotropic_Sqw - various fixes, including optimized memory usage - Lens component - support for abstract geometries via the OFF/PLY input format - Guide_anyshape - various improvements - FermiChopper - fixed bug in tangent intersection - Elliptic_guide_gravity - support for curvature via horizontal, vectorial addition to gravity Instruments: - Various instruments have been included, allowing to estimate pulsed-source average and peak brilliance. - ISIS_SANS2d geometry contributed by R. Heenan, ISIS - Test_Guide_Curved - test instrument for simple, curved guide types - HZB_FLEX contributed by Klaus Habicht and Markos Skoulatos, HZB