.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/1D_simulation(macro_amorphous)/plot_6_extended_czjzek.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_1D_simulation(macro_amorphous)_plot_6_extended_czjzek.py: Extended Czjzek distribution (Shielding and Quadrupolar) ======================================================== In this example, we illustrate the simulation of spectrum originating from an extended Czjzek distribution of traceless symmetric tensors. We show two cases, an extended Czjzek distribution of the shielding and quadrupolar tensor parameters, respectively. .. GENERATED FROM PYTHON SOURCE LINES 12-13 Import the required modules. .. GENERATED FROM PYTHON SOURCE LINES 13-23 .. code-block:: default import numpy as np import matplotlib.pyplot as plt from mrsimulator import Simulator from mrsimulator.method.lib import BlochDecaySpectrum, BlochDecayCTSpectrum from mrsimulator.models import ExtCzjzekDistribution from mrsimulator.utils.collection import single_site_system_generator from mrsimulator.method import SpectralDimension .. GENERATED FROM PYTHON SOURCE LINES 25-33 Symmetric shielding tensor -------------------------- Create the extended Czjzek distribution ''''''''''''''''''''''''''''''''''''''' First, create a distribution of the zeta and eta parameters of the shielding tensors using the :ref:`extended_czjzek_distribution` model as follows, .. GENERATED FROM PYTHON SOURCE LINES 33-41 .. code-block:: default # The range of zeta and eta coordinates over which the distribution is sampled. z_lim = np.arange(100) * 0.4 + 40 # in ppm e_lim = np.arange(21) / 20 dominant = {"zeta": 60, "eta": 0.3} z_dist, e_dist, amp = ExtCzjzekDistribution(dominant, eps=0.14).pdf(pos=[z_lim, e_lim]) .. GENERATED FROM PYTHON SOURCE LINES 42-43 The following is the plot of the extended Czjzek distribution. .. GENERATED FROM PYTHON SOURCE LINES 43-50 .. code-block:: default plt.figure(figsize=(4.25, 3.0)) plt.contourf(z_dist, e_dist, amp, levels=10) plt.xlabel(r"$\zeta$ / ppm") plt.ylabel(r"$\eta$") plt.tight_layout() plt.show() .. image-sg:: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_001.png :alt: plot 6 extended czjzek :srcset: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 51-55 Simulate the spectrum ''''''''''''''''''''' Create the spin systems from the above :math:`\zeta` and :math:`\eta` parameters. .. GENERATED FROM PYTHON SOURCE LINES 55-60 .. code-block:: default systems = single_site_system_generator( isotope="13C", shielding_symmetric={"zeta": z_dist, "eta": e_dist}, abundance=amp ) print(len(systems)) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 837 .. GENERATED FROM PYTHON SOURCE LINES 61-62 Create a simulator object and add the above system. .. GENERATED FROM PYTHON SOURCE LINES 62-67 .. code-block:: default sim = Simulator() sim.spin_systems = systems # add the systems sim.methods = [BlochDecaySpectrum(channels=["13C"])] # add the method sim.run() .. GENERATED FROM PYTHON SOURCE LINES 68-70 The following is the static spectrum arising from a Czjzek distribution of the second-rank traceless shielding tensors. .. GENERATED FROM PYTHON SOURCE LINES 70-76 .. code-block:: default plt.figure(figsize=(4.25, 3.0)) ax = plt.subplot(projection="csdm") ax.plot(sim.methods[0].simulation.real, color="black", linewidth=1) plt.tight_layout() plt.show() .. image-sg:: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_002.png :alt: plot 6 extended czjzek :srcset: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 77-85 Quadrupolar tensor ------------------ Create the extended Czjzek distribution ''''''''''''''''''''''''''''''''''''''' Similarly, you may also create an extended Czjzek distribution of the electric field gradient (EFG) tensor parameters. .. GENERATED FROM PYTHON SOURCE LINES 85-95 .. code-block:: default # The range of Cq and eta coordinates over which the distribution is sampled. cq_lim = np.arange(100) * 0.1 # assumed in MHz e_lim = np.arange(21) / 20 dominant = {"Cq": 6.1, "eta": 0.1} cq_dist, e_dist, amp = ExtCzjzekDistribution(dominant, eps=0.25).pdf( pos=[cq_lim, e_lim] ) .. GENERATED FROM PYTHON SOURCE LINES 96-97 The following is the plot of the extended Czjzek distribution. .. GENERATED FROM PYTHON SOURCE LINES 97-104 .. code-block:: default plt.figure(figsize=(4.25, 3.0)) plt.contourf(cq_dist, e_dist, amp, levels=10) plt.xlabel(r"$C_q$ / MHz") plt.ylabel(r"$\eta$") plt.tight_layout() plt.show() .. image-sg:: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_003.png :alt: plot 6 extended czjzek :srcset: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_003.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 105-109 Simulate the spectrum ''''''''''''''''''''' **Static spectrum** Create the spin systems. .. GENERATED FROM PYTHON SOURCE LINES 109-113 .. code-block:: default systems = single_site_system_generator( isotope="71Ga", quadrupolar={"Cq": cq_dist * 1e6, "eta": e_dist}, abundance=amp ) .. GENERATED FROM PYTHON SOURCE LINES 114-115 Create a simulator object and add the above system. .. GENERATED FROM PYTHON SOURCE LINES 115-126 .. code-block:: default sim = Simulator() sim.spin_systems = systems # add the systems sim.methods = [ BlochDecayCTSpectrum( channels=["71Ga"], magnetic_flux_density=9.4, # in T spectral_dimensions=[SpectralDimension(count=2048, spectral_width=2e5)], ) ] # add the method sim.run() .. GENERATED FROM PYTHON SOURCE LINES 127-129 The following is a static spectrum arising from an extended Czjzek distribution of the second-rank traceless EFG tensors. .. GENERATED FROM PYTHON SOURCE LINES 129-136 .. code-block:: default plt.figure(figsize=(4.25, 3.0)) ax = plt.subplot(projection="csdm") ax.plot(sim.methods[0].simulation.real, color="black", linewidth=1) ax.invert_xaxis() plt.tight_layout() plt.show() .. image-sg:: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_004.png :alt: plot 6 extended czjzek :srcset: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_004.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 137-138 **MAS spectrum** .. GENERATED FROM PYTHON SOURCE LINES 138-151 .. code-block:: default sim.methods = [ BlochDecayCTSpectrum( channels=["71Ga"], magnetic_flux_density=9.4, # in T rotor_frequency=25000, # in Hz spectral_dimensions=[ SpectralDimension(count=2048, spectral_width=2e5, reference_offset=-1e4) ], ) ] # add the method sim.config.number_of_sidebands = 16 sim.run() .. GENERATED FROM PYTHON SOURCE LINES 152-154 The following is the MAS spectrum arising from an extended Czjzek distribution of the second-rank traceless EFG tensors. .. GENERATED FROM PYTHON SOURCE LINES 154-160 .. code-block:: default plt.figure(figsize=(4.25, 3.0)) ax = plt.subplot(projection="csdm") ax.plot(sim.methods[0].simulation.real, color="black", linewidth=1) ax.invert_xaxis() plt.tight_layout() plt.show() .. image-sg:: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_005.png :alt: plot 6 extended czjzek :srcset: /examples/1D_simulation(macro_amorphous)/images/sphx_glr_plot_6_extended_czjzek_005.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 5.061 seconds) .. _sphx_glr_download_examples_1D_simulation(macro_amorphous)_plot_6_extended_czjzek.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_6_extended_czjzek.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_6_extended_czjzek.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_