pymatgen.analysis.nmr module

A module for NMR analysis

class ChemicalShielding(cs_matrix, vscale=None)[source]

Bases: pymatgen.core.tensors.SquareTensor

This class extends the SquareTensor to perform extra analysis unique to NMR Chemical shielding tensors

Three notations to describe chemical shielding tensor (RK Harris; Magn. Reson. Chem. 2008, 46, 582–598; DOI: 10.1002/mrc.2225) are supported.

Authors: Shyam Dwaraknath, Xiaohui Qu

Create a Chemical Shielding tensor. Note that the constructor uses __new__ rather than __init__ according to the standard method of subclassing numpy ndarrays.

Parameters
  • cs_matrix (1x3 or 3x3 array-like) – the 3x3 array-like representing the chemical shielding tensor or a 1x3 array of the primary sigma values corresponding to the principal axis system

  • vscale (6x1 array-like) – 6x1 array-like scaling the voigt-notation vector with the tensor entries

class HaeberlenNotation(sigma_iso, delta_sigma_iso, zeta, eta)[source]

Bases: tuple

Create new instance of HaeberlenNotation(sigma_iso, delta_sigma_iso, zeta, eta)

delta_sigma_iso[source]

Alias for field number 1

eta[source]

Alias for field number 3

sigma_iso[source]

Alias for field number 0

zeta[source]

Alias for field number 2

class MarylandNotation(sigma_iso, omega, kappa)[source]

Bases: tuple

Create new instance of MarylandNotation(sigma_iso, omega, kappa)

kappa[source]

Alias for field number 2

omega[source]

Alias for field number 1

sigma_iso[source]

Alias for field number 0

class MehringNotation(sigma_iso, sigma_11, sigma_22, sigma_33)[source]

Bases: tuple

Create new instance of MehringNotation(sigma_iso, sigma_11, sigma_22, sigma_33)

sigma_11[source]

Alias for field number 1

sigma_22[source]

Alias for field number 2

sigma_33[source]

Alias for field number 3

sigma_iso[source]

Alias for field number 0

classmethod from_maryland_notation(sigma_iso, omega, kappa)[source]

Initialize from Maryland notation.

Parameters
  • () (kappa) –

  • ()

  • ()

Returns

ChemicalShielding

property haeberlen_values[source]

the Chemical shielding tensor in Haeberlen Notation

Type

Returns

property maryland_values[source]

the Chemical shielding tensor in Maryland Notation

Type

Returns

property mehring_values[source]

the Chemical shielding tensor in Mehring Notation

Type

Returns

property principal_axis_system[source]

Returns a chemical shielding tensor aligned to the principle axis system so that only the 3 diagnol components are non-zero

class ElectricFieldGradient(efg_matrix, vscale=None)[source]

Bases: pymatgen.core.tensors.SquareTensor

This class extends the SquareTensor to perform extra analysis unique to NMR Electric Field Gradient tensors in units of V/Angstrom^2

Authors: Shyam Dwaraknath, Xiaohui Qu

Create a Chemical Shielding tensor. Note that the constructor uses __new__ rather than __init__ according to the standard method of subclassing numpy ndarrays.

Parameters
  • efg_matrix (1x3 or 3x3 array-like) – the 3x3 array-like representing the electric field tensor or a 1x3 array of the primary values corresponding to the principal axis system

  • vscale (6x1 array-like) – 6x1 array-like scaling the voigt-notation vector with the tensor entries

property V_xx[source]

First diagonal element

Type

Returns

property V_yy[source]

Second diagonal element

Type

Returns

property V_zz[source]

Third diagonal element

Type

Returns

property asymmetry[source]

Asymmetry of the electric field tensor defined as: (V_yy - V_xx)/V_zz

coupling_constant(specie)[source]
Computes the couplling constant C_q as defined in:

Wasylishen R E, Ashbrook S E, Wimperis S. NMR of quadrupolar nuclei in solid materials[M]. John Wiley & Sons, 2012. (Chapter 3.2)

C_q for a specific atom type for this electric field tensor:

C_q=e*Q*V_zz/h

h: planck’s constant Q: nuclear electric quadrupole moment in mb (millibarn e: elementary proton charge

Parameters

specie – flexible input to specify the species at this site. Can take a isotope or element string, Species object, or Site object

Returns

the coupling constant as a FloatWithUnit in MHz

property principal_axis_system[source]

Returns a electric field gradient tensor aligned to the principle axis system so that only the 3 diagnol components are non-zero