Introduction to Spin Systems¶
At the heart of any mrsimulator
calculation is the definition of a SpinSystem
object describing the sites and couplings within a spin system. We begin by examining
the definition of a Site object.
Site¶
Consider the example below of the JSON serialization of a Site object for a deuterium nucleus.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | {
"isotope": "2H",
"isotropic_chemical_shift": "4.1 ppm",
"shielding_symmetric": {
"zeta": "12.12 ppm",
"eta": 0.82
},
"quadrupolar": {
"Cq": "1.47 MHz",
"eta": 0.27,
"alpha": "0.212 rad",
"beta": "1.231 rad",
"gamma": "3.1415 rad"
}
}
|
The value of the isotope key holds the spin isotope, here given a value of 2H. The value of the isotropic_chemical_shift is the optional \(^2\text{H}\) isotropic chemical shift, here given as 4.1 ppm. We have additionally defined an optional shielding_symmetric, whose value holds a dictionary with the components of the second-rank traceless symmetric nuclear shielding tensor. We parameterize this tensor using the Haeberlen convention with parameters zeta and eta, defined as the strength of the anisotropy and asymmetry, respectively. Since deuterium is a quadrupolar nucleus, \(I>1/2\), there also can be a quadrupolar coupling interaction between the nuclear quadrupole moment and the surrounding electric field gradient (EFG) tensor, defined in a dictionary held in the optional key quadrupolar. An EFG tensor is a second-rank traceless symmetric tensor, and we describe the quadrupolar coupling with the parameters Cq and eta, i.e., the quadrupolar coupling constant and asymmetry parameter, respectively. Additionally, we see the Euler angle orientations, alpha, beta, and gamma, which are the relative orientation of the EFG tensor from the nuclear shielding tensor.
See Table 1 and Table 2 for further information on the Site and SymmetricTensor objects and their attributes, respectively.
Table of Site Class Attributes¶
Attribute name |
Type |
Description |
---|---|---|
|
String |
A required isotope string given as the atomic number followed by
the isotope symbol, for example, |
|
ScalarQuantity |
An optional physical quantity describing the isotropic chemical shift
of the site. The value is given in dimensionless frequency ratio,
for example, |
|
An optional object describing the second-rank traceless symmetric
nuclear shielding tensor following the Haeberlen convention. The default is a
|
|
|
An optional object describing the second-rank traceless electric
quadrupole tensor. The default is a |
Attribute name |
Type |
Description |
---|---|---|
or
|
ScalarQuantity |
A required quantity. Nuclear shielding: The strength of the anisotropy, Electric quadrupole: The quadrupole coupling constant, |
|
Float |
A required asymmetry parameter calculated using the Haeberlen convention, for
example, |
|
ScalarQuantity |
An optional Euler angle, \(\alpha\). For example, |
|
ScalarQuantity |
An optional Euler angle, \(\beta\). For example, |
|
ScalarQuantity |
An optional Euler angle, \(\gamma\). For example, |
SpinSystem¶
As mentioned earlier, the SpinSystem object, used in the mrsimulator
package,
describes the sites and couplings within a spin system.
Uncoupled spin systems¶
Using the previous Site object example, we construct a simple single site SpinSystem object shown below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | {
"name": "2H spin system",
"description": "An optional description on the spin system",
"sites": [
{
"isotope": "2H",
"isotropic_chemical_shift": "4.1 ppm",
"shielding_symmetric": {
"zeta": "12.12 ppm",
"eta": 0.82
},
"quadrupolar": {
"Cq": "1.47 MHz",
"eta": 0.27,
"alpha": "0.212 rad",
"beta": "1.231 rad",
"gamma": "3.1415 rad"
}
}
],
"couplings": [],
"abundance": "0.148%"
}
|
At the root level of the SpinSystem object, we find four keywords, name, description, sites, and abundance. The value of the name key is the name of the spin system, here given a value of 2H spin system. The value of the description key is an optional string describing the spin system. The value of the sites key is a list of Site objects. Here, this list comprises of a single Site object (lines 5-19). The value of the abundance key is the abundance of the spin system, here given a value of 0.148%. The value of the couplings key is a list of Coupling objects. In this example, there are no couplings, and hence the value of this attribute is an empty list. See Table 3 for further description of the SpinSystem class and its attributes.
Attributes |
Type |
Description |
---|---|---|
|
String |
An optional attribute with a name for the spin system. Naming is a good practice as it improves the readability, especially when multiple spin systems are present. The default value is an empty string. |
|
String |
An optional attribute describing the spin system. The default value is an empty string. |
|
List |
An options list of Site objects. The default value is an empty list. |
|
List |
An optional list of coupling objects. The default value is an empty list. Not yet implemented. |
|
String |
An optional quantity representing the abundance of the spin system.
The abundance is given as percentage, for example, |
Coupled spin systems¶
Note
The current version of the mrsimulator
package does not include coupled
spin systems. The SpinSystem model for the couplings will be made available when
we include the coupled spin systems to the package. The mrsimulator
package
will eventually handle coupled spin systems, but only in the weak coupling limit.