From c9e80239518db5667d340054adb21e599b62494a Mon Sep 17 00:00:00 2001
From: Blaise Thompson <blaise@untzag.com>
Date: Sat, 14 Apr 2018 13:38:51 -0500
Subject: 2018-04-14 13:38

---
 opa/chapter.tex | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 63 insertions(+), 7 deletions(-)

(limited to 'opa/chapter.tex')

diff --git a/opa/chapter.tex b/opa/chapter.tex
index 89d4d5d..3d163e2 100644
--- a/opa/chapter.tex
+++ b/opa/chapter.tex
@@ -26,10 +26,10 @@ OPA tuning range into the visible, near-infrared, and mid-infrared.  %
 OPAs are very sensitive to changes in upstream lasers and lab conditions, so OPA tuning is
 regularly required.  %
 Manual OPA tuning can easily take a full day. %
-Furthermore, manual tuning typically results in inferior tuning curves, since it is difficult to
-consider all available information simultaneously.  %
-Automated OPA tuning makes OPA upkeep easier, faster and more reproducible, facilitating frequency
-domain experiments. %
+Furthermore, manual tuning typically results in inferior tuning curves, since it is difficult for
+humans to consider all available information simultaneously.  %
+Automated OPA tuning makes OPA upkeep easier, faster and more reproducible, facilitating higher
+throughput, higher quality frequency domain experiments. %
 The major challenges in automated OPA tuning are:
 \begin{enumerate}
   \item Expensive to take high resoltion data.
@@ -42,10 +42,57 @@ curves.  %
 While I have strategies for all four kinds of OPAs used in the Wright Group, I focus on the
 femtosecond TOPAS-C models because they are by far the most challenging model to calibrate.  %
 
-\clearpage
+\section{Curves} \label{opa:sec:curves}  % ========================================================
+
+OPA tuning curves are the functional correspondence between desired output color and motor
+positions.  %
+In theory, these could be recorded as analytical functions derived in an \textit{ab initio} way
+from known phase matching and dispersion relations.  %
+In practice, ideal tuning curves are determined empirically by simply monitoring OPA output at a
+series of given motor combinations.  %
+This practice of seeing how OPA output depends on motor positions is called ``tuning'' the OPA.  %
+
+I have defined a Python class \python{Curve} which acts as a interface to OPA tuning curves.  %
+Within the class, a series of discrete OPA output colors (``setpoints'') are defined, and the motor
+positions are defined for each setpoint.  %
+Since it is important that OPAs be settable to \emph{any} position within their output range, a
+one-dimensional interpolator is used to determine the correct motor positions for \emph{any} valid
+color.  %
+There are three kinds of interpolators, linear, spline and polynomial.  %
+The particular interpolator used depends on the model of OPA and the complexity of its tuning
+curve.  %
+The method \python{Curve.get_motor_positions} abstracts away this complexity, simply returning a
+list of motor positions for the desired color(s).  %
+
+OPAs often use multiple ``stages'' of interaction to create the desired output.  %
+For example, an OPA might generate signal and idler in a first stage, then send that signal on to
+be doubled in a second ``second harmonic signal'' (SHS) stage.  %
+Depending on the experiment being performed, different stages of the OPA will be used.  %
+One could approach this complexity by simply creating an entirely separate curve for each
+combination of stages, but this would result in the same information being duplicated in many
+different curves.  %
+Instead, I have chosen to use a nested approach that directly reflects the approach that the
+hardware uses.  %
+Curve objects can have ``subcurves'' which define the behavior of the proceeding stage.  %
+In the example above, the parent curve would control the second harmonic signal stage.  %
+For each SHS position, the parent would define a desired signal color for the first stage to
+create.  %
+This is passed to the subcurve, which defines the motor positions needed in the first stage to
+achieve optimal conversion at the desired \emph{signal} color.  %
+In this way, each stage can be tuned separately and the tuning of an upstream stage is immediately
+propagated to all downstream stages.  %
+
+% BJT: consider putting an example curve figure
+
 \section{TOPAS-C}  % ==============================================================================
 
-[INTRODUCTION TO THE TOPAS-C]
+The TOPAS-C is a popular commercially available motorized OPA.  %
+It consists of a large initial stage where signal and idler are generated, and a series of optional
+mixing stages where further up- or down-conversion can occur to widen the total range of output
+frequencies.  %
+\autoref{opa:fig:ranges} shows all of the possible output ranges of the TOPAS.  %
+It ranges from the mid infrared (accessible through difference frequency generation) to the
+ultraviolet (accessible through multiple second harmonic upconversion).  %
 
 % TODO: introduction to the internal design of the OPA
 
@@ -54,7 +101,16 @@ femtosecond TOPAS-C models because they are by far the most challenging model to
   \caption{
     CAPTION TODO
   }
-  \label{opa:fig:preamp}
+  \label{opa:fig:ranges}
+\end{figure}
+
+\begin{figure}
+  \includegraphics[width=\textwidth]{opa/TOPAS-C}
+  \caption[TOPAS-C internal optics and beam path.]{
+    TOPAS-C internal optics and beam path.  %
+    Image taken from manual, originally generated by Light Conversion [CITE].  %
+  }
+  \label{opa:fig:TOPAS-C}
 \end{figure}
 
 \begin{figure}
-- 
cgit v1.2.3

