aboutsummaryrefslogtreecommitdiff
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)