Isotope

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

Bases: BaseModel

The Isotope class.

symbol

The isotope symbol 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 eB
0.0
property atomic_number

Atomic number of the isotope.

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 eB (electron-barn).

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.