Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optical Element "Screen" #111

Open
CFGrote opened this issue Mar 29, 2017 · 5 comments
Open

Optical Element "Screen" #111

CFGrote opened this issue Mar 29, 2017 · 5 comments

Comments

@CFGrote
Copy link
Collaborator

CFGrote commented Mar 29, 2017

This is a suggestion for adding an optical element that acts like a screen. It can be used to dump the wavefront at the screen's position to a file. In this way, we could trace the the WF as it propagates through
the beamline more easily. Right now, to achieve this, I have to comment the later parts of the beamline, propagate, save, then uncomment the next element, run and save again etc. By inserting screens at interesting points in the beamline, this becomes more flexible and user friendly.
By default, it should dump the entire WF (no resize, clipping, resampling etc.), such that a dumped WF could be used to restart the propagation from that point. A default filename could be taken from the distance from the source.

Or maybe this exists already and I'm just too blind to see it ;)

@samoylv
Copy link
Owner

samoylv commented Mar 29, 2017 via email

@CFGrote
Copy link
Collaborator Author

CFGrote commented Mar 29, 2017

hm. what about the optical_elements.Empty class? it's almost what i want, except for dumping the WF.

@samoylv
Copy link
Owner

samoylv commented Mar 29, 2017

we should ask about Empty propagator implementation details @buzmakov , but I am pretty sure, that the Empty can be only the last one element there, and it is special hacking in SRW library to cope

@CFGrote
Copy link
Collaborator Author

CFGrote commented Mar 29, 2017 via email

@CFGrote
Copy link
Collaborator Author

CFGrote commented Mar 29, 2017

#112
implemented stepwise propagation in propagate_s2e in prop module. in test case, the final step gives the same result as propagate():

Stepwise propagation:
stepwise

One-go propagation:
reference

@CFGrote CFGrote mentioned this issue Mar 29, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants