From per-olof.aastrand at theory.ki.ku.dk Tue Oct 9 14:40:29 2001 From: per-olof.aastrand at theory.ki.ku.dk (Per-Olof =?iso-8859-1?Q?=C5strand?=) Date: Tue, 09 Oct 2001 14:40:29 +0200 Subject: McStas webpage Message-ID: <3BC2F03D.4215E2F4@risoe.dk> Dear McStas user, As some of you have noticed the McStas web-page has been unavailable for a week. It is now working again. The reason was an unfortunate combination of three problems: two hardware problems in routers at Ris? and a misconfiguration in the new fire-wall at Ris?. We hope that the new fire-wall will not cause anymore problems, but please continue to tell us because these problems are not noticed from inside Ris?. We have finally also solved the problems with illumination in the sources. I have already put the new manual for version 1.5 on the web and I intend to make the source available on Wednesday. We apologize for the delays. Best regards, Per-Olof ?strand -- Per-Olof ?strand Dept. of Chemistry, University of Copenhagen and Materials Research Department, Ris? National Laboratory per-olof.aastrand at theory.ki.ku.dk or per-olof.aastrand at risoe.dk http://theochem.ki.ku.dk/~peo/ From per-olof.aastrand at risoe.dk Wed Oct 10 16:21:07 2001 From: per-olof.aastrand at risoe.dk (Per-Olof =?iso-8859-1?Q?=C5strand?=) Date: Wed, 10 Oct 2001 16:21:07 +0200 Subject: McStas 1.5 Message-ID: <3BC45953.647C1C6B@risoe.dk> Dear McStas user, McStas version 1.5 (including an updated manual) is now available on the McStas web-page (see "Download"). The changes compared to previous releases are given in "Developments". Best regards, Per-Olof ?strand -- Per-Olof ?strand Dept. of Chemistry, University of Copenhagen and Materials Research Department, Ris? National Laboratory per-olof.aastrand at theory.ki.ku.dk or per-olof.aastrand at risoe.dk http://theochem.ki.ku.dk/~peo/ From kim.lefmann at risoe.dk Mon Oct 15 14:59:14 2001 From: kim.lefmann at risoe.dk (Kim Lefmann) Date: Mon, 15 Oct 2001 14:59:14 +0200 (CEST) Subject: More monitor components Message-ID: Dear fellow simulators, For McStas v. 1.5 I have written a few new monitor components. They work basically like the old ones, just sensitive to other variables. I believe that all of these monitors are covered by the Monitor_nD component. 1D monitors -------------- PSDlin_monitor: A linear PSD TOF_log_mon: A TOF monitor, giving output on log scale 2D monitors -------------- EPSD_monitor: A position vs. energy sensitive monitor PSDcyl_monitor: A PSD, which is bent cylindrically TOF_cylPSD_monitor: A TOF vs. cylindrical position sensitive monitor TOFLambda_monitor: A TOF vs. wavelength sensitive monitor All the best, Kim ------------------------------ Kim Lefmann Senior Scientist Dept. Cond. Matt. Phys. & Chem. Risoe National Laboratory Phone: +45 46 77 47 26 Fax: +45 46 77 47 90 From kim.lefmann at risoe.dk Mon Oct 15 15:33:42 2001 From: kim.lefmann at risoe.dk (Kim Lefmann) Date: Mon, 15 Oct 2001 15:33:42 +0200 (CEST) Subject: A realistic continuous source component Message-ID: Dear fellow simulators, For McStas v. 1.5, I have written a new source component for a continuous source. It models the wavelength distrubution as a sum of 3 Maxwellian distributions, which e.g. fits the PSD cold source very well. Other details: - The shape is cubic (square) - The sampling is uniform in lambda - Absolute intensities are used - Focuses the beam onto a rectangle at a distance (illumination should be OK) - PSI parameter values given in comments. I whish you all good simulations Kim ------------------------------ Kim Lefmann Senior Scientist Dept. Cond. Matt. Phys. & Chem. Risoe National Laboratory Phone: +45 46 77 47 26 Fax: +45 46 77 47 90 From kim.lefmann at risoe.dk Mon Oct 15 15:55:13 2001 From: kim.lefmann at risoe.dk (Kim Lefmann) Date: Mon, 15 Oct 2001 15:55:13 +0200 (CEST) Subject: A guide component with intrinsic waviness Message-ID: Dear fellow simulators, For McStas 1.5, I have written a guide component with waviness, in collaboration with P. Boni, TU Muenchen, and P. Allenspach, PSI: Guide_wavy The first simulations using this component was presented on the SPIE conference this summer, and a submitted paper exist in preprint form. Details about the component: - rectangular input and output apertures of possibly different sizes - different m-values, and other reflectivity parameters for each of the 4 walls - Gaussian waviness, possibly different in the flight and transverse direction - Example reflectivity parameters given in comments - Gravity NOT included (I might do later if there is a request) All the best, Kim ------------------------------ Kim Lefmann Senior Scientist Dept. Cond. Matt. Phys. & Chem. Risoe National Laboratory Phone: +45 46 77 47 26 Fax: +45 46 77 47 90 From farhi at ill.fr Mon Oct 15 19:30:57 2001 From: farhi at ill.fr (Emmanuel Farhi) Date: Mon, 15 Oct 2001 19:30:57 +0200 Subject: McStas 1.6 available for evaluation and use at ILL Message-ID: <3BCB1D51.6E3099AA@ill.fr> An HTML attachment was scrubbed... URL: From farhi at ill.fr Tue Oct 16 15:18:35 2001 From: farhi at ill.fr (Emmanuel Farhi) Date: Tue, 16 Oct 2001 15:18:35 +0200 Subject: McStas 1.5 and 1.6-alpha Message-ID: <3BCC33AB.CE1F208D@ill.fr> An HTML attachment was scrubbed... URL: From wildgrub at dxray.mpi-stuttgart.mpg.de Mon Oct 22 14:02:10 2001 From: wildgrub at dxray.mpi-stuttgart.mpg.de (Ulrich C. Wildgruber MPI fuer Metallforschung Stuttgart) Date: Mon, 22 Oct 2001 14:02:10 +0200 Subject: compile problem with mcstas-1.5 Message-ID: <3BD40AC2.A5418613@dxray.mpi-stuttgart.mpg.de> Dear fellow McStas user, just recently I switched to McStas 1.5 and everything went smooth until I tried to compile the McStas generated C-code for an .inst I used before. I am getting the following error messages: wildgrub at pc-e21-18:/mc > cc -o t t.c -lm /home/wildgrub/lib/mcstas/Flux_adapter.comp: In function `mcinit': /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: `flad' undeclared (first use in this function) /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: (Each undeclared identifier is reported only once /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: for each function it appears in.) I'll attach t.instr for anybody interested in trying out! Is this a known problem ? What am I doing wrong ? Any comments are greatly appreciated!!! Regards Uli P.S. 't.instr' is only the beginning of a longer file, the result during compile time however is identical... -- Ulrich WILDGRUBER wildgrub at dxray.mpi-stuttgart.mpg.de wwwmf.mpi-stuttgart.mpg.de/abteilungen/dosch/dosch.html ----------------------------------------------------------------------------- Max-Planck-Institut f?r Metallforschung | Technische Universit?t M?nchen Heisenbergstr. 1 | ZBE Neue Forschungs-Neutronenquelle | Instrumentierung D-70569 Stuttgart | D-85747 Garching/M?nchen Tel.: (+49)-711-689-1900 | Tel.: (+49)-89-289-14681 Fax.: (+49)-711-689-1902 | Fax.: (+49)-89-289-14666 -------------- next part -------------- DEFINE INSTRUMENT MatSciR(PHM, TTM, PHD) /* improved version 01/2001 */ /* NL-1: Alle (!) Segmente beruecksichtigt ... */ /* work in progress... */ /* */ /* Basic configuration of the monochromator with downstream apertures */ /* n-Quelle: Leiterende NL-1; m = 2, 2.5; 60mm wide, 120mm high */ /* Monochromator: Mica d(002) = 9.95 A; Q = 2pi/d = 0.6315 rez.A */ /* (a small vertical mosaic spread is more realistic */ /* or: HOPG d(002) = 3.355A; Q = 2pi/d = 1.8728 rez.A */ /* 220mm wide (long), 120mm high - hypothetical */ /* Aperture 1: 25mm x 5mm */ /* 2: not yet introduced again */ /* */ /* Guide: 2m, sides only between apertures, m = 1, 2, 3 (later) */ /* Detector: after last device */ DECLARE %{ double mono_mosaic = 60; /* Is less more ? ...probably not */ double mono_vmos = 60; /* double mono_q = 0.6315; */ double mono_q = 1.8728; double mono_r0 = 1.0; double m1 = 2.0; double m2 = 2.5; double alp = 6.49; double CW = 0.003333; %} INITIALIZE %{ %} TRACE COMPONENT a1 = Arm() AT (0,0,0) ABSOLUTE COMPONENT source = Source_flat_lambda( radius = 0.15, dist = 2.595, xw = 0.11, yh = 0.17, lambda_0 = 2.0, d_lambda = 0.20) AT (0,0,0) RELATIVE a1 COMPONENT flad = Flux_adapter( xmin = -0.055, xmax = 0.055, ymin = -0.085, ymax = 0.085, file = "./source.flux", options = " [ lambda p ]") AT (0,0,0.001) RELATIVE a1 end From farhi at ill.fr Mon Oct 22 14:30:40 2001 From: farhi at ill.fr (Emmanuel Farhi) Date: Mon, 22 Oct 2001 14:30:40 +0200 Subject: compile problem with mcstas-1.5 References: <3BD40AC2.A5418613@dxray.mpi-stuttgart.mpg.de> Message-ID: <3BD4116F.8EBAFD3D@ill.fr> Dear Ulrich (and McStas users) There seems to have a few bugs in the new version 1.5, but I think they are now corrected (or on the way). Per-Olof is probably working on it. You may get the version 1.5 again, in case there would have been an update (compare the archive sizes). What I can tell is that with the future vesion 1.6 (available at ILL , I working with it all day, for tests) your test instrument compiles well. In case you want to try it, I invite you to get the version 1.6-ill and read carefully the CHANGES from the ILL McStas page. Of course in case there would be any problem or suggestion about this future (but already working) version, do not hesitate to tell me. Cheers. Emmanuel. "Ulrich C. Wildgruber MPI fuer Metallforschung Stuttgart" wrote: > Dear fellow McStas user, > > just recently I switched to McStas 1.5 and everything went smooth > until I tried to compile the McStas generated C-code for an .inst > I used before. > > I am getting the following error messages: > > wildgrub at pc-e21-18:/mc > cc -o t t.c -lm > /home/wildgrub/lib/mcstas/Flux_adapter.comp: In function `mcinit': > /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: `flad' undeclared (first use in > this function) > /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: (Each undeclared identifier is > reported only once > /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: for each function it appears > in.) > > I'll attach t.instr for anybody interested in trying out! > > Is this a known problem ? > What am I doing wrong ? > > Any comments are greatly appreciated!!! > > Regards > > Uli > > P.S. 't.instr' is only the beginning of a longer file, the result during > compile time however is identical... > > -- > Ulrich WILDGRUBER > wildgrub at dxray.mpi-stuttgart.mpg.de > wwwmf.mpi-stuttgart.mpg.de/abteilungen/dosch/dosch.html > ----------------------------------------------------------------------------- > Max-Planck-Institut f?r Metallforschung | Technische Universit?t M?nchen > Heisenbergstr. 1 | ZBE Neue Forschungs-Neutronenquelle > | Instrumentierung > D-70569 Stuttgart | D-85747 Garching/M?nchen > Tel.: (+49)-711-689-1900 | Tel.: (+49)-89-289-14681 > Fax.: (+49)-711-689-1902 | Fax.: (+49)-89-289-14666 > > ------------------------------------------------------------------------ > DEFINE INSTRUMENT MatSciR(PHM, TTM, PHD) > > /* improved version 01/2001 */ > /* NL-1: Alle (!) Segmente beruecksichtigt ... */ > /* work in progress... */ > /* */ > /* Basic configuration of the monochromator with downstream apertures */ > /* n-Quelle: Leiterende NL-1; m = 2, 2.5; 60mm wide, 120mm high */ > /* Monochromator: Mica d(002) = 9.95 A; Q = 2pi/d = 0.6315 rez.A */ > /* (a small vertical mosaic spread is more realistic */ > /* or: HOPG d(002) = 3.355A; Q = 2pi/d = 1.8728 rez.A */ > /* 220mm wide (long), 120mm high - hypothetical */ > /* Aperture 1: 25mm x 5mm */ > /* 2: not yet introduced again */ > /* */ > /* Guide: 2m, sides only between apertures, m = 1, 2, 3 (later) */ > /* Detector: after last device */ > > DECLARE > %{ > double mono_mosaic = 60; /* Is less more ? ...probably not */ > double mono_vmos = 60; > /* double mono_q = 0.6315; */ > double mono_q = 1.8728; > double mono_r0 = 1.0; > double m1 = 2.0; > double m2 = 2.5; > double alp = 6.49; > double CW = 0.003333; > %} > > INITIALIZE > %{ > %} > > TRACE > > COMPONENT a1 = Arm() > AT (0,0,0) ABSOLUTE > > COMPONENT source = Source_flat_lambda( > radius = 0.15, > dist = 2.595, > xw = 0.11, yh = 0.17, > lambda_0 = 2.0, > d_lambda = 0.20) > AT (0,0,0) RELATIVE a1 > > COMPONENT flad = Flux_adapter( > xmin = -0.055, > xmax = 0.055, > ymin = -0.085, > ymax = 0.085, > file = "./source.flux", > options = " [ lambda p ]") > AT (0,0,0.001) RELATIVE a1 > > end -- What's up Doc ? -------------------------------------------- Emmanuel FARHI, http://www.ill.fr/tas/people/Farhi.html \|/ ____ \|/ CS-Group ILL4/156, Institut Laue-Langevin (ILL) Grenoble ~@-/ oO \-@~ 6 rue J. Horowitz, BP 156, 38042 Grenoble Cedex 9,France /_( \__/ )_\ Work :Tel (33/0) 4 76 20 71 35. Fax (33/0) 4 76 48 39 06 \__U_/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From per-olof.aastrand at risoe.dk Thu Oct 25 14:56:25 2001 From: per-olof.aastrand at risoe.dk (Per-Olof =?iso-8859-1?Q?=C5strand?=) Date: Thu, 25 Oct 2001 14:56:25 +0200 Subject: compile problem with mcstas-1.5 References: <3BD40AC2.A5418613@dxray.mpi-stuttgart.mpg.de> <3BD4116F.8EBAFD3D@ill.fr> Message-ID: <3BD80BF8.7962429@risoe.dk> Dear Ulrich, I would assume that the Flux_adapter component causes the problem. It is not in the official release of McStas. I don't have it so I guess you have to turn to the author of the component to get it corrected. There are no bugs preventing McStas 1.5 from working. The first release file I put on the web was unfortunately a mess, but one couldn't compile _any_ of the instruments. Fortunately, it was pointed out by Garrett Granroth at an early stage. I could replace the file and noone else has turned to me about this problem. The parallel development of McStas at ILL is very unfortunate, but that will be dealt with outside the email list. Best regards, Per-Olof ?strand Emmanuel Farhi wrote: > Dear Ulrich (and McStas users) > > There seems to have a few bugs in the new version 1.5, but I think > they are now corrected (or on the way). > Per-Olof is probably working on it. You may get the version 1.5 again, > in case there would have been an update (compare the archive sizes). > > What I can tell is that with the future vesion 1.6 (available at ILL > , I working with it all day, for tests) > your test instrument compiles well. In case you want to try it, I > invite you to get the version 1.6-ill and read carefully the CHANGES > from the ILL McStas page. > > Of course in case there would be any problem or suggestion about this > future (but already working) version, do not hesitate to tell me. > > Cheers. Emmanuel. > > "Ulrich C. Wildgruber MPI fuer Metallforschung Stuttgart" wrote: > >> Dear fellow McStas user, >> >> just recently I switched to McStas 1.5 and everything went smooth >> until I tried to compile the McStas generated C-code for an .inst >> I used before. >> >> I am getting the following error messages: >> >> wildgrub at pc-e21-18:/mc > cc -o t t.c -lm >> /home/wildgrub/lib/mcstas/Flux_adapter.comp: In function `mcinit': >> /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: `flad' undeclared >> (first use in >> this function) >> /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: (Each undeclared >> identifier is >> reported only once >> /home/wildgrub/lib/mcstas/Flux_adapter.comp:92: for each function it >> appears >> in.) >> >> I'll attach t.instr for anybody interested in trying out! >> >> Is this a known problem ? >> What am I doing wrong ? >> >> Any comments are greatly appreciated!!! >> >> Regards >> >> Uli >> >> P.S. 't.instr' is only the beginning of a longer file, the result >> during >> compile time however is identical... >> >> -- >> Ulrich WILDGRUBER >> wildgrub at dxray.mpi-stuttgart.mpg.de >> wwwmf.mpi-stuttgart.mpg.de/abteilungen/dosch/dosch.html >> ------------------------------------------------------- >> --------------------- >> Max-Planck-Institut f?r Metallforschung | Technische Universit?t >> M?nchen >> Heisenbergstr. 1 | ZBE Neue >> Forschungs-Neutronenquelle >> | Instrumentierung >> D-70569 Stuttgart | D-85747 Garching/M?nchen >> Tel.: (+49)-711-689-1900 | Tel.: (+49)-89-289-14681 >> Fax.: (+49)-711-689-1902 | Fax.: (+49)-89-289-14666 >> >> >> ------------------------------------------------------------------------ >> >> DEFINE INSTRUMENT MatSciR(PHM, TTM, PHD) >> >> /* improved version >> 01/2001 */ >> /* NL-1: Alle (!) Segmente beruecksichtigt >> ... */ >> /* work in >> progress... */ >> >> /* >> */ >> /* Basic configuration of the monochromator with downstream >> apertures */ >> /* n-Quelle: Leiterende NL-1; m = 2, 2.5; 60mm wide, 120mm >> high */ >> /* Monochromator: Mica d(002) = 9.95 A; Q = 2pi/d = 0.6315 >> rez.A */ >> /* (a small vertical mosaic spread is more >> realistic */ >> /* or: HOPG d(002) = 3.355A; Q = 2pi/d = 1.8728 >> rez.A */ >> /* 220mm wide (long), 120mm high - >> hypothetical */ >> /* Aperture 1: 25mm x >> 5mm */ >> /* 2: not yet introduced >> again */ >> /* >> */ >> /* Guide: 2m, sides only between apertures, m = 1, 2, >> 3 (later) */ >> /* Detector: after last >> device */ >> >> DECLARE >> %{ >> double mono_mosaic = 60; /* Is less more ? ...probably not >> */ >> double mono_vmos = 60; >> /* double mono_q = 0.6315; */ >> double mono_q = 1.8728; >> double mono_r0 = 1.0; >> double m1 = 2.0; >> double m2 = 2.5; >> double alp = 6.49; >> double CW = 0.003333; >> %} >> >> INITIALIZE >> %{ >> %} >> >> TRACE >> >> COMPONENT a1 = Arm() >> AT (0,0,0) ABSOLUTE >> >> COMPONENT source = Source_flat_lambda( >> radius = 0.15, >> dist = 2.595, >> xw = 0.11, yh = 0.17, >> lambda_0 = 2.0, >> d_lambda = 0.20) >> AT (0,0,0) RELATIVE a1 >> >> COMPONENT flad = Flux_adapter( >> xmin = -0.055, >> xmax = 0.055, >> ymin = -0.085, >> ymax = 0.085, >> file = "./source.flux", >> options = " [ lambda p ]") >> AT (0,0,0.001) RELATIVE a1 >> >> end > > -- > What's up Doc ? > -------------------------------------------- > Emmanuel FARHI, http://www.ill.fr/tas/people/Farhi.html \|/ ____ \|/ > CS-Group ILL4/156, Institut Laue-Langevin (ILL) Grenoble ~@-/ oO \-@~ > 6 rue J. Horowitz, BP 156, 38042 Grenoble Cedex 9,France /_( \__/ )_\ > Work :Tel (33/0) 4 76 20 71 35. Fax (33/0) 4 76 48 39 06 \__U_/ > > -- Per-Olof ?strand Dept. of Chemistry, University of Copenhagen and Materials Research Department, Ris? National Laboratory per-olof.aastrand at theory.ki.ku.dk or per-olof.aastrand at risoe.dk http://theochem.ki.ku.dk/~peo/ From farhi at ill.fr Mon Oct 29 15:01:05 2001 From: farhi at ill.fr (Emmanuel Farhi) Date: Mon, 29 Oct 2001 15:01:05 +0100 Subject: McStas 1.5: if you encouter compilation problems Message-ID: <3BDD6121.65D0056E@ill.fr> Hello McStas users, I realised that there was an undocumented modification in the Mcstas version 1.5, that makes it a few percent uncompatible with some previous components (and perhaps the components that you wrote...) Per-Olof Astrand changed the nature of one of the symbols in the kernel ('mccompcurname' is not a char string anymore). Thus if you encounter any compilation problem with McStas 1.5, just look for the 'mccompcurname' symbol and change it to 'NAME_CURRENT_COMP'. Invitation: Use version 1.6-ill that one from which Per-Olof says "The parallel development of McStas at ILL is very unfortunate". Wow ! you're not very kind Per-Olof, why ? Cheers. EF. -- What's up Doc ? -------------------------------------------- Emmanuel FARHI, http://www.ill.fr/tas/people/Farhi.html \|/ ____ \|/ CS-Group ILL4/156, Institut Laue-Langevin (ILL) Grenoble ~@-/ oO \-@~ 6 rue J. Horowitz, BP 156, 38042 Grenoble Cedex 9,France /_( \__/ )_\ Work :Tel (33/0) 4 76 20 71 35. Fax (33/0) 4 76 48 39 06 \__U_/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From farhi at ill.fr Mon Oct 29 15:17:38 2001 From: farhi at ill.fr (Emmanuel Farhi) Date: Mon, 29 Oct 2001 15:17:38 +0100 Subject: McStas 1.5: bad sources Message-ID: <3BDD6502.F18FE948@ill.fr> Hello McStas users, I've found an error in all the 4 'standard' mcstas sources. None of them work. Bug was really obvious. They generate neutrons with speed about 1 m/s. I like UCN sources, but usualy I prefer them warmer. I here attach 'good' sources. You may also use the 'Source_gen' that can make the jobs of all these (and works perfectly). The Source_Maxwell_3 is ok. Source_Maxwell does not focus correctly on the target. Invitation: These modifications are part of the McStas version 1.6-ill (that one from which Per-Olof says "The parallel development of McStas at ILL is very unfortunate". Wow ! you're not very kind Per-Olof, why ?) -- What's up Doc ? -------------------------------------------- Emmanuel FARHI, http://www.ill.fr/tas/people/Farhi.html \|/ ____ \|/ CS-Group ILL4/156, Institut Laue-Langevin (ILL) Grenoble ~@-/ oO \-@~ 6 rue J. Horowitz, BP 156, 38042 Grenoble Cedex 9,France /_( \__/ )_\ Work :Tel (33/0) 4 76 20 71 35. Fax (33/0) 4 76 48 39 06 \__U_/ -------------- next part -------------- /******************************************************************************* * * McStas, the neutron ray-tracing package: Source_flat_lambda.comp * Copyright 1997-2001 Risoe National Laboratory, Roskilde, Denmark * * %I * Written by: Kristian Nielsen and Kim Lefmann * Date: 1999 * Version: $Revision: 1.5 $ * Origin: McStas 1.5 * Modified by: Kim Lefmann, October 8, 2001 * * Neutron source with flat wavelength spectrum and arbitrary flux. * * %D * The routine is a circular neutron source, which aims at a square target * centered at the beam (in order to improve MC-acceptance rate). The angular * divergence is then given by the dimensions of the target. The neutron * wavelength is uniformly distributed between lambda_0 - d_lambda and * lambda_0 + d_lambda. * * Example: Source_flat_lambda(radius=0.1, dist=2, xw=.1, yh=.1, * lambda_0=2.36, d_lambda=.3) * * %P * radius: (m) Radius of circle in (x,y,0) plane where neutrons * are generated. * dist: (m) Distance to target along z axis. * xw: (m) Width(x) of target * yh: (m) Height(y) of target * lambda_0: (AA) Mean wavelength of neutrons. * d_lambda: (AA) Wavelength spread of neutrons. * * %E *******************************************************************************/ DEFINE COMPONENT Source_flat_lambda DEFINITION PARAMETERS () SETTING PARAMETERS (radius, dist, xw, yh, lambda_0, d_lambda) OUTPUT PARAMETERS (pmul) STATE PARAMETERS (x,y,z,vx,vy,vz,t,s1,s2,p) DECLARE %{ double pmul; %} INITIALIZE %{ pmul=1.0/(mcget_ncount()*4*PI); %} TRACE %{ double chi,lambda,v,r,xf,yf,rf,dx,dy; t=0; z=0; chi=2*PI*rand01(); /* Choose point on source */ r=sqrt(rand01())*radius; /* with uniform distribution. */ x=r*cos(chi); y=r*sin(chi); xf = 0.5*xw*randpm1(); /* Choose focusing position uniformly */ yf = 0.5*yh*randpm1(); dx = xf-x; dy = yf-y; rf = sqrt(dx*dx+dy*dy+dist*dist); p = pmul*xw*yh*dist/(rf*rf*rf); /* target area * cos(phi)/rf^2 */ lambda = lambda_0+d_lambda*randpm1(); v = K2V*(2*PI/lambda); vz=v*dist/rf; vy=v*dy/rf; vx=v*dx/rf; %} MCDISPLAY %{ magnify("xy"); circle("xy",0,0,0,radius); %} END -------------- next part -------------- /******************************************************************************* * * McStas, the neutron ray-tracing package: Source_flat.comp * Copyright 1997-2001 Risoe National Laboratory, Roskilde, Denmark * * %I * Written by: Kim Lefmann * Date: October 30, 1997 * Modified by: KL, October 4, 2001 * Version: $Revision: 1.9 $ * Origin: McStas 1.5 * * A circular neutron source with flat energy spectrum and arbitrary flux * * %D * The routine is a circular neutron source, which aims at a square target * centered at the beam (in order to improve MC-acceptance rate). The angular * divergence is then given by the dimensions of the target. * The neutron energy is uniformly distributed between E0-dE and E0+dE. * * Example: Source_flat(radius=0.1, dist=2, xw=.1, yh=.1, E0=14, dE=2) * * %P * radius: (m) Radius of circle in (x,y,0) plane where neutrons * are generated. * dist: (m) Distance to target along z axis. * xw: (m) Width(x) of target * yh: (m) Height(y) of target * E0: (meV) Mean energy of neutrons. * dE: (meV) Energy spread of neutrons. * * %E *******************************************************************************/ DEFINE COMPONENT Source_flat DEFINITION PARAMETERS () SETTING PARAMETERS (radius, dist, xw, yh, E0, dE) OUTPUT PARAMETERS () STATE PARAMETERS (x,y,z,vx,vy,vz,t,s1,s2,p) DECLARE %{ double pmul; %} INITIALIZE %{ pmul=1.0/(mcget_ncount()*4*PI); %} TRACE %{ double chi,E,v,r, xf, yf, rf, dx, dy; t=0; z=0; chi=2*PI*rand01(); /* Choose point on source */ r=sqrt(rand01())*radius; /* with uniform distribution. */ x=r*cos(chi); y=r*sin(chi); xf = 0.5*xw*randpm1(); /* Choose focusing position uniformly */ yf = 0.5*yh*randpm1(); dx = xf-x; dy = yf-y; rf = sqrt(dx*dx+dy*dy+dist*dist); p = pmul*xw*yh*dist/(rf*rf*rf); /* target area * cos(phi)/rf^2 */ E=E0+dE*randpm1(); /* Choose from uniform distribution */ v=sqrt(E)*SE2V; vz=v*dist/rf; vy=v*dy/rf; vx=v*dx/rf; %} MCDISPLAY %{ magnify("xy"); circle("xy",0,0,0,radius); %} END -------------- next part -------------- /********************************************************************** * * McStas, the neutron ray-tracing package: Source_flux.comp * Copyright 1997-2001 Risoe National Laboratory, Roskilde, Denmark * * Component: Source_flux * * %Identification * Written by: Kristian Nielsen * Date: 1998 * Version: $Revision: 1.5 $ * Origin: McStas 1.5 * * An old variant of the official Source_flux_lambda component. * * %Description * Models a reactor source with a flat energy distribution and a * given neutron flux. * This is useful for simulations where the absolute value of neutron flux, * detector counts, etc. is needed for comparison with real instruments and * experiments. * * Example: Source_flat(radius=0.1, dist=2, xw=.1, yh=.1, E0=14, dE=2, flux=1e13) * * %Parameters * INPUT PARAMETERS * * radius: (m) Radius of circle in (x,y,0) plane where neutrons * are generated. * dist: (m) Distance to target along z axis. * xw: (m) Width(x) of target * yh: (m) Height(y) of target * E0: (meV) Mean energy of neutrons. * dE: (meV) Energy spread of neutrons. * flux: (n/s/cm^2/Angs) Neutron flux * * %End ***********************************************************************/ DEFINE COMPONENT Source_flux DEFINITION PARAMETERS (radius=0.1, dist=2.33, xw=0.05, yh=0.1, E0=14.68, dE=2, flux=1e13) SETTING PARAMETERS () OUTPUT PARAMETERS (p_in) STATE PARAMETERS (x,y,z,vx,vy,vz,t,s1,s2,p) DECLARE %{ double hdiv,vdiv; double p_in; %} INITIALIZE %{ double factor, lambda_min, lambda_max, delta_lambda, source_area; lambda_min = sqrt(81.81/(E0+dE)); /* AAngstroem */ lambda_max = sqrt(81.81/(E0-dE)); delta_lambda = lambda_max - lambda_min; source_area = radius*radius*PI*1e4; /* cm^2 */ p_in = flux/mcget_ncount()*delta_lambda*source_area; %} TRACE %{ double chi,v,r, E; double xf, yf, dx, dy, rf; z=0; chi=2*PI*rand01(); /* Choose point on source */ r=sqrt(rand01())*radius; /* with uniform distribution. */ x=r*cos(chi); y=r*sin(chi); xf = 0.5*xw*randpm1(); /* Choose focusing position uniformly */ yf = 0.5*yh*randpm1(); dx = xf-x; dy = yf-y; rf = sqrt(dx*dx+dy*dy+dist*dist); p = p_in*xw*yh*dist/(rf*rf*rf); /* target area * cos(phi)/rf^2 */ E=E0+dE*randpm1(); /* Assume linear distribution */ v=sqrt(E)*SE2V; vz=v*dist/rf; vy=v*dy/rf; vx=v*dx/rf; %} MCDISPLAY %{ magnify("xy"); circle("xy",0,0,0,radius); %} END -------------- next part -------------- /******************************************************************************* * * McStas, the neutron ray-tracing package: Source_flux_lambda.comp * Copyright 1997-2001 Risoe National Laboratory, Roskilde, Denmark * * %I * Written by: Kristian Nielsen * Date: 1998 * Version: $Revision: 1.6 $ * Origin: McStas 1.5 * * Neutron source with flat wavelength spectrum and user-specified flux. * * %D * The routine is a circular neutron source, which aims at a square target * centered at the beam (in order to improve MC-acceptance rate). The angular * divergence is then given by the dimensions of the target. The neutron * wavelength is uniformly distributed between lambda_0 - d_lambda and * lambda_0 + d_lambda. The source flux is specified in neutrons per steradian * per square cm per AAngstroem. * * Example: Source_flux_lambda(radius=0.1, dist=2, xw=.1, yh=.1, * lambda_0=2.36, d_lambda=.3, flux=1e13) * * %P * radius: (m) Radius of circle in (x,y,0) plane where neutrons * are generated. * dist: (m) Distance to target along z axis. * xw: (m) Width(x) of target * yh: (m) Height(y) of target * lambda_0: (AA) Mean wavelength of neutrons. * d_lambda: (AA) Wavelength spread of neutrons. * flux: (1/(cm**2*st*AA)) Source flux * * %E *******************************************************************************/ DEFINE COMPONENT Source_flux_lambda DEFINITION PARAMETERS () SETTING PARAMETERS (radius, dist, xw, yh, lambda_0, d_lambda, flux) OUTPUT PARAMETERS (p_in) STATE PARAMETERS (x,y,z,vx,vy,vz,t,s1,s2,p) DECLARE %{ double p_in; %} INITIALIZE %{ double factor, delta_lambda, source_area; delta_lambda = 2*d_lambda; source_area = radius*radius*PI*1e4; /* cm^2 */ p_in = flux/mcget_ncount()*delta_lambda*source_area; %} TRACE %{ double chi,lambda,v,r; double xf, yf, dx, dy, rf; z=0; chi=2*PI*rand01(); /* Choose point on source */ r=sqrt(rand01())*radius; /* with uniform distribution. */ x=r*cos(chi); y=r*sin(chi); xf = 0.5*xw*randpm1(); /* Choose focusing position uniformly */ yf = 0.5*yh*randpm1(); dx = xf-x; dy = yf-y; rf = sqrt(dx*dx+dy*dy+dist*dist); p = p_in*xw*yh*dist/(rf*rf*rf); /* target area * cos(phi)/rf^2 */ lambda = lambda_0+d_lambda*randpm1(); v = K2V*(2*PI/lambda); vz=v*dist/rf; vy=v*dy/rf; vx=v*dx/rf; %} MCDISPLAY %{ magnify("xy"); circle("xy",0,0,0,radius); %} END -------------- next part -------------- /******************************************************************************* * * McStas, the neutron ray-tracing package: Source_gen.comp * Copyright 1997-2001 Risoe National Laboratory, Roskilde, Denmark * * Component: Source_gen * * %I * Written by: Kristian Nielsen, Kim Lefmann and Emmanuel Farhi * Date: October 30, 1997 * Version: $Revision: 1.7 $ * Origin: McStas 1.5 * Modified by: EF, Aug 27, 2001 ; can use Energy/wavelength and I1 * Modified by: EF, Sep 18, 2001 ; corrected illumination bug. Add options * * Circular/squared neutron source with flat or Maxwellian energy spectrum * (possibly spatially gaussian) * * %D * This routine is a neutron source (rectangular or circular), which aims at * a square target centered at the beam (in order to improve MC-acceptance * rate). The angular divergence is then given by the dimensions of the * target. * The neutron energy/wavelength is distributed between Emin=E0-dE and * Emax=E0+dE or Lmin=Lambda0-dLambda and Lmax=Lambda0+dLambda. The I1 may * be either arbitrary (I1=0), or specified in neutrons per steradian per * square cm per Angstrom. A Maxwellian spectra may be selected if you give * the source temperatures (up to 3). The source shape is defined by its radius, * or can alternatively be squared if you specify non-zero h and w parameters. * The beam is spatially uniform, but becomes gaussian if one of the source * dimensions (radius, h or w) is negative, or you set the gaussian flag. * Divergence profiles are triangular. The source may have a thickness. * For the Maxwellian spectra, the generated intensity is dPhi/dLambda (n/s/AA) * For flat spectra, the generated intensity is Phi (n/s). * * Usage example: * Source_gen(radius=0.1,Lambda0=2.36,dLambda=0.16, T1 = 20, T2 = 38, I1=1e13) * Source_gen(h=0.1,w=0.1,Emin=1,Emax=3, I1=1e13, verbose=1, gaussian=1) * * Some sources parameters: * PSI cold source T1=150.42 I1=3.67e11 T2=38.74 I2=3.64e11 * T3=14.84 I3=0.95e11 * ILL VCS cold source T1=216.8 I1=1.24e+13 T2=33.9 I2=1.02e+13 * (H1) T3=16.7 I3=3.0423e+12 * ILL HCS cold source T1=213.4 I1=1.47e+13 T2=83.1 I2=3.26e+12 * (H5) T3=26.5 I3=1.21e13 * ILL Thermal tube T1=683.7 I1=1.7278e+13 T2=257.7 I2=7.3823e+13 * (H12) T3=6.71 I3=6.7125e+09 * * * %P * radius: (m) Radius of circle in (x,y,0) plane where neutrons * are generated. You may also use 'h' and 'w' for a square source * dist: (m) Distance to target along z axis. * xw: (m) Width(x) of target. If dist is not given, xw = horz. div (deg) * yh: (m) Height(y) of target. If dist is not given, yh = vert. div (deg) * E0: (meV) Mean energy of neutrons. You may also use Lambda0. * dE: (meV) Energy spread of neutrons (half width). * * Optional parameters: * Lambda0: (AA) Mean wavelength of neutrons. * dLambda: (AA) Wavelength spread of neutrons (half width). * Emin: (meV) Minimum energy of neutrons * Emax: (meV) Maximum energy of neutrons * Lmin: (meV) Minimum wavelength of neutrons * Lmax: (meV) Maximum wavelength of neutrons * h (m) Source y-height (then does not use radius parameter) * w (m) Source x-width (then does not use radius parameter) * length (m) Source z-length (not anymore flat) * T1 (K) Temperature of the Maxwellian source (0=none) * I1: (1/(cm**2*st*AA)) Source flux per solid angle, area and Angstrom * T2 (K) Second Maxwellian source Temperature (0=none) * I2: (1/(cm**2*st*AA)) Second Maxwellian Source flux * T3 (K) Third Maxwellian source Temperature (0=none) * I3: (1/(cm**2*st*AA)) Third Maxwellian Source flux * gaussian (0/1) Use gaussian beam (normal distributions) * verbose (0/1) display info about the source. -1 unactivate source. * * %E *******************************************************************************/ DEFINE COMPONENT Source_gen DEFINITION PARAMETERS () SETTING PARAMETERS (radius=0.1, dist=57.296, xw=2, yh=2, E0=14.68, dE=0, Lambda0=2.36, dLambda=0.1627, I1=0, h=0, w=0, gaussian=0, verbose=0, T1=0,Lmin=0,Lmax=0,Emin=0,Emax=0,T2=0,I2=0,T3=0,I3=0,length=0) OUTPUT PARAMETERS (p_in,lambda0, lambda02, L2P,lambda_0,d_lambda,lambda0b, lambda02b, L2Pb,lambda0c, lambda02c, L2Pc) STATE PARAMETERS (x,y,z,vx,vy,vz,t,s1,s2,p) DECLARE %{ double p_in; double lambda_0=0,d_lambda=0; double lambda0, lambda02, L2P; /* first Maxwellian source */ double lambda0b, lambda02b, L2Pb; /* second Maxwellian source */ double lambda0c, lambda02c, L2Pc; /* second Maxwellian source */ %} INITIALIZE %{ double factor, delta_lambda, source_area, k; if ((radius < 0) || (h < 0) || (w < 0)) gaussian = 1; else gaussian = 0; if ((Emin != 0) && (Emax != 0)) { E0 = (Emin+Emax)/2; dE=fabs(Emin-Emax)/2; } if ((E0 != 0) && (dE != 0)) { Lmin = sqrt(81.81/(E0+dE)); /* AAngstroem */ Lmax = sqrt(81.81/(E0-dE)); } if ((Lmin != 0) && (Lmax != 0)) { Lambda0 = (Lmin+Lmax)/2; dLambda=fabs(Lmin-Lmax)/2; } if ((Lambda0 != 0) || (dLambda != 0)) { lambda_0 = Lambda0; d_lambda=dLambda; } radius = fabs(radius); w=fabs(w); h=fabs(h); I1=fabs(I1); lambda_0=fabs(lambda_0); d_lambda=fabs(d_lambda); xw = fabs(xw); yh=fabs(yh); dist=fabs(dist); if ((lambda_0-d_lambda <= 0) || (lambda_0+d_lambda <= 0)) { fprintf(stderr,"Source_gen: Warning: Wavelength will reach negative values\n"); } if (dist == 0) { fprintf(stderr,"Source_gen: warning: focusing distance is null. Set to 1 rad\n"); dist = 57.296; } delta_lambda = 2*d_lambda; Lmin = lambda_0 - d_lambda; /* AAngstroem */ Lmax = lambda_0 + d_lambda; if (I1 != 0) { if ((h == 0) || (w == 0)) source_area = radius*radius*PI*1e4; /* circular cm^2 */ else source_area = h*w*1e4; /* square cm^2 */ factor = I1*source_area*delta_lambda/mcget_ncount(); p_in = 4*factor; /* p_in = (4*hdiv*vdiv)*factor; */ } else p_in = 1/PI; /* Small angle approx. */ k = 1.38066e-23; /* k_B */ if (T1 > 0) { lambda0 = 1.0e10*sqrt(HBAR*HBAR*4.0*PI*PI/2.0/MNEUTRON/k/T1); lambda02 = lambda0*lambda0; L2P = 2*lambda02*lambda02; } else { lambda0 = lambda_0; } if (T2 > 0) { lambda0b = 1.0e10*sqrt(HBAR*HBAR*4.0*PI*PI/2.0/MNEUTRON/k/T2); lambda02b = lambda0b*lambda0b; L2Pb = 2*lambda02b*lambda02b; } else { lambda0b = lambda_0; } if (T3 > 0) { lambda0c = 1.0e10*sqrt(HBAR*HBAR*4.0*PI*PI/2.0/MNEUTRON/k/T3); lambda02c = lambda0c*lambda0c; L2Pc = 2*lambda02c*lambda02c; if (I3 == 0) I3 = I1; } else { lambda0b = lambda_0; } if (verbose == 1) { printf("Source_gen: component %s ", NAME_CURRENT_COMP); if ((h == 0) || (w == 0)) printf("(square)"); else printf("(disk)"); printf("\n spectra "); printf("%.2f to %.2f AA (%.2f to %.2f meV)", Lmin, Lmax, 81.81/Lmax/Lmax, 81.81/Lmin/Lmin); if (gaussian) printf(", gaussian beam"); printf("\n"); if (T1 != 0) printf(" T1=%.1f K (%.2f AA)", T1, lambda0); if (T2 != 0) printf(", T2=%.1f K (%.2f AA)", T2, lambda0b); if (T3 != 0) printf(", T3=%.1f K (%.2f AA)", T3, lambda0c); if (T1) printf("\n"); } else if (verbose == -1) printf("Source_gen: component %s unactivated", NAME_CURRENT_COMP); %} TRACE %{ double theta0,phi0,theta1,phi1,chi,theta,phi,v,r, lambda; double Maxwell, lambda2, lambda5; if (verbose >= 0) { z=0; if ((h == 0) || (w == 0)) { chi=2*PI*rand01(); /* Choose point on source */ r=sqrt(rand01())*radius; /* with uniform distribution. */ x=r*cos(chi); y=r*sin(chi); } else { x = w*randpm1()/2; /* select point on source (uniform) */ y = h*randpm1()/2; } if (length != 0) z = length*randpm1()/2; theta0= -atan((x-xw/2.0)/dist); /* Angles to aim at target */ phi0 = -atan((y-yh/2.0)/dist); theta1= -atan((x+xw/2.0)/dist); phi1 = -atan((y+yh/2.0)/dist); /* shot towards target : flat distribution */ if (gaussian) { theta= theta0+(theta1- theta0)*(randnorm()*FWHM2RMS+0.5); phi = phi0 +(phi1 - phi0) *(randnorm()*FWHM2RMS+0.5); } else { theta= theta0+(theta1- theta0)*rand01(); phi = phi0 +(phi1 - phi0) *rand01(); } /* Assume linear distribution */ lambda = lambda_0+d_lambda*randpm1(); if (lambda <= 0) ABSORB; lambda2 = lambda*lambda; lambda5 = lambda2*lambda2*lambda; v = K2V*(2*PI/lambda); p *= p_in*fabs((theta1- theta0)*(phi1 - phi0)); if (T1 > 0) { Maxwell= L2P/lambda5*exp(-lambda02/lambda2); /* 1/AA */ if ((T2 > 0) && (I1 != 0)) { if (I2 == 0) I2 = I1; Maxwell += (I2/I1)*L2Pb/lambda5*exp(-lambda02b/lambda2); } if ((T3 > 0) && (I1 != 0)) { if (I3 == 0) I3 = I1; Maxwell += (I3/I1)*L2Pc/lambda5*exp(-lambda02c/lambda2); } p *= Maxwell; } vz=v*cos(phi)*cos(theta); vy=v*sin(phi); vx=v*cos(phi)*sin(theta); SCATTER; } %} MCDISPLAY %{ double xmin; double xmax; double ymin; double ymax; if ((h == 0) || (w == 0)) { magnify("xy"); circle("xy",0,0,0,radius); if (gaussian) circle("xy",0,0,0,radius/2); } else { xmin = -w/2; xmax = w/2; ymin = -h/2; ymax = h/2; magnify("xy"); multiline(5, (double)xmin, (double)ymin, 0.0, (double)xmax, (double)ymin, 0.0, (double)xmax, (double)ymax, 0.0, (double)xmin, (double)ymax, 0.0, (double)xmin, (double)ymin, 0.0); if (gaussian) circle("xy",0,0,0,sqrt(w*w+h*h)/4); } %} END From kim.lefmann at risoe.dk Tue Oct 30 12:56:21 2001 From: kim.lefmann at risoe.dk (Kim Lefmann) Date: Tue, 30 Oct 2001 12:56:21 +0100 (CET) Subject: McStas developments Message-ID: Dear McStas users, First, thanks for Emmanuel for finding many errors in the Source components. It really show the importance of proper testing. All users should be assured that all known and future problems in the official version 1.5. will be corrected and released very soon. Please report any other errors you may encounter. All new features in the test-1.6 version seem to work well. They will appear in the release-1.5.1 version, to be released as soon as possible. Yours, Kim From per-olof.aastrand at risoe.dk Wed Oct 31 10:02:18 2001 From: per-olof.aastrand at risoe.dk (Per-Olof =?iso-8859-1?Q?=C5strand?=) Date: Wed, 31 Oct 2001 10:02:18 +0100 Subject: McStas 1.5: if you encouter compilation problems References: <3BDD6121.65D0056E@ill.fr> Message-ID: <3BDFBE1A.E17D5B5A@risoe.dk> Dear McStas user, To explain this it requires a basic understanding of the philosophy of McStas. McStas has a layered structure which consists of one level with a "kernel" and another level consisting of components and instruments, where the components and instruments are written in a McStas meta-language. The meta-language is defined in the McStas manual. To extend the useability of the components, it is of course tempting to look into and use internal information in the kernel. It can, however, not be expected that the internals of the kernel remain unchanged. In contrast, it can be required that the kernel calls documented in the manual always will not be changed. So even if it is tempting to include undocumented features, it should be avoided. It is the only way to guarantee backward compability. This is today not a serious problem. I would assume it is only a few components using undocumented features. Using the same arguments, it is unacceptable and very unfortunate with different McStas kernels available on the web. If the direction is that we will have many various McStas kernels available on the web, it will soon lead to a large degree of incompability in the components. I hope this will not be a future problem, and we will do our best to include the "McStas-ill" features in the official release as soon as possible. But to conclude, an extensive use of undocumented kernel features and various McStas kernels on the web, and McStas will very soon be a mess. Best regards, Per-Olof ?strand Emmanuel Farhi wrote: > Hello McStas users, > > I realised that there was an undocumented modification in the Mcstas > version 1.5, that makes it a few percent uncompatible with some > previous components (and perhaps the components that you wrote...) > Per-Olof Astrand changed the nature of one of the symbols in the > kernel ('mccompcurname' is not a char string anymore). > Thus if you encounter any compilation problem with McStas 1.5, just > look for the 'mccompcurname' symbol and change it to > 'NAME_CURRENT_COMP'. > > Invitation: > Use version 1.6-ill that one from > which Per-Olof says "The parallel development of McStas at ILL is very > unfortunate". Wow ! you're not very kind Per-Olof, why ? > > Cheers. EF. > > -- > What's up Doc ? > -------------------------------------------- > Emmanuel FARHI, http://www.ill.fr/tas/people/Farhi.html \|/ ____ \|/ > CS-Group ILL4/156, Institut Laue-Langevin (ILL) Grenoble ~@-/ oO \-@~ > 6 rue J. Horowitz, BP 156, 38042 Grenoble Cedex 9,France /_( \__/ )_\ > Work :Tel (33/0) 4 76 20 71 35. Fax (33/0) 4 76 48 39 06 \__U_/ > > -- Per-Olof ?strand Dept. of Chemistry, University of Copenhagen and Materials Research Department, Ris? National Laboratory per-olof.aastrand at theory.ki.ku.dk or per-olof.aastrand at risoe.dk http://theochem.ki.ku.dk/~peo/ From farhi at ill.fr Wed Oct 31 14:34:07 2001 From: farhi at ill.fr (Emmanuel Farhi) Date: Wed, 31 Oct 2001 14:34:07 +0100 Subject: McStas: Very sad situation. Keep on using it. And tell us about it. Message-ID: <3BDFFDCF.DF219C62@ill.fr> Dear McStas users, What is going on between the ILL and Risoe is becoming very sad, and you probably noticed that. I can give you some details about what and how we came to the present situation: 1- In January 2001, the McStas workshop gave users the opportunity to set a useful 'to-do' list. This list is available at . The workshop was really a success. McStas was version 1.4.0. 2- Following that workshop versions 1.4.1 and 1.4.2 were released nearly at the same time, essentially including new components (no kernel modification). 3- In summer 2001, I discussed with Per-Olof on how to implement new features in the McStas kernel. He said these ideas were nice. Indeed, the simulations I needed became very big (1.5 Mo source code), and difficult to compile. I had to find a solution. 3- In August 2001, Per-Olof came at ILL to see me. I had an experiment at the same time, but we managed to set a list of things to do for the next release (planned for ICNS2001). Collaboration was fair. Per-Olof made the few modifications now included in the kernel 1.5 (new macros). He proposed me to enter in the McStas project development team (Kim, Per-Olof and me). That was nice. 4- At ICNS2001, Phil Seeger noticed a bug in McStas sources. They did not focus the simulation correctly, and thus the illumination was not isotrope. 5- Coming back from ICNS2001, I knew what to do to correct this bug, and thought about how to implement most of the January workshop 'to-do' list. It was clear in my mind that these new features would be implemented in version 1.5, so that all of you would benefit from them. 6- I made all the new feature implementations within 1 week. I must say that I realized how Kristian Nielsen made a perfect work: clear, portable, deep thinking. I was glad to send my contribution to Per-Olof and Kim (end of september). I think I also realized that Per-Olof could not have done that work, as his time schedule is very heavy, and he does not know the McStas project structure as I do. I made lots of check (most components, kernel, etc...) and found bugs, probably because they have always been there. 7- My contribution was completely rejected. I do not understand why. Both the new kernel features, and the bug corrections in components were entirely ignored by my collaborators, Kim and Per-Olof. 8- The McStas version 1.5 was released (Oct 10th) by Risoe, without previous discussion with me. Getting it, it was obvious it had not been checked, and published in a hurry. There were bugs in the generated C code (could not be compiled), in the components (were buggy, specially all sources), and the documentation was incomplete, and without any component list. You probably experienced that if you upgraded to 1.5. 9- I sent e-mails immediately to Per-Olof and Kim, to tell them about the bugs I had seen (in the kernel, the components, etc.). I also told them to inform the community about the identified bugs, and that they would be corrected as soon as possible. I also proposed them to look at what I had done (I use my version 1.6-ill daily, without bugs, and corrected components) as it was there. My feeling then was that McStas users should keep their version 1.4.2 or switch to the 1.6-ill 'test' version, that I decided to put on the ILL McStas page. 10- All my e-mails were ignored. There was a temptative to correct the source inhomogeneity problem (Kim), but it then resulted in an even worse bug (neutrons with 1 m/s), probably because this was not tested. The compilation problem, that prevented any usage of McStas 1.5 was corrected at last, because there were users experiencing problems. 11- Per-Olof sent e-mails to the neutron -mc list saying that "(...) The parallel development of McStas at ILL is very unfortunate (...)". 12- Today (three weeks after release), the version 1.5 that you can find on the web is still not usable. If you finally manage to compile your instrument, there are chances that results will be wrong. Some components simply do not compile, and none of them was tested correctly. The list of bugs that I sent to Kim and Per-Olof was ignored, and bugs were hidden to the community (or rejecting the fault on the ILL if necessary), and not corrected. 13- The version 1.6-ill works fine since its release, and most components available on the ILL Mctas page have been tested. You will also find there the corrected version 1.5 components. Conclusion: I was invited to participate in the development of McStas, and finally, my work was ignored (and I was even insulted by Per-Olof). A parallel version was released, without collaboration with me. I tried my best to inform people, identify and correct bugs, but these are still there. Thus I brought an alternative solution, so that McStas users do not get angry with McStas. For diplomatic reasons, I said it was a test version. As a matter of fact, it works perfectly, and thus it is not a test version. If you want to continue using McStas, either keep version 1.4.2, or switch to the version 1.6-ill. The version 1.5 is a failure. Be careful if you use it. Hopefully, McStas is a really nice project, and is very strong. (I hope) It will not suffer from these misunderstandings. And I would like to tell all of you: keep on using McStas. It's great, and I hope you like it as I do. Also, I would like to have your opinion on the current situation and on the future of McStas. If you encounter problems with the version 1.5, please talk about it ! And ask Kim and Per-Olof to correct these bugs. I told them to, but it appears that all my words are now ignored, or returned to me with offense. What did I do wrong ? Emmanuel Farhi. Thanks in advance to all of you. I like McStas, this project is very valuable, and should continue to have your support and approval. -- What's up Doc ? -------------------------------------------- Emmanuel FARHI, http://www.ill.fr/tas/people/Farhi.html \|/ ____ \|/ CS-Group ILL4/156, Institut Laue-Langevin (ILL) Grenoble ~@-/ oO \-@~ 6 rue J. Horowitz, BP 156, 38042 Grenoble Cedex 9,France /_( \__/ )_\ Work :Tel (33/0) 4 76 20 71 35. Fax (33/0) 4 76 48 39 06 \__U_/ From stewart at ill.fr Wed Oct 31 16:21:54 2001 From: stewart at ill.fr (Ross Stewart) Date: Wed, 31 Oct 2001 16:21:54 +0100 Subject: Come on guys!. In-Reply-To: <3BDFFDCF.DF219C62@ill.fr> Message-ID: <5.1.0.14.0.20011031160618.00a31380@mail.ill.fr> Dear McStas developers, This situation is getting out of hand. McStas is an extremely important contribution in Monte-Carlo instrument simulation. But it is not a football to be kicked around in some kind of bizarre Franco-Danish soccer match. Unlike ALL other available packages (mclib, vitess etc.) McStas offers the ability to write instrumental components quickly and easily. It is thus indispensable for "non-standard" neutron instruments (such as my instrument, D7 at the ILL). Furthermore there is considerable effort and money being spent on instrument upgrades here at the ILL, and elsewhere, which depend on McStas giving reliable results (as it has - up till now - seemed to do). It is therefore extremely important that McStas users can depend on their simulations. We have been using McStas for the last year or so to model the design of our new supermirror polarisers and analysers on D7, and we are getting very near the stage where final design decisions will have to be taken. I have to say that in the current climate - and following the unfortunate bouncing emails - I am very unwilling to base the final design on our McStas simulations. This is a great shame - as we have worked quite hard on these simulations. In conclusion: please try and sort these problems out. And bear in mind that more is riding on your efforts than just personal pride. Yours with best wishes Ross Stewart -------------- next part -------------- An HTML attachment was scrubbed... URL: From per-olof.aastrand at risoe.dk Thu Nov 1 08:51:01 2001 From: per-olof.aastrand at risoe.dk (Per-Olof =?iso-8859-1?Q?=C5strand?=) Date: Thu, 01 Nov 2001 08:51:01 +0100 Subject: McStas email list Message-ID: <3BE0FEE5.2062E903@risoe.dk> Dear McStas user, The McStas user list will be closed until these disagreements have been sorted out. mcstas at risoe.dk can be used for contacting the McStas administrators. Best regards, Per-Olof ?strand -- Per-Olof ?strand Dept. of Chemistry, University of Copenhagen and Materials Research Department, Ris? National Laboratory per-olof.aastrand at theory.ki.ku.dk or per-olof.aastrand at risoe.dk http://theochem.ki.ku.dk/~peo/