How to add astigmatic surfaces ?

The first way in OSCAR would be to use the function Add_Astigmatism(), it will add to the surface (object of class Interface) a Zernike polynomial of order 2,0 whose amplitude is given as a parameter. That is not always practical, as astigmatism is usually given as difference of radii of curvature. For large Radii of […]

How to shift transversely a beam ?

By default, in the simulation, the beam is always defined at the center of the grid. After the definition of a beam, it is possible to shift it by simply offsetting the whole complex field. The offset will be an integer number of pixels to avoid any interpolation. Example: Be sure to have a large […]

Display the waist and position of the waist while fitting a TEM00

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: We can now choose to display the waist of the beam: A negative waist position indicates the beam is focusing and so as we propagate the beam will be […]

Display accumulated Gouy Phase

Intrinsically in FFT code, the Gouy phase is automatically calculated. For design purpose, we would like to calculate the accumulated Gouy phase as the beam propagates. The function attached calculates the Gouy phase of a TEM00 beam for a propagation length defined by the user. The principle behind it is to calculate the phase of […]