DarkF is an optical simulation code in FORTRAN 90 able to represent with a high accuracy any kind of stable cavity, even when many static or dynamical defects are present, like misalignments, curvature errors, surface irregularities, substrate inhomogeneities. It uses a plane wave decomposition to propagate the wavefronts. Beams and mirrors are sampled on a grid of coordinates (x; y) and the DarkF resolution is depending on the grid size and on the sampling rate (typically a size of 0.6m (larger than a mirror) and a sampling rate of 256*256). With the Fourier transform method, it is easy to obtain a propagated beam and we can use this code to simulate a simple or a complex system as a Fabry Perot cavity or Advanced detector, like Advanced Virgo, Advanced LIGO or Kagra. It can include reflection and transmission maps from measurements or real mirrors, like those made at LMA (Lyon).
The algorithm used by DarkF is presented in “A high accuracy method for the simulation of non-ideal optical Cavities” by Jean-Yves VINET, Patrice HELLO, Catherine N. MAN, and Alain BRILLET, J. Phys. I France 2 (1992) 1287-1303
The DarkF code is developped by Mikhaël PICHOT in the Virgo Group of the Artemis laboratory. Its recent users’guide provides all needed informations about input and output files and options for any user.
Here below, two examples of DarkF output files.
The DarkF package can be donwloaded from https://sourceforge.net/projects/darkf/