It is now possible to display directly the waist and position of the waist once a fundamental Gaussian beam is fitted. Starting with a Gaussian beam:
G1 = Grid(512,0.4);
E_input = E_Field(G1,'w',0.02,'R',-300);
We can now choose to display the waist of the beam:
Fit_TEM00(E_input,'Output','W_P') % the output in the command window will be:
Beam waist [m]: 0.00492386 Position of the waist [m]: -281.817
A negative waist position indicates the beam is focusing and so as we propagate the beam will be reduced in size. It is all possible to display all the parameters:
Fit_TEM00(E_input,'Output','all') % the output is now:
Beam radius [m]: 0.02 Wavefront curvature [m]: -300
Beam waist [m]: 0.00492386 Position of the waist [m]: -281.817
Let’s check that the size and position is correct:
Fit_TEM00(Propagate_E(E_input,281.82)) % and the answer is:
Beam radius [m]: 0.00492386 Wavefront curvature [m]: 1.55193e+06
All good! it is also possible to save values in variables (and suppress the output):
[w,R,w0,Pos] = Fit_TEM00(E_input);
The updated function is available in the git folder, master branch: here.