radiasoft / rslaser

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

Fix LCT oversampling #47

Closed bnash closed 1 year ago

bnash commented 1 year ago

For short propagation lengths with a drift or Gaussian duct matrix, the LCT should increase the number of sample points or range by very little. The current implementation does not meet these criteria.

bnash commented 1 year ago

An initial observation is that the sampling will increase depending on the value of l_scale. For a Gaussian beam, in order to transform into a square in normalized coordinates in Wigner space, one should set l_scale = sqrt(π) w_0, with w_0 the beam width at the waist. We need to do more studies, but this choice for l_scale may resolve the issue.

bruhwiler commented 1 year ago

The guidance provided here is working well. It would be nice if the mesh didn't grow at all, but that is not a priority.

I've reduced the priority of this issue from 1 to 2. We should consider closing this issue.

bnash commented 1 year ago

A point to note, in discussion with @dtabell, is that if we are to automate the calcuation of l_scale, using the above prescription, it should belong to the pulse object, and not the crystal object.

bnash commented 1 year ago

Another observation: resampling in LCT should preserve the parity of the number of points, so that we don't run afoul of the restriction that N may not be even (relating to different conventions between SRW and LCT definitions of abscissae).

bruhwiler commented 1 year ago

Stop work on this issue.