Understanding Isotopomers

Isotopomers are collection of isolated spin systems where each isolated spin system is a collection of sites and couplings. We refer an isolated spin system as an isotopomer. In our model, each isotopomer is composed of various objects. In the following, we list and describe these objects.

SymmetricTensor

We define SymmetricTensor as an object with attributes representing the traceless second-rank symmetric irreducible interaction tensor.

Attributes of a SymmetricTensor object.

Attribute name

Type

Description

zeta

or

Cq

ScalarQuantity

A required quantity.

Nuclear shielding: The strength of the anisotropy, zeta, calculated using Haeberlen convention. The value is a physical quantity given in dimensionless frequency ratio, for example, 10 ppm or 10 µHz/Hz.

Electric quadrupole: The quadrupole coupling constant, Cq. The value is a physical quantity given in units of frequency, for example, 3.1 MHz.

eta

Float

A required asymmetry parameter calculated using Haeberlen convention, for example, 0.75.

alpha

ScalarQuantity

An optional Euler angle, \(\alpha\). For example, 2.1 rad. The default value is 0 rad.

beta

ScalarQuantity

An optional Euler angle, \(\beta\). For example, 23.5 deg. The default value is 0 rad.

gamma

ScalarQuantity

An optional Euler angle, \(\gamma\). For example, 0.5 rad. The default value is 0 rad.

Example

Using python dict object, SymmetricTensor may be represented as,

# For nuclear shielding tensor
symmetric_shielding_tensor_example_1 = dict(zeta="10.3 ppm", eta=0.5)
symmetric_shielding_tensor_example_2 = dict(zeta="10.3 ppm", eta=0.5, beta="0.23 rad")

# For electric quadrupole tensor
quadrupole_tensor_example = dict(
    Cq="1.45 MHz", eta=0.13, alpha="0.5 rad", beta="0.23 rad", gamma="2.54 rad"
)

Site

We define a Site as an object with attributes representing an isolated nuclear site.

Attributes of a Site object.

Attribute name

Type

Description

isotope

String

A required isotope string given as the atomic number followed by the isotope symbol, for example, 13C, 29Si, 27Al, and so on.

isotropic_chemical_shift

ScalarQuantity

An optional physical quantity describing the isotropic chemical shift of the site. The value is given in dimensionless frequency ratio, for example, 10 ppm or 10 µHz/Hz. The default value is 0 ppm.

shielding_symmetric

SymmetricTensor

An optional object. The default is a NULL object. See the description for the SymmetricTensor object.

quadrupolar

SymmetricTensor

An optional object. The default is a NULL object. See the description for the SymmetricTensor object.

Example

Using python dict object, Site may be represented as,

site_example1 = dict(
    isotope="27Al",
    isotropic_chemical_shift="15 ppm",
    quadrupolar=quadrupole_tensor_example,
)

site_example2 = dict(
    isotope="13C",
    isotropic_chemical_shift="15 ppm",
    shielding_symmetric=symmetric_shielding_tensor_example,
)

where symmetric_shielding_tensor_example and quadrupole_tensor_example are the dict object with symmetric tensor attributes from the previous example.

SpinSystem

We define an SpinSystem as an object with attributes representing an isolated spin system.

Attributes of an SpinSystem object.

Attributes

Type

Description

name

String

An optional attribute with a name for the isotopomer. The default value is an empty string.

description

String

An optional attribute with a description of the isotopomer. The default value is an empty string.

sites

List

A required list of Site objects.

couplings

List

An optional list of coupling objects. The default value is an empty list. Not yet implemented.

abundance

String

An optional quantity representing the abundance of the isotopomer. The abundance is given as percent, for example, 25.4 %. This value is useful when multiple spin systems are present. The default value is 100 %.

Example

Using python dict object, SpinSystem may be represented as,

isotopomer_example1 = dict(sites=[site_example1], abundance="15.3 %")
isotopomer_example2 = dict(sites=[site_example2], abundance="65.19 %")

where site_example1 and site_example2 are the dict objects from the previous example.