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

Polynomial Spectral Phase element #263

Merged
merged 25 commits into from
Jul 31, 2024

Conversation

soerenjalas
Copy link
Contributor

@soerenjalas soerenjalas commented Jul 16, 2024

Merge #261 first!

This PR adds an optical element that allows to add spectral phase parametrized through the Taylor series coefficients GDD, TOD, and FOD.

Description edited by @RemiLehe:

I added two automated test:

  • When adding GDD to a Gaussian, the pulse broadens and acquires a chirp (which, in the envelope representation, corresponds to variations of the real and imaginary parts). This can be predicted analytically:
Screenshot 2024-07-25 at 2 50 44 AM
  • When adding TOD>0 to a Gaussian, it creates post-pulses, for which the amplitude can be predicted analytically, using the stationary phase approximation:
Screenshot 2024-07-25 at 3 17 35 AM

@RemiLehe
Copy link
Member

Closes #223

@RemiLehe
Copy link
Member

Thanks for this PR.
Could you add automated tests? For instance,

  • When applying GDD to a Gaussian pulse, the envelope should still be a Gaussian pulse, but with a longer duration. The increased duration can be calculated analytically (see e.g. the FBPIC Gaussian profile), which can then be tested in an automated test.
  • When applying TOD to a pulse, I think that the scaling of the amplitude of the post-pulses can be roughly predicted analytically ; we could discuss this further.

Copy link
Contributor

@MaxThevenet MaxThevenet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks for this PR! See comments below.

lasy/optical_elements/optical_element.py Outdated Show resolved Hide resolved
lasy/optical_elements/polynomial_spectral_phase.py Outdated Show resolved Hide resolved
@RemiLehe
Copy link
Member

Thanks for catching these typos @MaxThevenet!
I just updated the PR accordingly.

@MaxThevenet MaxThevenet merged commit 891e7bf into LASY-org:development Jul 31, 2024
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants