[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