radiasoft / rslaser

Integrated modeling of CPA crystal-based laser amplifiers
Apache License 2.0
1 stars 1 forks source link

modify LaserPulse initialization to conform with a z-based philosophy #66

Open bnash opened 1 year ago

bnash commented 1 year ago

In the Sirepo App, one can plot the total Intensity and Phase for a laser pulse. This only makes sense in the context of a wavefront sensor measurement where each wavefront has propagated to the same position and the resultant electric field added together. Thus, one should first apply the wavefront sensor, implemented here

The wavefront sensor should be be tested, and the total phase and intensity computed from the result.

bnash commented 1 year ago

Total phase is calculated using
p = lp.extract_total_2d_phase() which can be found here.

And total intensity is computed with t = lp.extract_total_2d_elec_fields() total_intensity=0.5 const.c const.epsilon_0 *(t.re2.0 + t.im2.0) which is found here

(via P. Moeller)

bruhwiler commented 1 year ago

Based on our conversation today, the main difference from what we're doing now will involve the laser pulse initialization. Whether initializing from a WFS data file or from the paraxial equation, the LaserPulse constructor needs to be changed.