[neutron-mc] Source_Adapt problem
Aaron M. Percival
percival at physics.queensu.ca
Wed Feb 14 15:28:34 CET 2007
Thanks for your reply Peter.
Taking your suggestion, I will attempt to modify the Source_Apapt component
to emit a flat 'start-out' distribution in wavelength rather than in energy.
For my purposes, this is what I need.
Regards,
Aaron
-----Original Message-----
From: neutron-mc-bounces at risoe.dk [mailto:neutron-mc-bounces at risoe.dk] On
Behalf Of Willendrup, Peter Kjær
Sent: Wednesday, February 14, 2007 9:13 AM
To: McStas users list at neutron.risoe.dk
Subject: Re: [neutron-mc] Source_Adapt problem
Hello Aaron,
On 2/12/07 5:23 PM, "Aaron M. Percival" <percival at physics.queensu.ca> wrote:
> I have a question concerning the Source_Adapt component and its energy
> (or
> wavelength) distribution. My simplified understanding is that this
> component initially emits a uniform energy (or wavelength)
> distribution, then throughout a simulation adapts this distribution to
> increase counts in the adapt_check component. However, I am having a
> problem getting an initial uniform distribution in wavelength, in
> fact, it seems as though the distribution models some sort of
> exponential decay between E0 -dE and E0 + dE.
The Source_adapt component allows you to specify a flat 'start out'
distribution in energy, defined by E0 and dE, it does not have a set of
similar handles to specify a flat wavelength distribution. As the
relationship between energy and the (de-Broglie) wavelength of the neutron
is not linear, you will never get a flat distribution in wavelength by
specifying one in energy.
> In order to test this, I did two things. I first set up a simulation
> where no adaptation in energy was required by creating a simple
> instrument with a Source_Adapt, two slits, a collimator and an
> adapt_check, I've attached a file showing the wavelength distribution from
an L_monitor placed
> right after the source (pos1_plot.jpg). I then added a powder sample to
> the previous instrument and moved the adapt_check behind it, but set
> beta =
> 1 on the source_adapt (to force the component to distribute all
> neutrons uniformly among all bins, i.e. no adaptation). The
> wavelength distribution seen from the source is in pos2_plot.jpg and it
the same as the previous.
As I understand the written meaning of the 'beta' parameter, it defines the
fraction of neutrons to emit uniformly, hence _not_ to adapt using
Adapt_check. This in effect means that setting beta=1 is equivalent to not
having an Adapt_check component at all. I might be missing something here,
but it does occur to me that your to test cases are in fact the same
situation?
> What would like is for the Source_adapt to initially give a uniform
> distribution, much like the Source_Simple component. Is this possible
with
> my current parameters for E0 and dE?
I guess that the easiest way to achieve that would be to write your own
component inspired from the existing Source_adapt, sampling uniformly in
wavelength instead of energy.
To summarize the behaviour of Source_adapt etc, I have written a small
example instrument (test.instr) which I attach that might explain things
slightly better. It has two input parameters, Beta is a handle to control
the 'beta' value of the Source_adapt, and CHECK is used in a WHEN statement
to control if the Adapt_check component is active. There is a powder sample
in there as in your case, which should let neutron distributions 'converge'
to a single value of energy/wavelength.
I have also attached graphical output from 4 simulation runs with
A) Beta = 1, CHECK = 0 (No Adapt_check and only 'uniform neutrons')
B) Beta = 1, CHECK = 1 (Adapt_check and only 'uniform neutrons')
C) Beta = 0, CHECK = 0 (No Adapt_check and no 'uniform neutrons')
D) Beta = 0, CHECK = 1 (Adapt_check and no 'uniform neutrons')
The graphics from cases A->C are identical, only when using a low Beta (zero
is ofcourse quite extreme) the incoming energy and wavelength distributions
are affected.
Hope this helps,
Peter
More information about the mcstas-users
mailing list