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/