[mcstas-users] Elliptic_guide_gravity.comp

Peter Link Peter.Link at frm2.tum.de
Thu Oct 17 16:10:46 CEST 2019


Dear all,

I'm just doing some tests with this component in preparation of 
parabolic and elliptic guides. I wonder whether somebody else has 
observed the strange behaviour I got just now. Attached is a simple test 
instr setup. I saw an asymetric intensity distribution in y even with 
gravity "off". Doing a "trace" (see y-z panel attached) I saw that the 
rays are deflected vs -y at the entrance of the first parabola / ellipse.

A first glimpse into the code didn't tell me too much, where this could 
happen, but as far as I believe it shouldn't.

Any help is welcome.

Best regards,

Peter


-- 
Dr. Peter Link
Leiter Neutronenoptik
Technische Universität München
Heinz Maier-Leibnitz Zentrum (MLZ)

Lichtenbergstr. 1
85747 Garching

Tel.: +49 (0)89 289 14622
Fax: +49 (0) 89 289 11694

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman2.mcstas.org/pipermail/mcstas-users/attachments/20191017/dea38dc5/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dnigpdeecifnocgh.png
Type: image/png
Size: 4339 bytes
Desc: not available
URL: <http://mailman2.mcstas.org/pipermail/mcstas-users/attachments/20191017/dea38dc5/attachment.png>
-------------- next part --------------
DEFINE INSTRUMENT TEST_parabeln( 
        Lam=8.0,         // nominal wavelength
        dLam=0.015,      // wavelength spread
        eta=0.6,         // source divergence
        sourcesize=0.05, // source size (m)
        samplesize=0.05, // sample area (m)
        focuslength_in=0.1,  // distance from incoming guide to focus (m)
        focuslength_out=0.1,  // distance from focus to outgoing guide (m)
        L_in=5.0,             // length of incoming guide (m)
        L_out=5.0             // length of outgoing guide (m)
        )

/* testing a set of two parabolic guides; P. Link; OCT 2019 
 * input parameters : 
 */ 


DECLARE
%{
 double MINLam,MAXLam, LLmin, LLmax;
 double sourcedist;
%}


INITIALIZE
%{
  MINLam = Lam - dLam;
  MAXLam = Lam + dLam;
  LLmin = MINLam;
  LLmax = MAXLam;
  sourcedist = sourcesize/tan(DEG2RAD*eta);
%}
TRACE
/************************************************/
COMPONENT a1 = Progress_bar()
  AT (0,0,0) ABSOLUTE

/* @ source position */
COMPONENT PRIMBEAM = Source_gen ( xwidth = sourcesize, yheight = sourcesize, dist = sourcedist, focus_xw = sourcesize, 
                                  focus_yh = sourcesize, I1 = 1e10, lambda0 = Lam, dlambda = dLam)
  AT (0,0,0) RELATIVE a1
/* square area source; sourcedist defines the divergence tan eta = sourcesize / dist 
*/

COMPONENT LAM_source = L_monitor(xmin=-sourcesize/2.0, xmax=sourcesize/2.0, ymin=-sourcesize/2.0, ymax=sourcesize/2.0,
                                        nL=20, filename="LAM_treff.L",
                                        Lmin=MINLam, Lmax=MAXLam)
  AT (0,0,sourcedist) RELATIVE PREVIOUS
  ROTATED (0,0,0)  RELATIVE PREVIOUS

COMPONENT PSD_source = PSD_monitor(xwidth=sourcesize*1.5, yheight=sourcesize*1.5,
                         nx=50, ny=50, filename="PSD_source.psd",restore_neutron=1)
  AT (0,0,0.0001) RELATIVE PREVIOUS
  ROTATED (0,0,0) RELATIVE PREVIOUS

COMPONENT Parabola_in = Elliptic_guide_gravity(
     	      l=L_in,linxw=1e6,linyh=1e6,loutxw=focuslength_in,loutyh=focuslength_in, // values larger than 1e8 may cause erroneous results
	          xwidth=sourcesize,yheight=sourcesize,
	          R0 = 0.99,Qc=0.0219,alpha=6.07,m=8.0,W=0.003,
	          dimensionsAt = "entrance")
    AT (0, 0,0.0001) RELATIVE PREVIOUS
    ROTATED (0,0,0) RELATIVE PREVIOUS



COMPONENT PSD_focal = PSD_monitor(xwidth=sourcesize, yheight=sourcesize,
                                          nx=100, ny=100, filename="PSD_focal.psd")
  AT (0,0,focuslength_in+L_in) RELATIVE PREVIOUS
  ROTATED (0,0,0) RELATIVE PREVIOUS

COMPONENT Parabola_out = Elliptic_guide_gravity(
     	      l=L_out,linxw=focuslength_out,linyh=focuslength_out,loutxw=1e6,loutyh=1e6, // values larger than 1e8 may cause erroneous results
	          xwidth=samplesize,yheight=samplesize,
	          R0 = 0.99,Qc=0.0219,alpha=6.07,m=8.0,W=0.003,
	          dimensionsAt = "exit")
    AT (0, 0,focuslength_out) RELATIVE PREVIOUS
    ROTATED (0,0,0) RELATIVE PREVIOUS


COMPONENT PSD_sample = PSD_monitor(xwidth=samplesize*2.0, yheight=samplesize*2.0,
                         nx=50, ny=50, filename="PSD_sample.psd",restore_neutron=1)
  AT (0,0,L_out) RELATIVE PREVIOUS
  ROTATED (0,0,0) RELATIVE PREVIOUS
  
END


More information about the mcstas-users mailing list