-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
Description
Currently Beam has it's minimum width at Z = 0. However, I came across a problem where a focused beam was injected into the plasma, having a minimum width in the region of the central plasma. Since it seems natural that Z=0 in the beam coordinates corresponds to the entry point of the beam into the plasma, I suggest adding the focal_length property, which defaults to 0.
This will change how the beam width is calculated. Instead of this:
sigma0_sqr = self._beam.get_sigma()**2
sigma_x = sqrt(sigma0_sqr + (z * self._tanxdiv)**2)
sigma_y = sqrt(sigma0_sqr + (z * self._tanydiv)**2)we'll have this:
sigmaf_sqr = self._beam.get_sigma()**2 # sigma at beam focus
z_to_focal = z - self._beam.get_focal_length()
sigma_x = sqrt(sigmaf_sqr + (z_to_focal * self._tanxdiv)**2)
sigma_y = sqrt(sigmaf_sqr + (z_to_focal * self._tanydiv)**2)This change also affects the _generate_geometry() method.
I already have this implemented in the fork, so I can make a PR with this feature and the the changes discussed in #414.
@Mateasek, @jacklovell, what do you think of this feature?