Atomic Density Matrix TutorialMore About »

Linear Absorption Fitting

The density of an atomic vapor can be determined by measuring the absorption of weak resonant light. In this example we use the LinearAbsorption function from the AtomicDensityMatrix package along with values from the AtomicData database to construct a fitting function for linear absorption on an alkali D-line. Fitting a linear absorption spectrum with this function allows the atomic density to be extracted.
This loads the package.
In[1]:=
Click for copyable input
Choose a transition. The names of the upper and lower states are taken from a database.
In[2]:=
Click for copyable input
Out[2]=
Get all of the necessary atomic parameters from the database.
In[3]:=
Click for copyable input
Out[3]=
In[4]:=
Click for copyable input
Out[4]=
Construct a list of all of the sublevels of the atomic system.
In[5]:=
Click for copyable input
Out[5]//TableForm=
We define the Doppler width as the magnitude of the Doppler shift corresponding to the most probable speed in the Maxwell velocity distribution.
Doppler width in units at 293 Kelvin.
In[6]:=
Click for copyable input
Out[6]=
LinearAbsorption[sys, , D, P] finds the absorption by system sys with Doppler width D and pressure broadening P for weak light of frequency . The value returned is the fractional absorption per unit atomic density and optical path length.
Find linear absorption by this system for light with detuning from resonance, assuming pressure broadening by 100 MHz.
In[7]:=
Click for copyable input
Out[7]=
The line shape of each resonance is given in terms of the (pressure-broadened) natural line width and the Doppler width D by the Voigt profile, which is a convolution of a Lorentzian and a Gaussian profile.
Voigt gives the Voigt profile.
In[8]:=
Click for copyable input
Out[8]=
Here is the full width at half maximum (FWHM) of the Lorentzian profile, which we can show by solving for the FWHM in the special case of D=0.
In[9]:=
Click for copyable input
Out[9]=
Out[9]=
Solving for the FWHM in the special case of =0, we find the FWHM for the Gaussian profile in terms of the Doppler width D.
In[10]:=
Click for copyable input
Out[10]=
Out[10]=
For atomic vapors with multiple species (e.g., the vapor from a sample with multiple isotopes in natural abundance), we can calculate absorption due to each species and add the absorption formulas together. For the case of natural abundance, we can multiply the term for each isotope by the relative abundance.
Abundance gives the relative abundance of a state, taken from the AtomicData database.
In[11]:=
Click for copyable input
Out[11]=
To speed up computations, create an interpolating function from the absorption. The minimum and maximum limits here may need to be adjusted.
In[12]:=
Click for copyable input
Out[12]=
Plot the interpolating function.
In[13]:=
Click for copyable input
Out[13]=
To find transmission for a possibly optically thick medium, take Exp[n length abs], where n is atomic density and length is the optical path length through the vapor cell. The length could be set to the correct value in centimeters here. Or it can be left at 1, in which case we will extract density times path length in cm-2 from the fit, rather than density in cm-3.
We also include four more parameters that allow shifting and scaling the x and y axes so that the data can be fit: a shifts the x axis, b stretches the x axis, c scales the y axis, and d produces a background slope.
Create the transmission function.
In[14]:=
Click for copyable input
Out[14]=
Here we make some fake data for testing.
In[15]:=
Click for copyable input
Plot the data.
In[16]:=
Click for copyable input
Out[16]=
To fit the data we can use the PlotAndFit function, which makes it somewhat more convenient to adjust the fit starting parameters by hand prior to fitting. If DoFit->False is chosen, the fitting function is plotted using the initial values. This allows the initial values to be adjusted by hand until they are close enough to the true values for the fitting routine to work properly. The shift parameter a is particularly important to get fairly close.
Fit the data.
If the length parameter was set to the correct value above, then the fitted value for n is the atomic density in cm-3.
The GUIPlotAndFit version of the function brings up a dialog that provides a little more interactivity.
In[18]:=
Click for copyable input
Out[18]=
Note that, when obtaining the absorption data, it is very important that the signal voltage goes to zero when the light is completely blocked. Otherwise the background offset will throw off the density results. Also, if the light power is too high, the absorption will not be in the linear regime, which will also skew the results.