Picongpu: Higher order Laguerre mode

Created on 10 Dec 2020  路  7Comments  路  Source: ComputationalRadiationPhysics/picongpu

Hi,

I am setting up the laser profile with higher-order Laguerre mode. In laser.param there is an example for MODENUMBER = 12:

PMACC_CONST_VECTOR(float_X, MODENUMBER + 1,
LAGUERREMODES, -1.0, 0.0300519, 0.319461,
-0.23783, 0.0954839, 0.0318653, -0.144547, 
0.0249208, -0.111989, 0.0434385, -0.030038,
-0.00896321, -0.0160788)

My question is that what are those numbers after the LAGUERREMODES? I cannot find in the documentation mentioning this. How should we get the number for other mode? Thanks.

user input question

All 7 comments

@StevE-Ong This parameter vector allows you the use a laser pulse with higher transversal modes according to the Laguerre-Gauss mode description. Only radial symmetric modes are currently enabled (l=0 wikipedia notation, m=0 Sigman's Laser notation (see page 647 and 689)). See #3366 for more options.

The vector values give the strength of each mode. They can be given in any values as long as the relations between the modes fit your measurement since the code normalizes the vector internally.

@PrometheusPi Thank you for your reply. So to my understanding, those numbers are a kind of amplification factor in order to match the laser transverse profile, say from the experiments?

for example the lowest order

static constexpr uint32_t MODENUMBER = 0;
PMACC_CONST_VECTOR(float_X, MODENUMBER + 1, LAGUERREMODES, 1.0)

It can be (float_X, MODENUMBER + 1, LAGUERREMODES, 1.05) when we see a slight difference from the measured profile?

Yes, these higher modes are there to fit experimental lasers into the simulation.

No, there is no difference (at least there should be none) if you have only one mode. both 1.0 and 1.05 should produce the same laser in simulation.
However, if your transversal laser profile has higher modes, including these higher modes, say e.g. you have a first order mode (a ring) around your zeros order mode (Gauss profile in the center) you can give the relative intensity ratio of these by the numbers - e.g. if both modes are equally strong:

static constexpr uint32_t MODENUMBER = 1;
PMACC_CONST_VECTOR(float_X, MODENUMBER + 1, LAGUERREMODES, 1.0, 1.0)

or equivalently, but more "readable":

static constexpr uint32_t MODENUMBER = 1;
PMACC_CONST_VECTOR(float_X, MODENUMBER + 1, LAGUERREMODES, 0.5, 0.5)

@BeyondEspresso please correct me if my statement on internal normalization is not true.

Hi,
Trying different vector values by running full pic takes quite some time. So, I was trying to write a script to plot and estimate the Laguerre-Gaussian beam with different vector values, kind of a pre-pic setting. The Laguerre-Gaussian mode here is up to the second orders only. I hope I fully understand the one implemented in picongpu. Please feel free to correct me if you found something wrong.

https://github.com/StevE-Ong/Laguerre-Gaussian.git

Laguerre_Gaussian_mode2
The inner circle is the FWHM spot diameter and the outer circle is at its 1/e^2

@StevE-Ong With only a brief look at your code, this looks correct. You are missing the normalization, but this should be not that significant.
However from the plot you provide with LAGUERREMODES = np.array([-1.0,0.31,-0.2]) deviations from the purely-Gaussian profile are hardly visible from your plot. For testing I would recommend:

LAGUERREMODES = np.array([1.,0.,0.])
LAGUERREMODES = np.array([0.,1.,0.])
LAGUERREMODES = np.array([0.,0.,1.])
# and a mixture of the above

Really nice tool by the way. :+1:

@PrometheusPi Hi, by looking only at the shape for those three modes and their mixture seem OK.

LAGUERREMODES = np.array([1.,0.,0.])
Laguerre_Gaussian_mode21

LAGUERREMODES = np.array([0.,1.,0.])
Laguerre_Gaussian_mode22

LAGUERREMODES = np.array([0.,0.,1.])
Laguerre_Gaussian_mode23

LAGUERREMODES = np.array([1.,1.,1.])
Laguerre_Gaussian_mode24

Looks good to me (I was a bit surprised that the center always remains, but I just forgot that the generalize Laguerre polynomials equal 1 at 0 not 0.)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

berceanu picture berceanu  路  4Comments

PrometheusPi picture PrometheusPi  路  3Comments

cbontoiu picture cbontoiu  路  3Comments

mikewang2000 picture mikewang2000  路  3Comments

berceanu picture berceanu  路  3Comments