Isotope

class mrsimulator.spin_system.isotope.Isotope(*, symbol: str)

Bases: BaseModel

The Isotope class.

symbol

The isotope symbol is given as the atomic number followed by the atomic symbol.

Type:

str (required)

Example

>>> # 13C isotope information
>>> carbon = Isotope(symbol='13C')
>>> carbon.spin
0.5
>>> carbon.natural_abundance  # in %
1.11
>>> carbon.gyromagnetic_ratio  # in MHz/T
10.708398861439887
>>> carbon.atomic_number
6
>>> carbon.quadrupole_moment  # in b
0.0
B0_to_ref_freq(B0=9.4)

Return the primary reference frequency given the magnetic field strength B0.

Parameters:

B0 (float) – magnetic flux density in T

Returns:

primary reference frequency in MHz

Return type:

float

Example

>>> H1 = Isotope(symbol="1H")
>>> B0 = H1.B0_to_ref_freq(B0 = 9.4)
property atomic_number

Atomic number of the isotope.

property efg_to_Cq

Factor for converting EFG to quadrupolar coupling constant, Cq, in Hz.

property gyromagnetic_ratio

Reduced gyromagnetic ratio of the nucleus given in units of MHz/T.

json(**kwargs) dict

Generate a JSON representation of the model, include and exclude arguments as per dict().

encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

larmor_freq(B0=9.4)

Return the Larmor frequency of the isotope at a magnetic field strength B0.

Parameters:

B0 (float) – magnetic field strength in T

Returns:

Larmor frequency in MHz

Return type:

float

Example

>>> silicon = Isotope(symbol="29Si")
>>> freq = silicon.larmor_freq(B0 = 9.4)
property natural_abundance

Natural abundance of the isotope in units of %.

classmethod parse(item)

Attempt to parse the provided item into an Isotope instance

property quadrupole_moment

Quadrupole moment of the nucleus given in units of b (barn).

ref_freq_to_B0(ref_freq=400)

Return the magnetic field strength B0 given the primary reference frequency.

Parameters:

ref_freq (float) – primary reference frequency in MHz

Returns:

magnetic flux density in T

Return type:

float

Example

>>> H1 = Isotope(symbol="1H")
>>> B0 = H1.ref_freq_to_B0(ref_freq = 400)
property ref_larmor_ratio

Ratio of primary reference frequency (w_ref) to larmor frequency (w_0) of the isotope.

\((1 - \sigma_{iso}^{ref}) = |-w_{ref} / w_0|\) where \(\sigma_{iso}^{ref}\) is the reference isotropic shielding in ppm.

property reference

Reference compound database

classmethod register(symbol: str, copy_from: Optional[str] = None, **kwargs)

Register a new isotope symbol with intrinsic attributes given by kwargs. If copy_from is not None and matches a known isotope symbol, then the attributes are copied from that symbol.

Parameters:
  • symbol ((str)) – The isotope symbol to register. Must be unique.

  • copy_from ((str)) – An optional isotope symbol to copy attributes from. If None, then no attributes are copied.

property spin

Spin quantum number, I, of the isotope.

property spin_multiplicity

Spin multiplicity, (2I+1), of the isotope.