GPU speed gain

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

Ideas to speed up the simulations

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

How to try OSCAR for free in your web browser (without installation) ?

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

How to record the transmitted and reflected power while scanning the cavity ?

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

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