Authors: Hunter Rew (hbrew@email.wm.edu), Eugeniy Mikhailov (eemikh@wm.edu) Description: This program is a set of scripts for simulating and plotting atom-light configurations which produce electromagnetically induced transparency. Dependencies: xmds2 and all of its dependencies, including the optional dependency numpy, Octave Usage: Set simulation parameters in config.m Open Octave in the eit_filter_simulations directory Run config: # config Run simulate: # simulate Data files are stored by default in the data directory. The naming convention is: (ground state decay)_(drive intensity)_(1-photon detuning)_(ground state dephasing).h5 Data loading and plotting examples: Plot 2-photon detuning vs absorption for a particular simulation: # [detunings2, absorptions] = getSimulation('data/data_file_name.h5'); # figure; # plotSimulation(detunings2, absorptions); Plot width and transmission contrast vs drive intensity for given parameters: # [drives, widths, min_absorptions, contrasts] = getSimulations('ground state decay', '1-photon detuning', 'ground state dephasing'); note: you only need to specify these values to the decimal place that the file names change. if you have: 0.001000_(drive)_1.000000_0.005000.h5 0.001000_(drive)_2.000000_0.010000.h5 0.001000_(drive)_2.000000_0.000000.h5 0.000100_(drive)_1.000000_0.000000.h5 and you want all data with: ground state decay = 0.001, 1-photon detuning = 2, ground state dephasing = 0 you would call: # getSimulations('0.0010', '2', '0.000') # figure; # plotSimulations(drives, widths, contrasts); Plot width and absorption vs drive intensity for given parameters: Same as above except for the last line. # plotSimulations(drives, widths, min_absorptions)