[mcstas-users] split neutron into component
Kim Lefmann
lefmann at nbi.ku.dk
Fri May 12 18:53:44 CEST 2017
Hi Santiago,
The short answer is that SPLIT is meant to function at the instrument
level, e.g. for users that will not need to worry about programming
components themselves.
To make a SPLIT inside a component, much more bookkeeping is needed, in
particular for the fractional rays that would emerge in the middle of a
component, and this has only been imagined and never implemented (Peter
may correct me here if some test fragments exist?).
However, most of the computational work done by the simulation at
(almost) any given point in the instrument lies in all the rays that
were lost earlier in the simulation, e.g. in the guide system, the
slits, the monochromator, and so on. Therefore, in most cases not much
actual running time would be gained by an in-component SPLIT compared to
the existing instrument-level SPLIT. This analysis is roughly what lies
behind the fact that the in-component SPLIT has never been implemented.
best, Kim
On 05/12/2017 06:31 PM, Santiago Gómez wrote:
> Hello
>
> I would like to split a neutron inside component.
>
> As far I see it is possible to split a neutron that reaches a specific
> component using the SPLIT macro before the component declaration in
> the instrument file, but it cannot be used inside de component.
>
> I would prefer to split the neutron inside my component because if I
> do the SPLIT outside, a series of calculations already done be my
> components will be redundant (I would say more than 50% of all the
> calculation of the component).
>
> The idea of the split is to do a variance reduction which optimizes
> the time, so for my component will be much more better to do that
> inside the component code.
>
> Is it possible to performs it? I think that a similar issue is the
> possibility to have more than one source component in a single
> instrument file.
>
> Best regards
>
More information about the mcstas-users
mailing list