{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Muon in Cu octahedral site.\n", "\n", "This example shows how to use the Celio approximation as implemente in UNDI.\n", "The simulations that follow reproduce the results of Phys. Rev. Lett. 56 2720 (1986).\n", "The expected level crossing resonance discussed in the paper is reproduced." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "try:\n", " from undi import MuonNuclearInteraction\n", "except (ImportError, ModuleNotFoundError):\n", " import sys\n", " sys.path.append('../undi')\n", " from undi import MuonNuclearInteraction\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define lattice structure\n", "\n", "The octahedral muon site in Cu is defined below." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "angtom=1.0e-10 # m\n", "a=3.6212625504 # Cu lattice constant, in Angstrom\n", "\n", "Cu_Quadrupole_moment = (-0.211) * (10**-28) # m^2\n", "atoms = [\n", " \n", " {'Position': np.array([0.5, 0.5, 0.5]) * a * angtom,\n", " 'Label': 'mu'},\n", "\n", " {'Position': np.array([0.0 , 0.5 , 0.5])*angtom*a,\n", " 'Label': '63Cu',\n", " 'ElectricQuadrupoleMoment': Cu_Quadrupole_moment # 'OmegaQmu': 3.2e6 # s^-1\n", " },\n", " \n", " {'Position': np.array([0.5 , 0.0 , 0.5])*angtom*a,\n", " 'Label': '63Cu',\n", " 'ElectricQuadrupoleMoment': Cu_Quadrupole_moment, # 'OmegaQmu': 3.2e6 # s^-1\n", " },\n", " \n", " {'Position': np.array([1.0 , 0.5 , 0.5])*angtom*a,\n", " 'Label': '63Cu',\n", " 'ElectricQuadrupoleMoment': Cu_Quadrupole_moment, # 'OmegaQmu': 3.2e6 # s^-1\n", " },\n", " \n", " {'Position': np.array([0.5 , 1.0 , 0.5])*angtom*a,\n", " 'Label': '63Cu',\n", " 'ElectricQuadrupoleMoment': Cu_Quadrupole_moment, # 'OmegaQmu': 3.2e6 # s^-1\n", " },\n", " \n", " {'Position': np.array([0.5 , 0.5 , 0.0])*angtom*a,\n", " 'Label': '63Cu',\n", " 'ElectricQuadrupoleMoment': Cu_Quadrupole_moment, # 'OmegaQmu': 3.2e6 # s^-1\n", " },\n", " \n", " {'Position': np.array([0.5 , 0.5 , 1.0])*angtom*a,\n", " 'Label': '63Cu',\n", " 'ElectricQuadrupoleMoment': Cu_Quadrupole_moment, # 'OmegaQmu': 3.2e6 # s^-1\n", " }\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set Electric Field Gradient\n", "\n", "There are two ways of treating quadrupole coupling with UNDI.\n", "One can either explicitly set the EFG tensor, or specify 'OmegaQmu'\n", "that assumes that the EFG is only generated by the muon, which is\n", "the case for nuclei occupying positions with cubic symmetry.\n", "We opt for the first option here." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "elementary_charge=1.6021766E-19 # Coulomb = ampere ⋅ second\n", "\n", "def Vzz_for_unit_charge_at_distance(r):\n", " epsilon0 = 8.8541878E-12 # ampere^2 ⋅ kilogram^−1 ⋅ meter^−3 ⋅ second^4\n", " elementary_charge=1.6021766E-19 # Coulomb = ampere ⋅ second\n", " Vzz = (2./(4 * np.pi * epsilon0)) * (elementary_charge / (r**3))\n", " return Vzz\n", "\n", "def Vzz_from_Celio_PRL():\n", " # 0.27 angstrom^−3 is from PRL 39 836\n", " # (4 pi epsilon_0)^−1 (0.27 angstrom^−3) elementary_charge = 3.8879043E20 meter^−2 ⋅ volts\n", " #\n", " # the factor 1.02702 appearing below is only used to obtain exactly the value\n", " # used by Celio in his pioniring work, namely 3.2e6 s^-1.\n", " #\n", " Vzz = 1.02702 * 3.8879043E20\n", " return Vzz\n", "\n", "def gen_radial_EFG(p_mu, p_N, Vzz):\n", " x=p_N-p_mu\n", " n = np.linalg.norm(x)\n", " x /= n; r = 1. # keeping formula below for clarity\n", " return -Vzz * ( (3.*np.outer(x,x)-np.eye(3)*(r**2))/r**5 ) * 0.5\n", " # Final note, the last 0.5 is required since\n", " # that the formula \n", " # ( (3.*np.outer(x,x)-np.eye(3)*(r**2))/r**5 )\n", " # \n", " # would give for p_mu=np.array([0,0,0.]) and p_N=np.array([0,0,1.])\n", " #\n", " # array([[ 1., -0., -0.],\n", " # [-0., 1., -0.],\n", " # [-0., -0., -2.]])\n", " #\n", " # thus the largest eigenvalue is 2, that multiplied by Vzz would give 2Vzz.\n", "\n", "\n", "for idx, atom in enumerate(atoms):\n", " if atom['Label'] == '63Cu':\n", " atoms[idx]['EFGTensor'] = gen_radial_EFG(atoms[0]['Position'], atom['Position'], Vzz_from_Celio_PRL())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Polarization function\n", "\n", "The muon polarization is obtained with the method introduced by Celio." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Hilbert space is 8192 dimensional\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Computing signal 4 times with LF 0.0 T..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "1..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "2..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "3..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Hilbert space is 8192 dimensional\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "done!\n", "Computing signal 4 times with LF 0.001 T..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "1..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "2..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "3..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Hilbert space is 8192 dimensional\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "done!\n", "Computing signal 4 times with LF 0.003 T..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "1..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "2..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "3..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Hilbert space is 8192 dimensional\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "done!\n", "Computing signal 4 times with LF 0.007 T..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "1..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "2..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "3..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Hilbert space is 8192 dimensional\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "done!\n", "Computing signal 4 times with LF 0.008 T..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "1..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "2..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "3..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Hilbert space is 8192 dimensional\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "done!\n", "Computing signal 4 times with LF 0.01 T..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "1..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "2..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "3..." ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n", "INFO:undi:Adding interaction between mu and 63Cu with distance 1.8106312752000003e-10\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "done!\n" ] } ], "source": [ "steps = 200\n", "tlist = np.linspace(0, 16e-6, steps)\n", "signals = np.zeros([6,steps], dtype=np.float)\n", "\n", "\n", "\n", "import matplotlib as mpl; mpl.style.use(['bmh', 'paper', 'paper_twocol'])\n", "\n", "LongitudinalFields = (0.0, 0.001, 0.003, 0.007, 0.008, 0.01)\n", "for idx, Bmod in enumerate(LongitudinalFields):\n", "\n", " # Put field along muon polarization, that is always z\n", " B = Bmod * np.array([0,0.,1.])\n", " NS = MuonNuclearInteraction(atoms, external_field=B, log_level='info')\n", "\n", " # rotate the sample such that the muon spin is aligned with\n", " # the 111 direction (and, just for convenience, the muon position is\n", " # set to (0,0,0) )\n", " NS.translate_rotate_sample_vec(np.array([1.,1.,1.]))\n", "\n", " print(\"Computing signal 4 times with LF {} T...\".format(Bmod), end='', flush=True)\n", " signal_Cu = NS.celio(tlist, k=2)\n", " for i in range(3):\n", " print('{}...'.format(i+1), end='', flush=True)\n", " signal_Cu += NS.celio(tlist, k=2)\n", " print('done!')\n", " signal_Cu /= float(i+1+1)\n", " del NS\n", "\n", " signals[idx]=signal_Cu" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "...and the results is:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:matplotlib.font_manager:findfont: Font family ['serif'] not found. Falling back to DejaVu Sans.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1,1)\n", "for i, Bmod in enumerate(LongitudinalFields):\n", " color = list(np.random.choice(range(256), size=3)/256)\n", " axes.plot(1e6*tlist, signals[i], label='{} mT'.format(Bmod*1e3), linestyle='-', color=color)\n", "axes.set_ylim((-0.1,1.1))\n", "axes.set_ylabel(r'$P_z(t)$')\n", "axes.set_xlabel(r'$t \\mathrm{(\\mu s)}$')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exact solution\n", "\n", "This takes a long time and requires quite a lot of memory!\n", "Results have been stored for comparison.\n", "Set `RUN_EXACT_SOLUTION` to True to recompute it." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:matplotlib.font_manager:findfont: Font family ['serif'] not found. Falling back to DejaVu Sans.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "RUN_EXACT_SOLUTION = False\n", "steps = 50\n", "exact_tlist = np.linspace(0, 16e-6, steps)\n", "#exact_signals = np.zeros([6,steps], dtype=np.float)\n", "# Time Interval between 0 and 16 us, 50 steps, LongitudinalFields = (0.0, 0.001, 0.003, 0.007, 0.008, 0.01)\n", "exact_signals = np.array([[ 1. , 0.98282653, 0.93964818, 0.8727281 , 0.78028361,\n", " 0.67469059, 0.56109296, 0.44254458, 0.33016254, 0.22835089,\n", " 0.14071887, 0.07266857, 0.02508912, -0.00138344, -0.00777295,\n", " 0.00332417, 0.02902002, 0.06492124, 0.10737172, 0.15200355,\n", " 0.19525238, 0.23504429, 0.26796097, 0.29364225, 0.31249597,\n", " 0.32294924, 0.32736432, 0.32758011, 0.32305998, 0.3168234 ,\n", " 0.31049457, 0.30331904, 0.29736902, 0.29326092, 0.28955219,\n", " 0.28722038, 0.28623668, 0.28491011, 0.28388694, 0.28322455,\n", " 0.28156636, 0.27978173, 0.27826943, 0.27607753, 0.27416934,\n", " 0.27298859, 0.27164413, 0.27081398, 0.27069118, 0.27024463],\n", " [ 1. , 0.98293689, 0.94103195, 0.87974072, 0.80302765,\n", " 0.72482631, 0.65413908, 0.59895465, 0.56280528, 0.54742553,\n", " 0.55334184, 0.57318891, 0.60218095, 0.63512508, 0.66574397,\n", " 0.69081457, 0.70740053, 0.71651987, 0.71913932, 0.71600087,\n", " 0.71090861, 0.70542094, 0.70019074, 0.69693086, 0.6955793 ,\n", " 0.69528207, 0.69608999, 0.69741402, 0.69823249, 0.69877767,\n", " 0.69893606, 0.69820817, 0.69717636, 0.69597567, 0.69432885,\n", " 0.69276073, 0.69138666, 0.68998791, 0.68896328, 0.68837029,\n", " 0.68798691, 0.68802579, 0.68841152, 0.68882866, 0.68930834,\n", " 0.68973257, 0.68982279, 0.68966208, 0.68929406, 0.68864183],\n", " [ 1. , 0.98379849, 0.95110385, 0.92430074, 0.92333194,\n", " 0.94322695, 0.96888701, 0.98229823, 0.97805614, 0.96199376,\n", " 0.94602602, 0.94102634, 0.94716167, 0.95813592, 0.96467449,\n", " 0.96437462, 0.95925356, 0.95489471, 0.95351849, 0.95495805,\n", " 0.95698291, 0.95811534, 0.95793408, 0.95721899, 0.95668732,\n", " 0.9566025 , 0.95680559, 0.95701551, 0.95707425, 0.95701427,\n", " 0.9569539 , 0.95694134, 0.9569614 , 0.95701089, 0.95704409,\n", " 0.95702411, 0.95701233, 0.9570149 , 0.95701059, 0.9570523 ,\n", " 0.95710172, 0.95710734, 0.95712119, 0.95711323, 0.95706506,\n", " 0.95704849, 0.95704016, 0.95703239, 0.95707086, 0.95711522],\n", " [ 1. , 0.9875797 , 0.98140832, 0.98621011, 0.97075648,\n", " 0.95669399, 0.95541905, 0.94319278, 0.92842263, 0.92389329,\n", " 0.91594141, 0.90336002, 0.89654501, 0.89062457, 0.88065119,\n", " 0.87288486, 0.86795318, 0.86108697, 0.85435035, 0.85031619,\n", " 0.84608276, 0.84103892, 0.83743184, 0.83435711, 0.83042769,\n", " 0.82696249, 0.82416836, 0.82088203, 0.81775033, 0.81520849,\n", " 0.81250997, 0.80989694, 0.80777116, 0.80572486, 0.80367457,\n", " 0.80205509, 0.80067282, 0.79915915, 0.7980214 , 0.79720875,\n", " 0.79614609, 0.79538015, 0.79497777, 0.7942634 , 0.79376039,\n", " 0.79363704, 0.79320925, 0.79291028, 0.79302161, 0.79286575],\n", " [ 1. , 0.98879191, 0.98699508, 0.98589855, 0.96748469,\n", " 0.96150537, 0.94988836, 0.93042286, 0.92044974, 0.90441159,\n", " 0.88659453, 0.8748919 , 0.85867707, 0.84326163, 0.8318069 ,\n", " 0.81687864, 0.80418869, 0.79334047, 0.78042514, 0.77008204,\n", " 0.7599696 , 0.74953374, 0.74097611, 0.73229548, 0.72431931,\n", " 0.71752935, 0.71086347, 0.70512305, 0.70026205, 0.69563065,\n", " 0.69186035, 0.68876905, 0.68581902, 0.68370366, 0.6819059 ,\n", " 0.68029858, 0.67945545, 0.67848443, 0.67807933, 0.67807028,\n", " 0.67782256, 0.67848698, 0.67905924, 0.67970109, 0.68120834,\n", " 0.68242028, 0.68400175, 0.6861668 , 0.68811348, 0.69043407],\n", " [ 1. , 0.99130363, 0.99367316, 0.98441018, 0.98244009,\n", " 0.97815888, 0.97460671, 0.9757831 , 0.97160007, 0.9734014 ,\n", " 0.96809696, 0.96718836, 0.9624622 , 0.95981762, 0.95816497,\n", " 0.95578323, 0.95672477, 0.95537404, 0.95691268, 0.95596032,\n", " 0.95648078, 0.95585914, 0.95559188, 0.95527909, 0.95483432,\n", " 0.95475075, 0.9544889 , 0.95444332, 0.9543944 , 0.95427475,\n", " 0.95433552, 0.954215 , 0.95419628, 0.95416875, 0.95403384,\n", " 0.95404225, 0.9539122 , 0.9538729 , 0.95384906, 0.95378848,\n", " 0.95385451, 0.95386919, 0.95395887, 0.95410335, 0.95416793,\n", " 0.95437978, 0.95446006, 0.9546102 , 0.95474143, 0.9547932 ]]);\n", "\n", "exact_signals_CuCu = np.array([[ 1. , 0.98282657, 0.93964865, 0.87272935, 0.78028696,\n", " 0.67470233, 0.56111582, 0.4425802 , 0.33022139, 0.22843251,\n", " 0.14081954, 0.07279242, 0.02522711, -0.00124269, -0.00763999,\n", " 0.00343709, 0.02910163, 0.06495036, 0.10734618, 0.15192438,\n", " 0.19510024, 0.23483281, 0.26770654, 0.29333427, 0.31215187,\n", " 0.3225898 , 0.32698183, 0.32717626, 0.32264645, 0.31638578,\n", " 0.31001279, 0.30279618, 0.29678455, 0.29258872, 0.2888023 ,\n", " 0.28637759, 0.28528979, 0.28388913, 0.28278938, 0.28205604,\n", " 0.28037023, 0.27855874, 0.27702096, 0.27483837, 0.27292428,\n", " 0.27171386, 0.2703522 , 0.26946707, 0.26924531, 0.2687014 ],\n", " [ 1. , 0.98293692, 0.9410324 , 0.87974179, 0.80302961,\n", " 0.72483148, 0.65414674, 0.59895899, 0.56279733, 0.54740125,\n", " 0.55329201, 0.57309325, 0.6020493 , 0.63496702, 0.6655529 ,\n", " 0.6906192 , 0.70722795, 0.7163812 , 0.71905147, 0.71597761,\n", " 0.71095595, 0.70552991, 0.70035639, 0.69714841, 0.6958386 ,\n", " 0.6955805 , 0.69642111, 0.69777791, 0.69863126, 0.69920142,\n", " 0.69938316, 0.69867854, 0.69765745, 0.69646563, 0.6948309 ,\n", " 0.69326548, 0.6918944 , 0.69050016, 0.68946443, 0.68884871,\n", " 0.6884322 , 0.68841465, 0.68872886, 0.68907607, 0.6894854 ,\n", " 0.68985548, 0.68993525, 0.68980003, 0.68950061, 0.68897442],\n", " [ 1. , 0.98379852, 0.95110414, 0.92430114, 0.92333093,\n", " 0.94322128, 0.96888409, 0.9823126 , 0.9780936 , 0.96203609,\n", " 0.94603782, 0.94099934, 0.94711532, 0.95810993, 0.96467949,\n", " 0.96440791, 0.95929011, 0.95491137, 0.95350301, 0.95492653,\n", " 0.95696769, 0.95813361, 0.95797172, 0.95724139, 0.9566808 ,\n", " 0.95657913, 0.95678783, 0.95701476, 0.95708748, 0.95702932,\n", " 0.95696214, 0.95694125, 0.95695521, 0.95700292, 0.95703994,\n", " 0.95702566, 0.95701792, 0.95702249, 0.95701571, 0.95705066,\n", " 0.95709516, 0.95709902, 0.95711357, 0.95711164, 0.95707014,\n", " 0.95705628, 0.95704938, 0.95703901, 0.95707135, 0.957112 ],\n", " [ 1. , 0.98757971, 0.98140828, 0.98621163, 0.97076027,\n", " 0.95669799, 0.9554352 , 0.9432287 , 0.92846951, 0.92397853,\n", " 0.91606813, 0.90350092, 0.89673768, 0.89084694, 0.88085785,\n", " 0.87312326, 0.86819153, 0.86128541, 0.85455822, 0.85051496,\n", " 0.84625154, 0.8412079 , 0.83758677, 0.83448791, 0.83054608,\n", " 0.82704993, 0.82422119, 0.82091216, 0.81774283, 0.81516587,\n", " 0.81244542, 0.80980092, 0.80764802, 0.80558272, 0.80350751,\n", " 0.80186382, 0.80046138, 0.79892606, 0.79775734, 0.79691872,\n", " 0.795833 , 0.79502252, 0.79458771, 0.7938468 , 0.79329063,\n", " 0.79313491, 0.79268038, 0.79233323, 0.79242035, 0.79224303],\n", " [ 1. , 0.98879192, 0.98699502, 0.98589969, 0.96748394,\n", " 0.96150352, 0.94989131, 0.93041573, 0.92045214, 0.90441505,\n", " 0.8865946 , 0.87492256, 0.85870154, 0.84331849, 0.8318963 ,\n", " 0.816977 , 0.80433922, 0.7935124 , 0.7806272 , 0.77031396,\n", " 0.76022032, 0.74980401, 0.74125 , 0.73257968, 0.7245986 ,\n", " 0.71780138, 0.71112593, 0.70537017, 0.70048968, 0.69583262,\n", " 0.69204068, 0.6889101 , 0.68592623, 0.68377344, 0.68192056,\n", " 0.68027628, 0.67937711, 0.67835476, 0.67790987, 0.67784416,\n", " 0.67756101, 0.67818224, 0.67871672, 0.67932472, 0.68078836,\n", " 0.68197171, 0.68350124, 0.68561896, 0.68751972, 0.68976525],\n", " [ 1. , 0.99130362, 0.99367312, 0.98440939, 0.98243597,\n", " 0.97815107, 0.97458831, 0.97576204, 0.97156735, 0.97337462,\n", " 0.96806425, 0.96718087, 0.96245435, 0.95984159, 0.9581947 ,\n", " 0.95584719, 0.95680812, 0.95550172, 0.9570791 , 0.95618851,\n", " 0.95675983, 0.95620491, 0.95598891, 0.9557301 , 0.95532813,\n", " 0.95528609, 0.95505568, 0.95504378, 0.9550178 , 0.95492921,\n", " 0.95500776, 0.95491351, 0.95491316, 0.95490464, 0.95478939,\n", " 0.95481182, 0.95469816, 0.95467092, 0.95465577, 0.954604 ,\n", " 0.95467099, 0.95468799, 0.95477421, 0.95491163, 0.95497452,\n", " 0.95517234, 0.95525171, 0.95539008, 0.95551605, 0.95556276]])\n", "\n", "if RUN_EXACT_SOLUTION:\n", " LongitudinalFields = (0.0, 0.001, 0.003, 0.007, 0.008, 0.01)\n", " for idx, Bmod in enumerate(LongitudinalFields):\n", "\n", " # Put field along muon polarization, that is always z\n", " B = Bmod * np.array([0,0.,1.])\n", " NS = MuonNuclearInteraction(atoms, external_field=B, log_level='critical')\n", "\n", " # rotate the sumple such that the muon spin is aligned with\n", " # the 111 direction (and, just for convenience, the muon position is\n", " # set to (0,0,0) )\n", " NS.translate_rotate_sample_vec(np.array([1.,1.,1.]))\n", "\n", " print(\"Computing exact signal for B={}\".format(Bmod))\n", " exact_signals[idx]=NS.polarization(tlist, cutoff=2.0e-10)\n", " del NS\n", "\n", "\n", " exact_signals_CuCu = np.zeros_like(exact_signals)\n", " for idx, Bmod in enumerate(LongitudinalFields):\n", "\n", " # Put field along muon polarization, that is always z\n", " B = Bmod * np.array([0,0.,1.])\n", " NS = MuonNuclearInteraction(atoms, external_field=B, log_level='critical')\n", "\n", " # rotate the sumple such that the muon spin is aligned with\n", " # the 111 direction (and, just for convenience, the muon position is\n", " # set to (0,0,0) )\n", " NS.translate_rotate_sample_vec(np.array([1.,1.,1.]))\n", "\n", " print(\"Computing exact signal (Cu-Cu interaction) for B={}\".format(Bmod))\n", " exact_signals_CuCu[idx]=NS.polarization(tlist, cutoff=20.0e-10)\n", " del NS\n", "\n", "#import matplotlib as mpl; mpl.style.use(['bmh', 'paper', 'paper_twocol'])\n", "fig, axes = plt.subplots(1,1, figsize=(7,5))\n", "\n", "for i, Bmod in enumerate(LongitudinalFields):\n", " p = axes.plot(1e6*tlist, signals[i], label='{} mT'.format(int(Bmod*1e3)), linestyle='-')\n", " axes.plot(1e6*exact_tlist, exact_signals[i], linestyle='-.', color='gray')\n", " axes.plot(1e6*exact_tlist, exact_signals_CuCu[i], linestyle=':', color='k')\n", "\n", "axes.set_ylim((-0.1,1.1))\n", "axes.set_ylabel(r'$P_z(t)$')\n", "axes.set_xlabel(r'$t \\, \\mathrm{(\\mu s)}$')\n", "plt.legend(fontsize=13)\n", "plt.tight_layout()\n", "plt.savefig('Cu.png')\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }