[neutron-mc] McStas Polarisation details

Dalgliesh, RM (Robert) R.M.Dalgliesh at rl.ac.uk
Fri Aug 19 12:54:06 CEST 2005


Peter,
Thanks for this. This is all component based. I've not even considered thinking about magnetic fields and things like flippers. That has the potential to be very nasty. I simply wanted to do some checks for polarising components and look at the effects of absorbing layers, divergence and beamline configuration to start with.
I'll do some thorough checking and attempt to generalise the components as best I can. 
Currently I've implemented a function to approximate the polarisation of the two spin states but I may well speak to Stuart Ansell about making use of input files and some interpolation as this is potentially much more flexible.

All the best

Rob

-----Original Message-----
From: neutron-mc-bounces at risoe.dk [mailto:neutron-mc-bounces at risoe.dk] On Behalf Of Peter Willendrup
Sent: 19 August 2005 10:19
To: McStas users list at neutron.risoe.dk
Subject: Re: [neutron-mc] McStas Polarisation details

Hi Robert,

On Fri, 2005-08-19 at 10:02 +0100, Dalgliesh, RM (Robert) wrote:
> I've succesfully implemented polarising supermirrors, channeled guides 
> and detectors using mcstas-1.8 over the past few days in a simple way 
> but am now reaching the more technical details. I can rotate a 
> component such as a single mirror through 90° but for the polarisation 
> part of the calculation of the reflectivity the mirror needs to know 
> what direction it is pointing in. The method of rotating the 
> coordinate frame of the mirror doesn't allow me to know where things 
> are pointing. Is there a way within mcstas to access the rotation 
> matrix that has been applied to a component within that component.

This is indeed great news! We will be very happy to include your work in the project in some way if you agree to do so? Are the changes you've made related to components only or do you reach into runtime / language features aswell?

Yes, a feature like the one you need does exist, have a look in e.g. 
Source_flux_lambda.comp - the key is the rotation matrix ROT_A_CURRENT_COMP - in this source component used to define rectangular focusing (rectangular focusing is always gravitation-parallel in mcstas). Also, have a look at the mcstas-r.h and mcstas-r.c in the share part of the lib/ section, definition of the rotation axes etc. should be stated in there. 

If I can help in some other way, please let me know.

Good work,

Peter

--
Peter Willendrup <peter at willendrup.org>

_______________________________________________
neutron-mc mailing list
neutron-mc at risoe.dk
http://neutron.risoe.dk/mailman/listinfo/neutron-mc




More information about the mcstas-users mailing list