The method is very similar to the transverse shift of a laser beam on the grid presented in this post. In this case, we will rather shift the aperture which is defined by the variable I.mask inside one instance I of the class Interface. Example:

In this post, we will see a comparison of the same calculation running on the CPU and GPU. The time taken by the simulations depends of course on your CPU and GPU, so the numbers presented here are not absolute. First example, calculation of the steady state high finesse cavity. Grid size Calculation time on […]

FFT simulations could take times. The first idea to speed up would be to buy a new and powerful computer and hoping that Moore’s law will continue forever. The second idea would be to decrease the accuracy, a number which determines when we estimate that we have converged to the steady state field. It could […]

Yes, it is now possible thanks to Matlab Online. First, you would need a Mathworks account, you may have one if you already have a Matlab license. Then go to the OSCAR Gitlab page and at the bottom of the readme file, you will find a button named Open in MATLAB Online: It should open […]

For the next version of OSCAR, every object will be automatically defined with corresponding ABCD matrix, for example: the initial beam, an interface or even a cavity. The advantage of the ABCD matrix is to propose very quick calculations to validate a design (or confirm we have entered the right parameters). For example, with an […]

To scan the cavity and display quickly the circulating power, there are 2 dedicated functions optimised for speed and convenience:C1 = Cavity_Scan(C1);Display_Scan(C1); However one may want to also record the reflected power. One way to do that would be to scan the cavity manually setting a different round trip phase for each iteration. Concretely, once […]

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 […]

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 […]

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 […]

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 […]