======== Tutorial ======== How to Use SpinDrops -------------------- A typical approach to see the spin dynamics of a pulse sequence: #. Select a spin system and its parameters (offset frequencies and coupling constants). #. Choose the initial state of the spin system (e.g. z magnetization of spin I1). #. Pick a pulse sequence (e.g. a 90° pulse followed by a delay). #. Run the pulse sequence by touching the play icon ( ► ) to see the resulting time evolution in the DROPS display. The following tutorial provides a more detailed tour. The Start Screen ---------------- .. drops:: I1z :nspin: 3 :width: 99% :align: right :sequence: Standard/PulDel100msec :class: border :caption: Default SpinDrops Screen |html_clear| - The :ref:`menu bar ` is in the upper left. - The :term:`DROPS` display is the 3D drawing in the center of the screen. - The simulation :ref:`control panel ` is at the bottom of the screen. - The pulse sequence (experiment) appears above the control panel with an indicator of the current simulation time. Selecting a Spin System Layout ------------------------------ By default, the menu option :menuselection:`Spin System --> 3-Spin Triangle` is selected. It is the most general layout for systems involving up to three coupled spins. However, particularly for applications involving only a single spin, two spins, or a three spin chain with no coupling between the first and the third spin, the display can be simplified by selecting one of the options :menuselection:`1-Spin`, :menuselection:`2-Spin`, or :menuselection:`3-Spin Chain`. +-------------------------+---------------------------+ |`1-Spin` |`2-Spin` | | | | |:drop:`/2 I1z` |:drop:`/2 I1z+I2z` | +-------------------------+---------------------------+ |`3-Spin Chain` |`3-Spin Triangle` | | | | |:drop:`/2.doc3c |:drop:`/2 I1z+I2z+I3z` | |I1z+I2z+I3z` | | +-------------------------+---------------------------+ Setting Spin System Parameters ------------------------------ The spin system parameters (offset frequencies ν and J couplings) can be inspected and modified in a control panel that can be opened in the menu :menuselection:`Spin System --> Parameters`. The editor can be seen in :numref:`fig_tutorial_sysp`. The offset frequencies ν1, ν2, ν3 and the coupling constants J12, J13, J23 can be set using the sliders. The default range for these parameters is ± 2 Hz. This ensures that the spin dynamics are fluent for typical frame rates of mobile devices. The sliders adjust these values in steps of 0.1 Hz. This makes it easier to set a slider e.g. to a value of exactly 0 Hz. It is also possible to manually enter arbitrary parameter values in the text box above the respective slider. .. _fig_tutorial_sysp: .. drops:: I1z :nspin: 3 :sequence: Standard/FreeEvo1sec :window: SysParamWindow :caption: The Spin System Parameter Edit Window Selecting the Initial State --------------------------- The initial state of the spin system is defined by choosing one of the options from the :menuselection:`Initial State` menu. The default initial state is :pton:`I1z`: z magnetization of the first spin. In addition, the following commonly used initial states can be chosen: - :menuselection:`I1x` :pton:`I1x`: x magnetization of the first spin, - :menuselection:`I1(+)` :pton:`I1p` = :pton:`I1x + i I1y`, - Total z magnetization (in the case of a three-spin system: :menuselection:`I1z + I2z + I3z` , ie :pton:`I1z+I2z+I3z`). - :menuselection:`MQ (x/y ops.)` is a sub-menu with a selection of multiple-quantum operators with quantum order :math:`±p` based on real combinations of Cartesian product operators. - :menuselection:`MQ (+/- ops.)` is a sub-menu with a selection of multiple-quantum operators with a unique quantum order :math:`p` based on raising and lowering operators. - :menuselection:`Singlet(12)` The traceless part :pton:`(I1xI2x+I1yI2y+I1zI2z)` of the singlet state involving the first and second spin. - :menuselection:`Pure States` is a sub-menu with a few pure state operators. - :menuselection:`Initial State --> Graphical Edit...` - :menuselection:`Initial State --> Textual Edit...` These options open editors that allow you to change the initial density operator and to define any desired operator (see the following pages). Multiple-Quantum Operators ========================== The following options are available under the menu selection :menuselection:`Initial State --> MQ (x/y ops.)` - :menuselection:`0Q(I1,I2)`: Zero-quantum operators involving the first and second spin. - :menuselection:`0Qx(I1,I2)`, x component of the zero-quantum operator involving spins I1 and I2: :pton:`I1xI2x + I1yI2y` - :menuselection:`0Qy(I1,I2)`, y-component of the zero-quantum operator involving spins I1 and I2: :pton:`I1yI2x - I1xI2y` - :menuselection:`0Q(I1,I2,I3)` Zero-quantum operators involving three spins. - :menuselection:`1Q(I1)` ± 1-quantum coherence of the first spin (:pton:`I1x`, :pton:`I1y`) - :menuselection:`1Q(I1,I2)` and :menuselection:`1Q(I1,I2,I3)`: ± 1-quantum operators of two and three spins, respectively. - :menuselection:`2Q(I1,I2)` and :menuselection:`2Q(I1,I2,I3)`: ± 2-quantum operators. - :menuselection:`3Q(I1,I2,I3)`: ±3-quantum operators involving three spins. .. note:: In order to see how the current operator is defined in terms of Cartesian product operators, select :menuselection:`View --> List Prod. Ops...`. To inspect the initial Density Operator, make sure the time slider is set to 0. Defined Coherence Order Using :math:`I^+` and :math:`I^-` Operators =================================================================== The following options are available under the menu selection :menuselection:`Initial State --> MQ (+/- ops.)` - :menuselection:`0Q(I1,I2)` Zero-quantum operators involving the first and second spin. - :menuselection:`I1(+)*I2(−)` zero-quantum operator :pton:`I1pI2m` involving spins I1 and I2. - :menuselection:`I1(−)*I2(+)` zero-quantum operator :pton:`I1mI2p` involving spins I1 and I2. - :menuselection:`0Q(I1,I2,I3)` Zero-quantum operators involving three spins. - :menuselection:`1Q(I1)` +1 or −1-quantum coherence of the first spin (:pton:`I1p`, :pton:`I1m`) - :menuselection:`1Q(I1,I2)` and :menuselection:`1Q(I1,I2,I3)`: +1 or −1-quantum operators of two and three spins, respectively. - :menuselection:`2Q(I1,I2)` and :menuselection:`2Q(I1,I2,I3)` +2 or −2-quantum operators. - :menuselection:`3Q(I1,I2,I3)` ±3-quantum operators. |html_clear| |latex_clear| Shorthand Notation for Cartesian Product Operators -------------------------------------------------- .. _fig_tutorial_snfcpo: .. drops:: :align: right :width: 50% :view: Cq80 :aspect: 65% :window: OperatorEditWindow :caption: The Initial State Editor 0.5*Id+I1z+I2x+I3y+2I1xI2z+2I1zI3y+2I2zI3z+4I1xI2yI3z Selecting the menu :menuselection:`Initial State --> Graphical Edit...` opens the graphical Initial State editor. As seen under the column labeled :guilabel:`Terms`, the following shorthand notation is used for :term:`Cartesian product operators`: eee = 1/2 :term:`E`, zee = :pton:`I1z`, exe = :pton:`I2x`, eey = :pton:`I3y`, xze = :pton:`2I1xI2z`, zey = :pton:`2I1zI3y`, ezz = :pton:`2I2zI3z`, xyz = :pton:`4I1xI2yI3z` Here, the letters “x”, “y” and “z" represent the individual Cartesian spin operators :pton:`I_x`, :pton:`I_y` and :pton:`I_z` and the position of each letter indicates the spin it is associated with. The letter “e” represents the identity operator for a given spin. The standard prefactors are absorbed in this shorthand notation (“1/2” for the identity operator E, “1” for linear operators, “2” for bilinear terms, and “4” for trilinear terms). In order to emphasize the spin operators :pton:`I_x`, :pton:`I_y` and :pton:`I_z`, the letters “x”, “y” and “z" are displayed on a dark gray background, whereas the terms “e” are displayed with a light gray background in the list displayed on the right. |html_clear| |latex_clear| The Graphical Operator Editor ============================= The initial state of the spin system can be defined in the input panel :menuselection:`Initial State --> Graphical Edit...`. .. _fig_tutorial_goe: .. drops:: I1z :nspin: 3 :sequence: Standard/FreeEvo1sec :window: OperatorEditWindow :caption: The Graphical Initial State Editor Window The example in :numref:`fig_tutorial_goe` shows the input panel when opened with a current initial state of :pton:`I1z` (i.e. :guilabel:`zee` in the boxes). The editor window is split into four parts, the top half is edit controls, and the bottom half is the list of the product operator's terms. In the upper left quadrant of the input panel, Cartesian product operator components can be selected using the buttons :guilabel:`x`, :guilabel:`y`, :guilabel:`z`, and :guilabel:`e`. The buttons appear in columns labeled :guilabel:`I1`, :guilabel:`I2`, and :guilabel:`I3` corresponding to the first, second and third spin, respectively. The complex prefactor of the term currently being edited (:math:`(1 + i·0)` in :numref:`fig_tutorial_goe`) is shown in the display window at the top right. By default, the prefactors are displayed in the form :math:`a + i·b`, where :math:`a` and :math:`b` are the real and imaginary parts, respectively. Alternatively, the complex prefactors can be defined in terms of the radial part :math:`r` and the phase :math:`φ=n·π` by clicking the button :guilabel:`r·exp(n·iπ)`. For example, :pton:`I1z` can be changed to :pton:`I1x` by selecting :guilabel:`x` in the first column. Notice that the corresponding droplet in the DROPS display will instantly reflect this change. The product operator terms of the initial density operator are listed in the the bottom part of the panel. In the example shown in :numref:`fig_tutorial_goe`, the initial state consists only of the term :guilabel:`xee`. The real and imaginary parts of the corresponding prefactor are 1 and 0, respectively, i.e. the first term is simply :pton:`I1x`. Additional terms can be added by touching the button :guilabel:`Add Term`. By default, this creates the new term :math:`(1 + i·0)·` :guilabel:`eee` (short-hand notation for 1/2 the identity operator). In order to define the initial operator :pton:`I1p = I1x + i I1y`, change the second term from :guilabel:`eee` to :guilabel:`yee`, and its prefactor from :math:`(1 + i·0)` to :math:`(0 + i·1)`. In order to change the prefactor :math:`(1 + i·0)` to :math:`(0 + i·1)`, select the :guilabel:`a + i·b` mode, clear the real part :guilabel:`a` using the :guilabel:`C` button, activate the imaginary part by touching the :guilabel:`b` button and press :guilabel:`1`. (Alternatively, you could activate the :guilabel:`r·exp(n·iπ)` mode and set :guilabel:`n` to 0.5). .. drops:: I1x + i*I1y :nspin: 1 :sequence: Standard/FreeEvo1sec :window: OperatorEditWindow :caption: Initial State :pton:`I1p = I1x + i*I1y` Now the initial density operator is set to :pton:`I1x + i I1y`, with the first product operator term :math:`(1 + i·0)·` :guilabel:`xee` and the second term :math:`(0 + i·1)·` :guilabel:`yee`. In the list of operator terms displayed in the bottom part of the window, you can activate and modify any desired term by a double tap. The real and imaginary parts of the prefactor of the activated term are highlighted by a white font on a dark gray background. The Cartesian product operator components and the prefactor of the activated term can be edited using the input panel. To remove the activated term, touch the :guilabel:`Delete` button. For example, to change the operator :pton:`I1x + i I1y` defined on the previous page to :pton:`-I1z + i I1y`, double tap the first term. This activates the first term and displays its current prefactor and product operator components in the input panel. Touch :guilabel:`I1 : z`, followed by :guilabel:`+/-` to change the first term from :pton:`I1x` to :pton:`-I1z`. Selecting a Pulse Sequence -------------------------- The initial state of the spin system is manipulated by a pulse sequence, which can be selected from the :menuselection:`Pulse Sequence` menu. The current pulse sequence is displayed graphically at the bottom of the screen. In addition, you can display a listing of the pulse sequence elements (pulses, delays, isotropic mixing) by selecting :menuselection:`Pulse Sequence --> Edit Sequence...` or by double clicking on the displayed pulse sequence. The default pulse sequence :menuselection:`(90°-T)` consists of a 90°y pulse followed by a free evolution period T having a duration of 100 milliseconds. Basic Pulse Sequences ===================== The following basic pulse sequences are available under the :menuselection:`Pulse Sequence` menu. :menuselection:`Pulse Sequence --> Rotation` - :menuselection:`90° Pulse` A 90° pulse with a desired phase (x, y, −x, or −y) can be chosen. - :menuselection:`180° Pulse` A 90° pulse with a desired phase (x, y, −x, or −y) can be chosen. - :menuselection:`z Rotation` Here, z rotations of various angles can be chosen. These are obviously not directly realizable in an actual NMR experiment. :menuselection:`Pulse Sequence --> Delay T` - :menuselection:`T=100 ms` corresponding to a fixed delay of 1 second) - :menuselection:`T=1 s` corresponding to a fixed delay of 1 second) - :menuselection:`T=1/(2*J12)` defines the duration of the delay in terms of the coupling constant J12 between the first and the second spin. :menuselection:`Pulse Sequence --> 90°-T-180°-T` This has a number of sequences consisting of an echo sequence of a 90°y pulse (yellow) followed by a free evolution period T, a 180°x pulse (red), and a second period T: - :menuselection:`Echo T=1 s` An echo sequence with two 1 second delays during which the spin can dephase and rephase. - :menuselection:`Echo T=1/(4*J12)` An echo sequence with a delay adjusted according to the current spin system's J12 coupling time. This particular delay (:math:`1/(4*J12)`) minimizes the magnetization remaining on the initial spin in a two-spin system. :menuselection:`Pulse Sequence --> Sequence List` In this menu, entries of a list of :ref:`homonuclear ` and :ref:`heteronuclear ` pulse sequences can be selected. :menuselection:`Pulse Sequence --> Phase Cycling` This menu contains a number of :ref:`sequences to demonstrate Phase Cycling`. :menuselection:`Pulse Sequence --> Tutorials` For convenience, pulse sequences for various tutorials, such as the `Phase Cycling` tutorial available in the :ref:`download section ` can be found here. :menuselection:`Pulse Sequence --> User Sequences` This is where sequences created and saved by the user can be selected. .. note:: See :doc:`color_code` for the color code used in SpinDrops to represent pulse phases. Homonuclear Pulse Sequences =========================== :menuselection:`Pulse Sequence --> Sequence List --> Homonuclear` has the following sequences: :menuselection:`Nonsel. INEPT12` For :math:`J12≠0` and :math:`J13=J23=0`, this sequence of total duration :math:`1/(2 \cdot J12)` transfers :pton:`I1z` (i.e. z magnetization of the first spin) completely to antiphase coherence :pton:`-2I1zI2y`. :menuselection:`0Q and 2Q Exc.` For :math:`J12≠0` and :math:`J13=J23=0`, this sequence of duration :math:`1/(2 \cdot J12)` transfers :pton:`I1z` (i.e. z magnetization of the first spin) completely to :pton:`2I1yI2x` (which is a mixture of 0- and ±2-quantum coherence). :menuselection:`Isotropic Mix. 12` This sequence consists of a period of selective isotropic mixing (of the first and the second spin) with a duration :math:`1/(2 \cdot J12)`, which transfers polarization :pton:`I1z` via the zero-quantum term (:pton:`I1xI2y - I1yI2x`) to polarization :pton:`I2z`. :menuselection:`Iso-12-23-31` This sequence demonstrates a “round trip” polarization transfer of :pton:`I1z` to :pton:`I2z`, to :pton:`I3z`, and back to :pton:`I1z` using an I1-I2-selective isotropic mixing period of duration :math:`1/(2 \cdot J12)`, followed by an I2-I3-selective isotropic mixing period of duration :math:`1/(2 \cdot J23)` and a final I1-I3-selective isotropic mixing period of duration :math:`1/(2 \cdot J13)`. Heteronuclear Pulse Sequences ============================= :menuselection:`Pulse Sequence --> Sequence List --> Heteronuclear` offers the following heteronuclear pulse sequences: :menuselection:`INEPT12` If :math:`J12≠0`, this sequence transfers :pton:`I1z` completely to antiphase coherence :pton:`2I1zI2x`, even if :math:`J13≠0` and :math:`J23≠0`. :menuselection:`INEPT13` If :math:`J13≠0`, this sequence transfers :pton:`I1z` completely to antiphase coherence :pton:`2I1zI3x`, even if :math:`J12≠0` and :math:`J23≠0`. :menuselection:`Ref. INEPT12` If :math:`J12≠0`, this refocused INEPT sequence transfers :pton:`I1z` completely to :pton:`I2x`, even if :math:`J13≠0` and :math:`J23≠0`. :menuselection:`Ref. INEPT13` If :math:`J13≠0`, this refocused INEPT sequence transfers :pton:`I1z` completely to :pton:`I3x`, even if :math:`J12≠0` and :math:`J23≠0`. :menuselection:`z1 -> zzz` If :math:`J12≠0` and :math:`J23≠0`, this sequence transfers :pton:`I1z` completely to :pton:`4I1zI2zI3z`. :menuselection:`DEPT-45`, :menuselection:`DEPT-90`, :menuselection:`DEPT-270` see :ref:`Example 5: Spectral Editing` for a detailed discussion of the DEPT sequences. Phase Cycling Pulse Sequences ============================= .. todo:: describe phase cycling demo pulse sequences Tutorial Pulse Sequences ======================== .. todo:: describe tutorial pulse sequences New Sequence ============ Additional homonuclear or heteronuclear pulse sequences not contained in the list of predefined sequences can be created using the sequence editing tools, which are described in more detail in :doc:`table_editor`. To create a new sequence, select an existing sequence of the type you want to create (either Heteronuclear or Homonuclear), and save it with a new name. This new sequence will appear in the menus under :menuselection:`Pulse Sequences --> User Sequences`. With the sequence editing tools described in :doc:`table_editor` it is possible to modify existing pulse sequences. To edit a given pulse sequence simply double-tap the graphical pulse sequence display, or select the menu item :menuselection:`Pulse Sequence --> Edit Sequence...`. Within the editor, sequence elements can be modified, copied, pasted, dragged, deleted and created. Controlling the Simulation -------------------------- .. drops:: I1z :nspin: 3 :time: 0.460 :aspect: 170% :sequence: Standard/PulDel1sec :event: id:play_btn,e:CLICK The buttons below the pulse sequence interactively control the simulation of the spin dynamics: |icon_stop| Stop and return to the beginning of the pulse sequence |icon_play| / |icon_pause| Play/Pause |icon_slow| / |icon_fast| Slower/Faster |icon_next| / |icon_back| Skip to the end/beginning of the current pulse or delay |icon_no_repeat| / |icon_repeat| Repeat mode off/Repeat mode on .. |icon_stop| image:: _images/Icon_stop.png :class: menuselection .. |icon_play| image:: _images/Icon_play.png :class: menuselection .. |icon_pause| image:: _images/Icon_pause.png :class: menuselection .. |icon_slow| image:: _images/Icon_slow.png :class: menuselection .. |icon_fast| image:: _images/Icon_fast.png :class: menuselection .. |icon_next| image:: _images/Icon_next.png :class: menuselection .. |icon_back| image:: _images/Icon_back.png :class: menuselection .. |icon_no_repeat| image:: _images/Icon_no_repeat.png :class: menuselection .. |icon_repeat| image:: _images/Icon_repeat.png :class: menuselection When there is enough space on the screen, the current time (here = :guilabel:`0.462 s`) and the total duration of the pulse sequence (here = :guilabel:`1.025 s`) are displayed to the right of the control buttons. When a simulation is running, the acceleration factor (:guilabel:`Time Warp`) is displayed at the left of the control buttons, when there is enough space on the screen. For example, an acceleration factor of :math:`2^{-3}` indicates that the simulation is slowed by a factor of :math:`2^{-3} = 1/{2^3} = 1/8`. Touching the :guilabel:`Slower` or :guilabel:`Faster` button halves or doubles the acceleration factor. Controlling the Simulation Time =============================== The dot and the attached vertical line indicate the current time point of the simulation. As explained in the previous section, the current time point can be controlled using the control buttons at the bottom of the sequence plot. It is also possible to control the time evolution directly by dragging the white dot to the desired position. This allows you to precisely control the speed with which the DROPS display is changed during the pulse sequence. Manipulating the DROPS Display ------------------------------ To view the three-dimensional shapes of the droplets from different perspectives, you can rotate, shift and zoom the DROPS display with one- or two-finger gestures (as illustrated on the following pages). In the desktop versions of SpinDrops, additional :ref:`keyboard commands ` are available to change the viewing position and frame. A double click will restore the default view of the DROPS representation. This "default view" position for the current spin system size can be set by selecting the menu item :menuselection:`Save Default View`. Coordinate System ----------------- .. drops:: I1z :width: 50% :aspect: 200% :align: right :prefs: Show Axes=true; Show Droplet Labels=true In the DROPS display, a coordinate system is usually shown for reference. The axes of the coordinate system are labeled x, y, and z and in addition, the following colors are used to easily distinguish the axes: .. raw:: html .. role:: xred .. role:: xyellow .. role:: xblack :xred:`x axis: Red` :xyellow:`y axis: Yellow` z axis: The current :ref:`Foreground` text color (here it's Black) |html_clear| |latex_clear| Layouts ------- Three-Spin Triangle =================== In the standard DROPS display based on the :ref:`LISA basis`, the location of a droplet indicates the set of involved spins. The following locations are used in the default setting: - Droplets corresponding to product operator terms involving only a single spin operator (:ref:`linear terms `) are located at the corners of a triangle. Each corner is labeled to indicate its spin (I1, I2, or I3) association. - Droplets corresponding to bilinear terms are located on the corresponding edges of the triangle. - Droplets corresponding to trilinear terms are located in the center and above the triangle. - The droplet representing a term which involves no spin operator (i.e. which is proportional to the identity operator) is located below the triangle. An example of the DROPS display, including linear, bilinear and trilinear terms and the identity operator, is shown in (:numref:`fig_tutorial_lbt`). .. _fig_tutorial_lbt: .. drops:: I1xI3y +I2zI3z +I1xI2z +4I1xI2yI3z +I1z +I2x +I3y +0.5*Id :aspect: 180% :align: center :prefs: Show Axes=true;Show Droplet Labels=true;Extra Droplet Labels=true :view: C This table shows a breakdown of all the droplets by their spin-involvement (:ref:`linearity `) classification. +--------------------------------+------------------------------+ |bilinear terms |trilinear terms | | | | |:drop:`/2^p150 |:drop:`/2^Cq80 4I1xI2yI3z` | |I1xI3y+I2zI3z+I1xI2z` | | +--------------------------------+------------------------------+ |linear terms |identity operator | | | | |:drop:`/2 I1z+I2x+I3y` |:drop:`/2#3^C 0.5*Id` | +--------------------------------+------------------------------+ In the standard DROPS display, these terms are shown simultaneously in one figure, as in :numref:`fig_tutorial_allt`. .. _fig_tutorial_allt: .. drops:: I1xI3y +I2zI3z +I1xI2z +4I1xI2yI3z +I1z +I2x +I3y +0.5*Id :width: 90% :view: C :prefs: Show Axes=true Three-Spin Chain ================ For three-spin systems with, the droplets representing linear terms can also be positioned on a line (rather than at the corners of a triangle) by selecting the menu :menuselection:`Spin System --> 3-Spin Chain`. The locations of the bilinear and trilinear terms are schematically indicated in :numref:`fig_tutorial_tsc`. .. _fig_tutorial_tsc: .. drops:: I1z+I2z+I3z + I1xI2x + I2xI3x + I1xI3x :width: 90% :aspect: 180% :align: center :view: p130 :nspin: 3; J13=1; J23=2; J12=1 :prefs: Show Droplet Labels=true; Current Layout=3; Show Axes=true :caption: Three-Spin Chain Layout Two Spins ========= For systems consisting of two spins, the DROPS display can be adapted by selecting :menuselection:`Spin System --> 2-Spin`. The locations of the linear terms and the bilinear term are schematically indicated in :numref:`fig_tutorial_twospins`. .. _fig_tutorial_twospins: .. drops:: I1z + I1xI2x + I2z :width: 90% :aspect: 200% :nspin: 2 :view: p150 :align: center :prefs: Show Droplet Labels=true Two Spins, dissection ===================== +--------------------------------+--------------------------------+ |bilinear terms |identity operator | | | | |:drop:`/2 2I1xI2y` |:drop:`/2#2^C 0.5*Id` | | | | +--------------------------------+--------------------------------+ |linear terms |all terms | | | | |:drop:`/2 I1z+I2x` |:drop:`/2^C | | |I1z+0.5*Id+2I1xI2y+I2x` | +--------------------------------+--------------------------------+ A `Single Spin` =============== For systems consisting of a single spin, the DROPS display can be adapted by selecting :menuselection:`Spin System --> 1-Spin`. When the preference setting :ref:`Show Id Droplet` is enabled, the term proportional to the identity operator is located below the linear term. .. _fig_tutorial_singspin: .. drops:: I1p + 0.5*Id :width: 70% :aspect: 150% :nspin: 1 :align: center :view: C :prefs: Show Droplet Labels=true; Extra Droplet Labels=true; Show Id Droplet=true Separation Types ---------------- The :menuselection:`View --> Separation` menu allows selection of several alternative advanced DROPS display modes beyond the default :ref:`Three-Spin Triangle` DROPS display. In particular, it is possible to partition the compact standard droplets in terms of coherence order :math:`p` and/or rank :math:`j`. Droplet Separation ================== To see the coherence orders and tensor ranks contained in a given state, the standard droplets can be split into sub-droplets according to the following *Separation* options: .. drops:: I1xI2x + I1xI2y + I1xI2z :width: 30% :link: :view: p200 :prefs: Show Droplet Labels=false;Show Axes=false :align: right :caption: - No separation, :ref:`Standard Layout` - No separation, :ref:`Standard Plane` - :ref:`Absolute value of coh. order |p| ` - :ref:`Coherence order p ` - :ref:`Tensor rank j `, - :ref:`Both j and |p| `, - :ref:`Both j and p ` These different separation modes are illustrated in the following sections. |html_clear| |latex_clear| Standard Layout =============== This is the default 3-spin layout, the linear terms are laid out in the x-y plane, the bilinear terms are on the same plane between the linear terms, and the trilinear terms are on a line extending from the center of the triangle "up" along the z-direction; :numref:`fig_tutorial_sl` demonstrates this with a single bilinear droplet along with a number of trilinear terms stacked toward the viewer. This view mode can be selected under the menu :menuselection:`View --> Separation --> Standard`. .. _fig_tutorial_sl: .. drops:: 4I1xI2yI3z + I1xI3y :nspin: 3 :link: True :view: Cq70 :class: border :prefs: Extra Droplet Labels=true; Current Separation=0; Show Id Droplet=false :caption: :pton:`4I1xI2mI3z + I1xI2y` in Standard Layout, No Separation Standard Plane ============== In `Standard Plane` mode, the same droplets are used as in :ref:`Standard Layout` mode, but the droplets -- particularly the trilinear terms -- are moved to a single plane (in preparation for the other separation modes which use the z-direction to indicate coherence order). :numref:`fig_tutorial_sp` shows the same operator as :numref:`fig_tutorial_sl` (:pton:`4I1xI2mI3z + I1xI2y`) using the :menuselection:`View --> Separation --> Standard Plane` mode. .. _fig_tutorial_sp: .. drops:: 4I1xI2yI3z + I1xI3y :nspin: 3 :link: True :view: p130 :class: border :prefs: Extra Droplet Labels=true; Current Separation=1; Show Id Droplet=false :caption: :pton:`4I1xI2mI3z + I1xI2y` in Standard Plane, No Separation .. _sep-p: Separation Based on Coherence Order :math:`p` ============================================= Schematic representation of droplet locations in multiple planes based on :term:`Coherence Order` for a three-spin system. :numref:`fig_tutorial_sep_p` displays labels indicating the coherence order :math:`p` at every droplet location. This view mode can be selected under the menu :menuselection:`View --> Separation --> Coh. Order p`. .. _fig_tutorial_sep_p: .. drops:: I1xI2x + I1xI2y + I1xI2z :nspin: 3 :link: True :view: Cp90 :class: border :prefs: Current Separation=3; Extra Droplet Labels=true; Show Id Droplet=false :caption: Separation by Coherence Order of :pton:`I1xI2x + I1xI2y + I1xI2z`. .. _sep-abs-p: Separation Based on Absolute Value of Coherence Order :math:`|p|` ================================================================= A more compact representation of coherence order :math:`p` separation, limited to the absolute value of coherence orders is shown in :numref:`fig_tutorial_sep_abs_p`. The layout is essentially the same as :numref:`fig_tutorial_sep_p`, but only extends in the positive z-direction. This view mode can be selected under the menu :menuselection:`View --> Separation --> Coh. Order |p|`. .. _fig_tutorial_sep_abs_p: .. drops:: I1xI2x + I1xI2y + I1xI2z :nspin: 3 :link: True :view: Cq70 :class: border :prefs: Current Separation=2; Extra Droplet Labels=true; Show Id Droplet=false :caption: Separation by :math:`|p|` of :pton:`I1xI2x + I1xI2y + I1xI2z`. .. _sep-rank-j: Separation Based on Tensor Rank :math:`j` ========================================= Extending outward from the locations of the droplets in the :ref:`Standard Plane` representation, the display mode shown in :numref:`fig_tutorial_sep_j` separates droplets according to their rank (see details about LISA's :ref:`Tensor Groups for 3-spin system`), adding up to 11 droplets in the x-y plane. This view mode can be selected under the menu :menuselection:`View --> Separation --> Rank j`. .. _fig_tutorial_sep_j: .. drops:: 0.5 * (I2xI3x + I2xI3y + I2xI3z) :nspin: 3 :prefs: Current Layout=4; Current Separation=4; Extra Droplet Labels=true; Show Id Droplet=false :link: True :view: p110 :class: border :caption: Separation by Tensor Rank :math:`j` of :pton:`0.5 * (I2xI3x + I2xI3y + I2xI3z)`. .. _sep-j-abs-p: Separation by :math:`j, |p|` ============================ In the :ref:`j, |p| ` representation, the standard droplets are split and separated based on both rank :math:`j` and the absolute value :math:`|p|` of coherence order. (For more details on the rank of operators, see the section :ref:`Tensor Grouping in the LISA basis`). The coherence orders are limited to the range :math:`0 ≤ |p| ≤ j`. For example, the droplet ":math:`\{1,2\}`”, representing bilinear operators involving spins I1 and I2 contains tensors of rank :math:`j=0` with :math:`|p|=0`, tensors with rank :math:`j=1` with :math:`|p|∈ \{0, 1\}`, and tensors with rank :math:`j=2` with :math:`|p| ∈ \{0,1,2\}`. This view mode can be selected under the menu :menuselection:`View --> Separation --> j, |p|`. .. _fig_tutorial_sep_j_abs_p: .. drops:: I2xI3x + I2xI3y + I2xI3z :nspin: 3 :link: True :view: Cq70 :class: border :prefs: Current Separation=5; Extra Droplet Labels=false; Show Id Droplet=false :caption: Separation by Tensor Rank :math:`j` and Absolute Value of the Coherence Order :math:`|p|` of :pton:`I2xI3x + I2xI3y + I2xI3z`. .. _sep-j-p: Separation type :math:`j, p` ============================ Seen in :numref:`fig_tutorial_sep_j_p` is the most finely-separated view mode, it separates all droplets according to both rank and coherence order. This view mode can be selected under the menu :menuselection:`View --> Separation --> j, p`. .. _fig_tutorial_sep_j_p: .. drops:: I2xI3x + I2xI3y + I2xI3z :nspin: 3 :link: True :view: C :class: border :prefs: Current Separation=6; Extra Droplet Labels=false; Show Id Droplet=false :caption: Separation by Tensor Rank :math:`j` and Coherence Order :math:`p` of :pton:`I2xI3x + I2xI3y + I2xI3z`. Multiple Projects ------------------- It is possible to create multiple projects within SpinDrops. Each project contains an entirely separate simulation and experiment. Saved pulse sequences are available from any project. A project uniquely contains: - the spin system and its parameters, - the simulation parameters, - the default views and separation used in the DROPS display, - the colors for the SpinDrops display, - the initial state, - the pulse sequence. New projects can be created with the :ref:`Save Project As...` menu selection. To switch to a different workspace, select the workspace from under the :ref:`Open Project` menu. Projects can be :ref:`imported ` and :ref:`exported ` from SpinDrops for sharing with other SpinDrops users, or backing up a copy outside of SpinDrops.