kklmn / xrt

Package xrt (XRayTracer) is a python software library for ray tracing and wave propagation in x-ray regime. It is primarily meant for modeling synchrotron sources, beamlines and beamline elements.
MIT License
83 stars 30 forks source link

simulation of VLS #162

Open gpeng628 opened 10 months ago

gpeng628 commented 10 months ago

hi I want to similate flat focal field grating spectrometer . Can xrt simulate a concave VLS ? In the xrtqook , it seems only can simulate a planar VLS.

yxrmz commented 10 months ago

Take a look at this example with spherical grating. Notice how gratingDensity is defined. You will have to provide coefficients for the line spacing. If you want realistic efficiencies, take waveGrating example, use the VLSLamiarGrating class, export efficiencies to a file, and feed it to the grating material as efficiencyFile.

gpeng628 commented 10 months ago

I have set the grating and source parameters, how do I judge that the focal plane is planar rather than concave by xrtGlow or XYCPlot ?

yxrmz commented 10 months ago

Plot the mirror local beam in Y vs Z coordinates (Y - along the beam, Z - height profile). It will look like a thin line, either straight or curved.

gpeng628 commented 10 months ago

Why? Could you explain it in a nutshell.

yxrmz commented 10 months ago

In local coordinates of the OE: Y is along the beam, X - across, Z - normal to the surface. If you look at the plane from the side (YZ) you will see just a thin line For an illuminated part of a sphere, ok, it will be a curved line with finite thickness, depending on the beam shape When modeling the grating in ray tracing mode we do not consider hills and valleys or any kind of the grating micro-structure, but rather use the grating equation to determine the direction of reflection. This micro-structure is carefully emulated in wave propagation, where we do require correct phases to calculate the diffraction integral.

kklmn commented 10 months ago

@yxrmz I think the last question was about visualizing the focus, not the optic.

@gpeng628 We can do wave front reconstruction to analyze its curvature, see an example for 1D cuts of the wave front at around the focal position, but this is only possible for wave propagation, not ray tracing, and wave propagation is much slower than ray tracing and is not feasible in xrtGlow.

While wave propagation is doable in xrt in general, I don't see why you want it in your case. Why not just analyzing focal spot size in ray tracing?