F-mu-F

The well known F-mu-F signal identified by J.H.Brewer et al. in PRB 33 11 (1986):

\(G(t)=\frac{1}{6}\left[3+\cos(\sqrt{3} \omega_\text{D} t)+\left(1-\frac{1}{\sqrt{3}}\right)\cos(\frac{3-\sqrt{3}}{2}\omega_\text{D} t)+\left(1+\frac{1}{\sqrt{3}}\right)\cos(\frac{3+\sqrt{3}}{2}\omega_\text{D} t)\right]\)

[1]:
# Importing stuff...
try:
    from undi import MuonNuclearInteraction
except (ImportError, ModuleNotFoundError):
    import sys
    sys.path.append('../undi')
    from undi import MuonNuclearInteraction
import matplotlib.pyplot as plt
import numpy as np

Let us consider a linear F-Mu-F molecule of total length \(2r\) aligned along \(z\).

Remember that UNDI uses SI units.

[2]:
angtom=1.0e-10 # m
h=6.6260693e-34 # Js
hbar=h/(2*np.pi) # Js
mu_0=(4e-7)*np.pi # Tm A-1

# This is a linear F-mu-F along z
r=1.17 * angtom
atoms = [
            {'Position': np.array([0., 0., 0.]),
            'Label': 'F'},

            {'Position': np.array([0., 0., r ]),
            'Label': 'mu'},

            {'Position': np.array([0., 0., 2*r]),
            'Label': 'F'}
        ]
# Time values, in seconds
tlist = np.linspace(0, 10e-6, 100)

# Define main class
NS = MuonNuclearInteraction(atoms)
# cutoff the dipolar interaction in order to avoid F-F term,
# Rotate sample such that axis z used to define the atomic positions
# is aligned with quantization axis which also happens to be z.
# Basically the next call will do nothing
NS.translate_rotate_sample_vec([0,0,1])

# cutoff the dipolar interaction in order to avoid F-F term
signal_FmuF = NS.polarization(tlist, cutoff=1.2 * angtom)

NS = MuonNuclearInteraction(atoms, log_level='info')
NS.translate_rotate_sample_vec([0,1,0])
signal_FmuF += NS.polarization(tlist, cutoff=1.2 * angtom)

NS = MuonNuclearInteraction(atoms, log_level='info')
NS.translate_rotate_sample_vec([1,0,0])
signal_FmuF += NS.polarization(tlist, cutoff=1.2 * angtom)

signal_FmuF /= 3.

# no cutoff this time
NS = MuonNuclearInteraction(atoms, log_level='info')
NS.translate_rotate_sample_vec([0,0,1])
signal_FmuF_with_Fdip = NS.polarization(tlist)

NS = MuonNuclearInteraction(atoms, log_level='info')
NS.translate_rotate_sample_vec([0,1,0])
signal_FmuF_with_Fdip += NS.polarization(tlist)

NS = MuonNuclearInteraction(atoms, log_level='info')
NS.translate_rotate_sample_vec([1,0,0])
signal_FmuF_with_Fdip += NS.polarization(tlist)

signal_FmuF_with_Fdip /= 3.

####################
# Plot the results #
####################
fig, axes = plt.subplots(1,1)
axes.plot(tlist, signal_FmuF, label='Computed', linestyle='-')
axes.plot(tlist, signal_FmuF_with_Fdip, label='Computed, with F-F interaction', linestyle='-.')

# Generate and plot analytical version for comparison
def plot_brewer(interval,r):
    from numpy import cos, sin, sqrt
    omegad = (mu_0*NS.gammas['mu']*NS.gammas['F']*(hbar))
    omegad /=(4*np.pi*((r)**3))

    tomegad=interval*omegad
    y = (1./6.)*(3+cos(sqrt(3)*tomegad)+ \
                (1-1/sqrt(3))*cos(((3-sqrt(3))/2)*tomegad)+ \
                (1+1/sqrt(3))*cos(((3+sqrt(3))/2)*tomegad))#+0.05*(exp(-x/2.5))**1.5
    return y

axes.plot(tlist, plot_brewer(tlist, r), label='F-mu-F Brewer', linestyle=':')

ticks = np.round(axes.get_xticks()*10.**6)
axes.set_xticklabels(ticks)
axes.set_xlabel(r'$t (\mu s)$', fontsize=20)
axes.set_ylabel(r'$\left<P_z\right>$', fontsize=20);
axes.grid()
fig.legend()
plt.show()
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Hilbert space is 8 dimensional
INFO:undi.undi:Adding interaction between F and mu with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 0<->1, r=1.17e-10
INFO:undi.undi:Skipped interaction between F and F with distance 2.34e-10
INFO:undi.undi:Adding interaction between mu and F with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 1<->2, r=1.17e-10
INFO:undi.undi:Storing kets in dense matrices
INFO:undi.undi:Adding signal 0...
INFO:undi.undi:Adding signal 1...
INFO:undi.undi:Adding signal 2...
INFO:undi.undi:Adding signal 3...
INFO:undi.undi:Adding signal 4...
INFO:undi.undi:Adding signal 5...
INFO:undi.undi:Adding signal 6...
INFO:undi.undi:Adding signal 7...
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Hilbert space is 8 dimensional
INFO:undi.undi:Adding interaction between F and mu with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 0<->1, r=1.17e-10
INFO:undi.undi:Skipped interaction between F and F with distance 2.34e-10
INFO:undi.undi:Adding interaction between mu and F with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 1<->2, r=1.17e-10
INFO:undi.undi:Storing kets in dense matrices
INFO:undi.undi:Adding signal 0...
INFO:undi.undi:Adding signal 1...
INFO:undi.undi:Adding signal 2...
INFO:undi.undi:Adding signal 3...
INFO:undi.undi:Adding signal 4...
INFO:undi.undi:Adding signal 5...
INFO:undi.undi:Adding signal 6...
INFO:undi.undi:Adding signal 7...
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Hilbert space is 8 dimensional
INFO:undi.undi:Adding interaction between F and mu with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 0<->1, r=1.17e-10
INFO:undi.undi:Adding interaction between F and F with distance 2.34e-10
INFO:undi.undi:Dipolar contribution between 0<->2, r=2.34e-10
INFO:undi.undi:Adding interaction between mu and F with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 1<->2, r=1.17e-10
INFO:undi.undi:Storing kets in dense matrices
INFO:undi.undi:Adding signal 0...
INFO:undi.undi:Adding signal 1...
INFO:undi.undi:Adding signal 2...
INFO:undi.undi:Adding signal 3...
INFO:undi.undi:Adding signal 4...
INFO:undi.undi:Adding signal 5...
INFO:undi.undi:Adding signal 6...
INFO:undi.undi:Adding signal 7...
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Hilbert space is 8 dimensional
INFO:undi.undi:Adding interaction between F and mu with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 0<->1, r=1.17e-10
INFO:undi.undi:Adding interaction between F and F with distance 2.34e-10
INFO:undi.undi:Dipolar contribution between 0<->2, r=2.34e-10
INFO:undi.undi:Adding interaction between mu and F with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 1<->2, r=1.17e-10
INFO:undi.undi:Storing kets in dense matrices
INFO:undi.undi:Adding signal 0...
INFO:undi.undi:Adding signal 1...
INFO:undi.undi:Adding signal 2...
INFO:undi.undi:Adding signal 3...
INFO:undi.undi:Adding signal 4...
INFO:undi.undi:Adding signal 5...
INFO:undi.undi:Adding signal 6...
INFO:undi.undi:Adding signal 7...
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Using most abundand isotope for F, i.e. 19F, 1.0 abundance
INFO:undi.undi:Hilbert space is 8 dimensional
INFO:undi.undi:Adding interaction between F and mu with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 0<->1, r=1.17e-10
INFO:undi.undi:Adding interaction between F and F with distance 2.34e-10
INFO:undi.undi:Dipolar contribution between 0<->2, r=2.34e-10
INFO:undi.undi:Adding interaction between mu and F with distance 1.17e-10
INFO:undi.undi:Dipolar contribution between 1<->2, r=1.17e-10
INFO:undi.undi:Storing kets in dense matrices
INFO:undi.undi:Adding signal 0...
INFO:undi.undi:Adding signal 1...
INFO:undi.undi:Adding signal 2...
INFO:undi.undi:Adding signal 3...
INFO:undi.undi:Adding signal 4...
INFO:undi.undi:Adding signal 5...
INFO:undi.undi:Adding signal 6...
INFO:undi.undi:Adding signal 7...
../_images/examples_FmuF_3_1.png