Polarization#
formula.polarization
module#
Collection of calculations of relative changes in polarization.
- mrfmsim.formula.polarization.rel_dpol_arp(B_offset, B1, df_fm, Gamma)[source]#
Relative change in polarization for adiabatic rapid passage.
Compute the resonance offset at each point in the sample and compute the change in the polarization at each point in the sample following the adiabatic rapid passage. The experiment here is a swept-field experiment or a swept-tip experiment, where
\[\Delta B_\text{offset} = B_0 + B_\text{tip} - 2 \pi f_\text{rf}/\gamma\]and
\[\Omega_\text{initial} = B_0 + B_\text{tip} - (2 \pi f_\text{rf}/\gamma - 2 \pi \Delta f_\text{FM}/\gamma) = \Delta B_\text{offset} + 2 \pi \Delta f_\text{FM} / \gamma\]- Parameters:
Gamma (float) – the gyromagnetic ratio [rad/s.mT]
B_offset (float) – resonance offset field \(\Delta B_{\text{offset}}\) [mT]
B_1 (float) – amplitude \(B_1\) of the applied transverse field [mT]
df_fm (float) – the peak-to-peak frequency modulation \(\Delta f_{\text{FM}}\) of the applied transverse radio frequency magnetic field [Hz]
- Returns:
relative change in polarization
- Return type:
np.array, the same shape as B_offset
- mrfmsim.formula.polarization.rel_dpol_ibm_cyclic(B_offset, df_fm, Gamma)[source]#
Relative change in polarization for IBM adiabatic rapid passage.
\[\begin{split}\eta \, (\Delta B_{\text{offset}}) = \begin{cases} \cos^2 \left(\dfrac{\gamma \Delta B_{\text{offset}}} {2 \: \Delta f_{\text{FM}}} \right) & \text{for } \Delta B_{\text{offset}} \leq \pi \Delta f_{\text{FM}} / \gamma, \\ 0 & \text{otherwise.} \end{cases}\end{split}\]with
\[\Delta B_{\text{offset}} = B_0 - 2 \pi f_{\text{rf}} / \, \gamma [\mathrm{mT}]\]The result added in pol_arp the negative sign for it is the signal of final - initial.
- Parameters:
Gamma (float) – the gyromagnetic ratio [rad/s.mT]
B_offset (float) – resonant offset \(\Delta B_{\text{offset}}\) [mT]
df_fm (float) – the peak-to-peak frequency modulation \(\Delta df_{\text{FM}}\) of the applied transverse radio frequency magnetic field [Hz]
- Returns:
relative change in polarization
- Return type:
np.array, the same shape as B_offset
- mrfmsim.formula.polarization.rel_dpol_multipulse(rel_dpol, T1, dt_pulse)[source]#
Calculate the average relative change in polarization after multiple pulses.
The formula ignores relaxation during pulses. :param float dt_pulse: time between pulses
- mrfmsim.formula.polarization.rel_dpol_nut(B_offset, B1, Gamma, t_p)[source]#
Relative change in polarization under the evolution of irradiation.
Equations:
\[\rho_{\mathrm{rel}} = \frac{\Delta M_{z}}{M_{z}(0)} = \frac{1}{\Omega^2+1} (1 + \cos{(\Omega_1 t_p \sqrt{\Omega^2+1})})\]with
\[\Delta B_{\mathrm{offset}} = B_z(\vec{r}) - \omega/\gamma\]the resonance offset field and
\[\Omega_1 = \gamma B_1\]\[\Omega = \frac{\Delta B_{\mathrm{offset}}}{B_1}\]the unitless resonance offset.
- Parameters:
Gamma (float) – the gyromagnetic ratio. [rad/s.mT]
B_offset (float) – resonance offset field \(\Delta B_{\text{offset}}\) [mT]
B_1 (float) – amplitude of the applied transverse field \(B_{\text{1}}\) [mT]
t_p (float) – pulse time \(t_{\mathrm{p}}\) [s]
- Returns:
relative polarization
- Return type:
np.array, the same shape as B_offset
- mrfmsim.formula.polarization.rel_dpol_nut_multi_freq_pulse(B_tot, B1, f_rf_array, Gamma, t_p)[source]#
Nutation experiments where different frequencies are applied in steps.
The polarization is aggregated as a product.
- mrfmsim.formula.polarization.rel_dpol_periodic_irrad(B_offset, B1, dB_sat, dB_hom, T1, t_on, t_off)[source]#
Relative change in polarization for intermittent irradiation.
\[\langle \Delta M_z \rangle = - \frac{S^2 \, M_0}{1 + S^2 + \Omega^2} \left(\frac{1}{r_1} \frac{1}{\tau_\text{on}+\tau_\text{off}} \frac{(1 - E_\text{on})(1 - E_\text{off})} {1 - E_\text{on} \, E_\text{off}} \frac{S^2}{1 + S^2 + \Omega^2} + \frac{\tau_\text{on}} {\tau_\text{on}+\tau_\text{off}}\right)\]- Parameters:
dB_hom (float) – the homogeneous linewidth [mT]
dB_sat (float) – the saturation linewidth [mT]
B_offset (float) – resonant offset \(\Delta B_{\text{offset}}\) [mT]
B_1 (float) – the amplitude \(B_1\) of the applied transverse field [mT]
t_1 (float) – spin-lattice relaxation [s]
t_on (float) – time with the microwaves on [s]
t_off (float) – time with the microwaves off [s]
- Returns:
relative change in polarization
- Return type:
np.array, the same shape as B_offset
- mrfmsim.formula.polarization.rel_dpol_sat_steadystate(B_offset, B1, dB_sat, dB_hom)[source]#
Relative change in polarization for steady-state.
Compute and return the sample’s relative steady-state spin polarization. As given by the Bloch equations,
\[\Delta\rho_{\text{rel}} = \dfrac{\Delta {\cal M}_z} {{\cal M}_{z}^{\text{eq}}} = - \dfrac{(B_1 / \Delta B_{\text{sat}})^2} {1 + (\Delta B_{\text{offset}} / \Delta B_{\text{homog}})^2 + (B_1 / \Delta B_{\text{sat}})^2}\]At resonance,
\[\rho_{\text{rel}} = \dfrac{S}{1+S}\]and the change in polarization is governed by the saturation factor
\[S = (B_1 / \Delta B_{\text{sat}})^2\]\(\rho_{\text{rel}}\) under irradiation.
- Parameters:
dB_hom (float) – the homogeneous linewidth \(\Delta B_{\text{homog}}\) [mT]
dB_sat (float) – the saturation linewidth \(\Delta B_{\text{sat}}\) [mT]
B_offset (float) – resonant offset \(\Delta B_{\text{offset}}\) [mT]
B_1 (float) – the amplitude of the applied transverse field \(B_1\) [mT]
- Returns:
relative polarization
- Return type:
np.array, the same shape as B_offset