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)¶ Bases:
tuple
Create new instance of HaeberlenNotation(sigma_iso, delta_sigma_iso, zeta, eta)
-
delta_sigma_iso
¶ Alias for field number 1
-
eta
¶ Alias for field number 3
-
sigma_iso
¶ Alias for field number 0
-
zeta
¶ Alias for field number 2
-
-
class
MarylandNotation
(sigma_iso, omega, kappa)¶ Bases:
tuple
Create new instance of MarylandNotation(sigma_iso, omega, kappa)
-
kappa
¶ Alias for field number 2
-
omega
¶ Alias for field number 1
-
sigma_iso
¶ Alias for field number 0
-
-
class
MehringNotation
(sigma_iso, sigma_11, sigma_22, sigma_33)¶ Bases:
tuple
Create new instance of MehringNotation(sigma_iso, sigma_11, sigma_22, sigma_33)
-
sigma_11
¶ Alias for field number 1
-
sigma_22
¶ Alias for field number 2
-
sigma_33
¶ Alias for field number 3
-
sigma_iso
¶ 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
¶ the Chemical shielding tensor in Haeberlen Notation
- Type
Returns
-
property
maryland_values
¶ the Chemical shielding tensor in Maryland Notation
- Type
Returns
-
property
mehring_values
¶ the Chemical shielding tensor in Mehring Notation
- Type
Returns
-
property
principal_axis_system
¶ 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
¶ First diagonal element
- Type
Returns
-
property
V_yy
¶ Second diagonal element
- Type
Returns
-
property
V_zz
¶ Third diagonal element
- Type
Returns
-
property
asymmetry
¶ 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
¶ Returns a electric field gradient tensor aligned to the principle axis system so that only the 3 diagnol components are non-zero