ShieldingTensors

class ShieldingTensors(configuration, finite_difference_q=None)

Class for calculating and representing NMR shielding tensors using the Gauge Including Projector Augmentated Wave (GIPAW) method.

Warning

It does not work for metals, only semiconductors and insulators.

Parameters:
  • configuration (BulkConfiguration) – Configuration with a calculator that supports GIPAW calculations.

  • finite_difference_q (PhysicalQuantity) – The magnitude of the reciprocal space displacement to use when evaluating the finite difference q derivative in the GIPAW method. Must be a PhysicalQuantity of dimension inverse length.
    Default: 0.01 Bohr^(-1)

components()

Get the components to the shielding tensors for all atoms.

Returns:

A dictionary with the components of shielding tensors for the requested atoms.

Return type:

dict

evaluate()

Get the calculated total shielding tensors for all atoms.

Returns:

A list of shielding tensors for the requested atoms.

Return type:

list

evaluateAnisotropicChemicalShielding()

Determine the anisotropic chemical shielding for each atom. Using Haeberlen convention:

sigma_anisotropy = sigma_{zz} - (sigma_{xx}+sigma_{yy})/2
                 = 3 * reduced_sigma_anisotropy / 2

Where:

|sigma_{zz}-sigma_iso| > |sigma_{yy}-sigma_iso| > |sigma_{xx}-sigma_iso|
Returns:

The anisotropic chemical shielding for each atom.

Return type:

list

evaluateAsymmetryParameter()

Determine the asymmetry parameter for each atom. Using Haeberlen convention:

eta = (sigma_{xx} - sigma_{yy})/reduced_sigma_anisotropy

Where:

|sigma_{zz}-sigma_iso| > |sigma_{yy}-sigma_iso| > |sigma_{xx}-sigma_iso|
Returns:

The asymmetry parameter for each atom.

Return type:

list

evaluateIsotropicChemicalShielding()

Determine the isotropic chemical shielding for each atom.

Returns:

The isotropic chemical shielding for each atom.

Return type:

list

evaluatePrincipalAxis()

Determine the principel axis (eigenvectors and eigenvalues of the shielding tensor) for each atom. Using Haeberlen convention:

|sigma_{zz}-sigma_iso| > |sigma_{yy}-sigma_iso| > |sigma_{xx}-sigma_iso|
Returns:

The principel axis for each atom.

Return type:

two ndarray

evaluateReducedAnisotropicChemicalShielding()

Determine the reduced anisotropic chemical shielding for each atom. Using Haeberlen convention: reduced_sigma_anisotropy = sigma_{zz} - sigma_iso

Where:

|sigma_{zz}-sigma_iso| > |sigma_{yy}-sigma_iso| > |sigma_{xx}-sigma_iso|
Returns:

The anisotropic chemical shielding for each atom.

Return type:

list

evaluateSkew()

Determine the skew parameter for each atom. Using Herzfeld-Berger convention:

Skew = 3*(sigma_{22} - sigma_{iso})/span (-1 =< Skew =< 1)

= 3*(sigma_{22} - sigma_{iso})/(sigma_{11} - sigma_{33})

Where: sigma_{11} > sigma_{22} > sigma_{33} (std. convention)

Returns:

The span parameter for each atom.

Return type:

list

evaluateSpan()

Determine the span parameter for each atom. Using Herzfeld-Berger convention:

Span = (sigma_{11} - sigma_{33}) (Span >= 0)

Where: sigma_{11} > sigma_{22} > sigma_{33} (std. convention)

Returns:

The span parameter for each atom.

Return type:

list

metatext()
Returns:

The metatext of the object or None if no metatext is present.

Return type:

str | None

nlprint(stream=None)

Print a string containing an ASCII table useful for plotting the AnalysisSpin object.

Parameters:

stream (python stream) – The stream the table should be written to.
Default: NLPrintLogger()

setMetatext(metatext)

Set a given metatext string on the object.

Parameters:

metatext (str | None) – The metatext string that should be set. A value of “None” can be given to remove the current metatext.

uniqueString()

Return a unique string representing the state of the object.