# Author: Jerome Degallaix

While in OSCAR, the function Add_Astigmatism() can add an extra sagitta distortion with a Zernike polynomial over a certain diameter, it is not always practical. Sometimes, it is simpler to define a surface with two perpendicular radii of curvature R_x and R_Y. The solution described here was given to me by Jean-Yves Vinet (a big […]

Something to try, the official AI for Matlab: website (I expect it must require a free MathWorks account) The generated code is not bad, some explanations are even added. Here for some simple examples, with the prompt on top:

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