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

Enable initialisation and estimation of optional spatio-temperal coupling parameters to gaussian profile #307

Open
wants to merge 230 commits into
base: development
Choose a base branch
from

Conversation

huixingjian
Copy link

@huixingjian huixingjian commented Oct 15, 2024

PR Description

This PR, synergized with PR #182, introduces the initialization and estimation of first-order spatio-temporal coupling parameters in the GaussianLongitudinalProfile class. Four additional parameters have been added to the constructor:

  • Group-delay dispersion phi2 in $s^2$ parameterized by: $\phi^{(2)} = \frac{dt}{d\omega}$,
  • Spatio-chirp zeta in $m \cdot s$ parameterized by: $\zeta = \frac{dx_0}{d\omega}$(Here $x_0$ is the beam center position),
  • Angular dispersion beta in $s$ parameterized by: $\beta = \frac{d\theta_0}{d\omega}$( Here $\theta_0$ is the propagation angle of this component.)
  • Finally stc_theta is the direction of transverse spatio-coupling in xoy plane

Issue addressed

With the introduction of spatio-temporal coupling (STC), the LongitudinalProfile class can leverage additional information from the transverse profile. Along with the aforementioned parameters, the waist and focus length are also incorporated into the constructor. The transverse points x and y have been set to default values of 0 in the evaluate member function.

In the laser utilities, a new function, get_STC, has been added to evaluate the STC parameters using the following formulas, with the laser envelope expressed as $a = a_0 e^{i\theta}$:

  • The temporal chirp is calculated through
    $\Phi^{(2)} = \frac{4\phi^{(2)}}{4(\phi^{(2)})^2+\tau^4}$
    Here $\tau$ is duration in s, and phi2 refers to group-delay dispersion $\phi^{(2)} $, and $\Phi^{(2)}$ can be calculated by $\frac{\partial^2 \theta }{\partial t ^2}$.
  • Similarly, the spatial chirp is tested through:
    $\nu = \frac{4\zeta }{w_0^2\tau^2+4\zeta^2}$
    Here $L_0$ and $w_0$ are the laser duration and laser waist respectively. $\zeta = \frac{dr_0}{d\omega}$, where $r_0$ is the transverse beam centroid ($\theta$ is the stc_thetamentioned above).
  • Finally, the angular chirp term is tested through:
    $\beta = \frac{p}{ k_0}|_{\phi^{(2)}=0,\zeta=0}$
    with $p$ refering to the pulse front tilt $p = \frac{dt}{dr}$

Benefits

First order STC is enabled on both the initialisation and evaluation sides.

Test

The initialisation and the utils test of zeta and phi2 are tested through CI test test_STC.py

Important note

Currently the angular dispersion diagnostics of beta using get_STC only returns correct value when there's no spatio-temporal chirp, namely zeta and phi2 are 0.

@huixingjian huixingjian marked this pull request as ready for review October 30, 2024 11:42
@huixingjian huixingjian changed the title [WIP]Enable initialisation and estimation of optional spatio-temperal coupling parameters to gaussian profile Enable initialisation and estimation of optional spatio-temperal coupling parameters to gaussian profile Oct 30, 2024
@huixingjian huixingjian marked this pull request as draft November 1, 2024 08:42
@huixingjian huixingjian marked this pull request as ready for review November 5, 2024 12:02
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.

1 participant