brownjm / laser-propagation

Simulation for propagating ultrashort laser pulses in freespace or in a gas-filled capillary
GNU General Public License v3.0
14 stars 7 forks source link

Is there the higher-order dispersion #4

Closed hfdihfd closed 2 years ago

hfdihfd commented 2 years ago

Excuse me. I have another question, may I consult you? In the laser-gaussian, I understand that a propagation-generated GVD is directly artificially defined, as written in Chapter 3 of Agrawal's book, rather than by solving the differential equation. So it seems that there is no effect of higher-order dispersion. I don't know if there is something wrong with my understanding?

brownjm commented 2 years ago

Your question isn't clear to me. I'm not sure what you mean by "in the laser-gaussian". Exactly which part of the code are you referencing? The specification of the initial laser pulse, or how the propagation equations handle higher order dispersion?

I can say that UPPE, the propagation model, calculates the linear part of propagation exactly. There are no approximations to how dispersion affects the linear portion of the pulse since the entire index of refraction curve is utilized during propagation. For calculating nonlinear self-focusing, the Kerr-effect Chi^3 is handled using the nonlinear Kerr coefficient n_2.

hfdihfd commented 2 years ago

Thanks very much for your reply. I mean that this part of the program src-laser-gaussian seems to use the form of a Gaussian beam after transmission over the z distance, because it uses a new chirp C and pulse duration derived with only GVD.

double T = tau * std::sqrt(std::pow(1+chirp*z/zds, 2) + std::pow(z/zds, 2));
double eff_chirp = chirp + (1 + std::pow(chirp, 2)) * z/zds;
double phi = std::atan(((1 + std::pow(chirp, 2)) * z + chirp) / zds);

I don't quite understand why it is set like this. After all, we usually solve the pulse propagation equation, don't we just need to set an initial pulse? I'm sorry I may have wasted your time.

brownjm commented 2 years ago

Hi, You are misunderstanding the point of the Gaussian initial condition equation. The parameters that you list above are only used to approximate the initial condition for a Gaussian laser pulse that contains an initial chirp. The class for Gaussian laser pulses is only creating the initial spatio-temporal electric field distribution whose values will be placed into a radially symmetric grid, and subsequently propagated. The inclusion of chirp in the initial condition (in the manner I used) is a very good approximation in most cases and a standard approach in the field: see equations 160 & 161 in https://link.springer.com/article/10.1140/epjst/e2011-01503-3. The Propagator class (based-off UPPE) still performs the full carrier-resolved, nonlinear propagation simulation by solving a large system of ordinary differential equations using a spectral method (section 3.2 from the PDF linked to above).

hfdihfd commented 2 years ago

Thank you very much for your reply, I think I have understood more

hfdihfd commented 2 years ago

Sorry, I have a little doubt I want to confirm with you, if modes=1 in the [capillary], can it be considered as a one-dimensional situation?

brownjm commented 2 years ago

No, this variable is the number of capillary modes (whether the simulation is single or multi-mode). The number of modes is the number of Bessel modes that are allowed to propagate in the capillary in spectral space. The variable Nr is the number of radial points in real space. Since you have many questions, I would prefer that you email me for help instead of opening GitHub issues. Issues on GitHub are primarily used for feature requests or for bug fixes.