An optical FFT code to simulate Fabry Perot cavities with arbitrary mirror profiles
Updated 11 Nov 2022

View License

OSCAR is an optical FFT code used to calculate the steady state optical field circulating in Fabry-Perot cavities. The code can integrate non-sperical mirrors and any arbitrary input fields. Recent applications for OSCAR have been: calculation of thermal lensing effect, calculation of diffraction loss or cavity eigen modes for mesa beams.
One great advantage of OSCAR is the simplicity and flexibility of the code, everyone with only minimal knowledge of Matlab can easily modified OSCAR code to suit specific purposes.

Cite As

Degallaix, Jérôme. “OSCAR: A MATLAB Based Package to Simulate Realistic Optical Cavities.” SoftwareX, vol. 12, Elsevier BV, July 2020, p. 100587, doi:10.1016/j.softx.2020.100587.

View more styles

Degallaix, Jérôme. “OSCAR a Matlab Based Optical FFT Code.” Journal of Physics: Conference Series, vol. 228, IOP Publishing, May 2010, p. 012021, doi:10.1088/1742-6596/228/1/012021.

View more styles
MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Atomic, Molecular & Optical in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!










Version Published Release Notes

- Major update with name changes of functions to be consistent
- Possibility to calculate on GPU for speed improvement
- Option for automatically have an optimal mode matching for
the input beam
- Bugs fixes

- New cavity simulations: linear ring cavity
- create virtual maps from 1D PSD
- new options for several functions based on user application
- bug fixes

Update to keep OSCAR compatible with the newest versions of Matlab.
New functions and examples also available

Implementation of the Zernike polynomials
Small improvement to some functions and a handful of bug fixes

New functions and bug fixes

It includes now the function to read the .dat from the ZYGO interferometer.
New functions (plot PSD, expand into higher order modes) and the usual bug fixes

An accelerated convergence scheme has been implemented as well as the possibility to use strong focusing telescope.
Additional minor improvement to existing functions

Bug fixes

Can use a more reliable to propagate the beam and add a new routine to calculate cavity eigen modes.

Can simulate linear cavity with arbitraty number of mirrors. New syntax to define laser beam and Interfaces. Minor bug correction.

The code has been fully rewritten (with Oriented Object Programming) to be faster and more user friendly.
Higher order optical modes are supported.

Example to reduce the computational time of OSCAR, better memory allocation of matrices and correct a sign error

Add an example about how to simulate a 3 mirrors ring cavity (also called a mode cleaner).

New version, add an example how to create sidebands and derive a Pound Drever Hall locking signal.