Hi-PACE / hipace

Highly efficient Plasma Accelerator Emulation, quasistatic particle-in-cell code
https://hipace.readthedocs.io
Other
51 stars 14 forks source link

Enable to initialize spatial/temperal/angular chirped laser + CI test #1136

Open huixingjian opened 1 month ago

huixingjian commented 1 month ago

This PR adds three new optional parameters: temporal chirp <laser name>.phi2 , spatial chirp <laser name>.zeta, angular chirp<laser name>.beta, to initialise spatio-temporal coupling based on gaussian lasers (see docstring in this PR). All of them are set to be conform to the definition in [Akturk, 2004].

The parameters could be tested through followingformula, with laser envelope expressed as $a=a_0e^{i\theta}$: $\Phi^{(2)} = \frac{4\phi^{(2)}}{4(\phi^{(2)})^2+\tau^4}$ Here $\tau$ is duration in s, and laser.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 c}{w_0^2L_0^2(1+4\zeta^2L_0^2)}$ Here $L_0$ and $w0$ are the laser duration and laser waist respectively in m_. And $\zeta$ is laser.zeta, and $\nu = \frac{\partial^2 \theta }{\partial z \partial y} $

Finally, the angular chirp term is tested through:

$\beta = \frac{p}{ k0} |{\phi^{(2)} = 0, \zeta = 0}

Here $k_0$ is laser wavenumber and $p$ is the Pulse front tilt.

This PR also added on one CI test to check the correctness of these initial parameters