798 lines
75 KiB
HTML
798 lines
75 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
|
||
<html lang="en" data-content_root="../" >
|
||
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
|
||
<title>Activity 6: Effect of the temperature — MsSpec Tour</title>
|
||
|
||
|
||
|
||
<script data-cfasync="false">
|
||
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
|
||
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
|
||
</script>
|
||
|
||
<!-- Loaded before other Sphinx assets -->
|
||
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
|
||
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
|
||
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
|
||
|
||
|
||
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
|
||
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
|
||
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
|
||
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
|
||
|
||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/togglebutton.css?v=13237357" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css?v=be8a1c11" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/sphinx-thebe.css?v=4fa983c6" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/sphinx-design.min.css?v=95c83b7e" />
|
||
|
||
<!-- Pre-loaded scripts that we'll load fully later -->
|
||
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
|
||
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
||
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
||
|
||
<script src="../_static/documentation_options.js?v=9eb32ce0"></script>
|
||
<script src="../_static/doctools.js?v=9a2dae69"></script>
|
||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
||
<script src="../_static/copybutton.js?v=f281be69"></script>
|
||
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
|
||
<script>let toggleHintShow = 'Click to show';</script>
|
||
<script>let toggleHintHide = 'Click to hide';</script>
|
||
<script>let toggleOpenOnPrint = 'true';</script>
|
||
<script src="../_static/togglebutton.js?v=4a39c7ea"></script>
|
||
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
|
||
<script src="../_static/design-tabs.js?v=f930bc37"></script>
|
||
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
|
||
<script async="async" src="../_static/sphinx-thebe.js?v=c100c467"></script>
|
||
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
|
||
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
|
||
<script>window.MathJax = {"options": {"processHtmlClass": "tex2jax_process|mathjax_process|math|output_area"}}</script>
|
||
<script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||
<script>DOCUMENTATION_OPTIONS.pagename = 'Activity06/Activity06';</script>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
<link rel="next" title="Activity 7: Large clusters and path filtering" href="../Activity07/Activity07.html" />
|
||
<link rel="prev" title="Activity 5: Multiple scattering in the forward scattering regime" href="../Activity05/Activity05.html" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<meta name="docsearch:language" content="en"/>
|
||
</head>
|
||
|
||
|
||
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
|
||
|
||
|
||
|
||
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
|
||
|
||
<div id="pst-scroll-pixel-helper"></div>
|
||
|
||
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
|
||
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
|
||
|
||
|
||
<input type="checkbox"
|
||
class="sidebar-toggle"
|
||
id="pst-primary-sidebar-checkbox"/>
|
||
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
|
||
|
||
<input type="checkbox"
|
||
class="sidebar-toggle"
|
||
id="pst-secondary-sidebar-checkbox"/>
|
||
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
|
||
|
||
<div class="search-button__wrapper">
|
||
<div class="search-button__overlay"></div>
|
||
<div class="search-button__search-container">
|
||
<form class="bd-search d-flex align-items-center"
|
||
action="../search.html"
|
||
method="get">
|
||
<i class="fa-solid fa-magnifying-glass"></i>
|
||
<input type="search"
|
||
class="form-control"
|
||
name="q"
|
||
id="search-input"
|
||
placeholder="Search this book..."
|
||
aria-label="Search this book..."
|
||
autocomplete="off"
|
||
autocorrect="off"
|
||
autocapitalize="off"
|
||
spellcheck="false"/>
|
||
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
|
||
</form></div>
|
||
</div>
|
||
|
||
<div class="pst-async-banner-revealer d-none">
|
||
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
|
||
</div>
|
||
|
||
|
||
<header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
|
||
</header>
|
||
|
||
|
||
<div class="bd-container">
|
||
<div class="bd-container__inner bd-page-width">
|
||
|
||
|
||
|
||
<div class="bd-sidebar-primary bd-sidebar">
|
||
|
||
|
||
|
||
<div class="sidebar-header-items sidebar-primary__section">
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<div class="sidebar-primary-items__start sidebar-primary__section">
|
||
<div class="sidebar-primary-item">
|
||
|
||
|
||
|
||
|
||
|
||
<a class="navbar-brand logo" href="../intro.html">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<img src="../_static/logo.jpg" class="logo__image only-light" alt="MsSpec Tour - Home"/>
|
||
<script>document.write(`<img src="../_static/logo.jpg" class="logo__image only-dark" alt="MsSpec Tour - Home"/>`);</script>
|
||
|
||
|
||
</a></div>
|
||
<div class="sidebar-primary-item">
|
||
|
||
<script>
|
||
document.write(`
|
||
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
|
||
<i class="fa-solid fa-magnifying-glass"></i>
|
||
<span class="search-button__default-text">Search</span>
|
||
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
|
||
</button>
|
||
`);
|
||
</script></div>
|
||
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
|
||
<div class="bd-toc-item navbar-nav active">
|
||
|
||
<ul class="nav bd-sidenav bd-sidenav__home-link">
|
||
<li class="toctree-l1">
|
||
<a class="reference internal" href="../intro.html">
|
||
Welcome to this small MsSpec tour
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
<ul class="current nav bd-sidenav">
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity01/Activity01.html">Activity 1: Getting started</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity02/Activity02.html">Activity 2: Setting up the “experiment”</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity03/Activity03.html">Activity 3: Adsorbates and the single scattering approach</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity04/Activity04.html">Activity 4: From single scattering to multiple scattering</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity05/Activity05.html">Activity 5: Multiple scattering in the forward scattering regime</a></li>
|
||
<li class="toctree-l1 current active"><a class="current reference internal" href="#">Activity 6: Effect of the temperature</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity07/Activity07.html">Activity 7: Large clusters and path filtering</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity08/Activity08.html">Activity 8: Inequivalent emitters and the XPD of a substrate</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity09/Activity09.html">Activity 9: Comparing simulation and experiment with R-factors</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity10/Activity10.html">Activity 10: Auger Electron Diffraction</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../Activity11/Activity11.html">Activity 11: Spectral radius and convergence</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../backmatter.html">Final word</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</nav></div>
|
||
</div>
|
||
|
||
|
||
<div class="sidebar-primary-items__end sidebar-primary__section">
|
||
</div>
|
||
|
||
<div id="rtd-footer-container"></div>
|
||
|
||
|
||
</div>
|
||
|
||
<main id="main-content" class="bd-main" role="main">
|
||
|
||
|
||
|
||
<div class="sbt-scroll-pixel-helper"></div>
|
||
|
||
<div class="bd-content">
|
||
<div class="bd-article-container">
|
||
|
||
<div class="bd-header-article d-print-none">
|
||
<div class="header-article-items header-article__inner">
|
||
|
||
<div class="header-article-items__start">
|
||
|
||
<div class="header-article-item"><button class="sidebar-toggle primary-toggle btn btn-sm" title="Toggle primary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
|
||
<span class="fa-solid fa-bars"></span>
|
||
</button></div>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="header-article-items__end">
|
||
|
||
<div class="header-article-item">
|
||
|
||
<div class="article-header-buttons">
|
||
|
||
|
||
|
||
|
||
|
||
<div class="dropdown dropdown-download-buttons">
|
||
<button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-label="Download this page">
|
||
<i class="fas fa-download"></i>
|
||
</button>
|
||
<ul class="dropdown-menu">
|
||
|
||
|
||
|
||
<li><a href="../_sources/Activity06/Activity06.ipynb" target="_blank"
|
||
class="btn btn-sm btn-download-source-button dropdown-item"
|
||
title="Download source file"
|
||
data-bs-placement="left" data-bs-toggle="tooltip"
|
||
>
|
||
|
||
|
||
<span class="btn__icon-container">
|
||
<i class="fas fa-file"></i>
|
||
</span>
|
||
<span class="btn__text-container">.ipynb</span>
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
<li>
|
||
<button onclick="window.print()"
|
||
class="btn btn-sm btn-download-pdf-button dropdown-item"
|
||
title="Print to PDF"
|
||
data-bs-placement="left" data-bs-toggle="tooltip"
|
||
>
|
||
|
||
|
||
<span class="btn__icon-container">
|
||
<i class="fas fa-file-pdf"></i>
|
||
</span>
|
||
<span class="btn__text-container">.pdf</span>
|
||
</button>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
<button onclick="toggleFullScreen()"
|
||
class="btn btn-sm btn-fullscreen-button"
|
||
title="Fullscreen mode"
|
||
data-bs-placement="bottom" data-bs-toggle="tooltip"
|
||
>
|
||
|
||
|
||
<span class="btn__icon-container">
|
||
<i class="fas fa-expand"></i>
|
||
</span>
|
||
|
||
</button>
|
||
|
||
|
||
|
||
<script>
|
||
document.write(`
|
||
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
|
||
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
|
||
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
|
||
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
|
||
</button>
|
||
`);
|
||
</script>
|
||
|
||
|
||
<script>
|
||
document.write(`
|
||
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
|
||
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
|
||
</button>
|
||
`);
|
||
</script>
|
||
<button class="sidebar-toggle secondary-toggle btn btn-sm" title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
|
||
<span class="fa-solid fa-list"></span>
|
||
</button>
|
||
</div></div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div id="jb-print-docs-body" class="onlyprint">
|
||
<h1>Activity 6: Effect of the temperature</h1>
|
||
<!-- Table of contents -->
|
||
<div id="print-main-content">
|
||
<div id="jb-print-toc">
|
||
|
||
<div>
|
||
<h2> Contents </h2>
|
||
</div>
|
||
<nav aria-label="Page">
|
||
<ul class="visible nav section-nav flex-column">
|
||
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#surface-and-bulk-effects-of-the-temperature">Surface and bulk effects of the temperature</a><ul class="nav section-nav flex-column">
|
||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#the-script">The script</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div id="searchbox"></div>
|
||
<article class="bd-article">
|
||
|
||
<section class="tex2jax_ignore mathjax_ignore" id="activity-6-effect-of-the-temperature">
|
||
<h1>Activity 6: Effect of the temperature<a class="headerlink" href="#activity-6-effect-of-the-temperature" title="Link to this heading">#</a></h1>
|
||
<section id="surface-and-bulk-effects-of-the-temperature">
|
||
<h2>Surface and bulk effects of the temperature<a class="headerlink" href="#surface-and-bulk-effects-of-the-temperature" title="Link to this heading">#</a></h2>
|
||
<p>In this example, we will look at the effects of the temperature on the X-Ray photoelectron diffraction from a copper substrate. We will base our python script on a paper published in 1986 by R. Trehan and S. Fadley. In their work, they performed azimutal scans of a copper(001) surface at 2 different polar angles: one at grazing incidence and one at 45° for incresing temperatures from 298K to roughly 1000K.</p>
|
||
<p>For each azimutal scan, they looked at the anisotropy of the signal, that is:</p>
|
||
<div class="math notranslate nohighlight" id="equation-eq-anisotropy">
|
||
<span class="eqno">(1)<a class="headerlink" href="#equation-eq-anisotropy" title="Link to this equation">#</a></span>\[\frac{I_{max} - I_{min}}{I_{max}}=\frac{\Delta I}{I_{max}}\]</div>
|
||
<p>This value is representative of how clear are the <em>modulations</em> of the signal. They also proposed single scattering calculations that reproduced well these results.</p>
|
||
<p>We will reproduce this kind of calculations to introduce the parameters that control the vibrational damping.</p>
|
||
<div class="admonition seealso" id="msd-paper">
|
||
<p class="admonition-title">See also</p>
|
||
<p>based on this paper from R. Trehan and C.S. Fadley
|
||
<a class="reference external" href="https://doi.org/10.1103/PhysRevB.34.6784">Phys. Rev. B <strong>34</strong> p6784–98 (2012)</a></p>
|
||
</div>
|
||
<section id="the-script">
|
||
<h3>The script<a class="headerlink" href="#the-script" title="Link to this heading">#</a></h3>
|
||
<p>Since we want to distinguish between bulk (low polar angles, <span class="math notranslate nohighlight">\(\theta = 45°\)</span> in the paper) and surface effects (large polar angles, <span class="math notranslate nohighlight">\(\theta = 83°\)</span> in the paper), we need to compute scans for different emitters and different depths in the cluster.</p>
|
||
<p>The script contains 3 functions:</p>
|
||
<ol class="arabic simple">
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">create_clusters</span></code> function will build clusters with increasing number of planes, with the emitter being in the deepest plane for each cluster.</p></li>
|
||
<li><p>The function <code class="docutils literal notranslate"><span class="pre">compute</span></code> will compute the azimuthal scan for a given cluster.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">analysis</span></code> function will sum the intensity from each plane for a given temperature. This will be the <em>substrate total signal</em> (more on this in the <a class="reference internal" href="../Activity07/Activity07.html#path-filtering"><span class="std std-ref">Activity 7: Large clusters and path filtering</span></a> section). The function will also compute the anisotropy (equation <a class="reference internal" href="#equation-eq-anisotropy">(1)</a>).</p></li>
|
||
</ol>
|
||
<p>MsSpec can introduce temperature effects in two ways: either by using the Debye Waller model or by doing an average over the phase shifts. We will explore the latter in this example.</p>
|
||
<p>Regardless of the option chosen to model temperature effects, we need to define mean square displacement (MSD) values of the atoms in our cluster. We will use the Debye model for this. The MSD is defined as follows:</p>
|
||
<div class="math notranslate nohighlight" id="equation-eq-debye">
|
||
<span class="eqno">(2)<a class="headerlink" href="#equation-eq-debye" title="Link to this equation">#</a></span>\[<U_j^2(T)> = \frac{3\hbar^2 T}{M K_B \Theta_D^2}\]</div>
|
||
<p>where <span class="math notranslate nohighlight">\(\hbar\)</span> is the reduce Planck’s constant, <span class="math notranslate nohighlight">\(T\)</span> is the temperature, <span class="math notranslate nohighlight">\(M\)</span> is the mass of the atom, <span class="math notranslate nohighlight">\(k_B\)</span> is the Boltzmann’s constant and <span class="math notranslate nohighlight">\(\Theta_D\)</span> is the Debye temperature of the sample.</p>
|
||
<p>To get an idea of the typical order of magnitude for MSD, the figure below plots the values of MSD for copper for temperatures ranging from 300 K to 1000 K.</p>
|
||
<figure class="align-default" id="msd-fig">
|
||
<a class="reference internal image-reference" href="../_images/msd.jpg"><img alt="Cu MSD" class="align-center" src="../_images/msd.jpg" style="width: 600px;" />
|
||
</a>
|
||
<figcaption>
|
||
<p><span class="caption-number">Fig. 14 </span><span class="caption-text">Variation of MSD for copper versus temperature using equation <a class="reference internal" href="#equation-eq-debye">(2)</a></span><a class="headerlink" href="#msd-fig" title="Link to this image">#</a></p>
|
||
</figcaption>
|
||
</figure>
|
||
<div class="sd-tab-set docutils">
|
||
<input checked="checked" id="sd-tab-item-0" name="sd-tab-set-0" type="radio">
|
||
<label class="sd-tab-label" for="sd-tab-item-0">
|
||
<i class="fa-solid fa-circle-question"></i> Quiz</label><div class="sd-tab-content docutils">
|
||
<p>With the help of the <a class="reference external" href="https://msspec.cnrs.fr/parameters.html">MsSpec documentation</a> and the second paragraph p6791 of the <a class="reference internal" href="#msd-paper">article cited above</a>,
|
||
complete the hilighted lines in the following script to compute the anisotropy of Cu(2p) <span class="math notranslate nohighlight">\(\phi\)</span>-scans for polar angle <span class="math notranslate nohighlight">\(\theta\)</span>=45° and 83°.</p>
|
||
<p>How is varying the anisotropy versus the temperature. How can you qualitatively explain this variation ?</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="kn">from</span><span class="w"> </span><span class="nn">ase.build</span><span class="w"> </span><span class="kn">import</span> <span class="n">bulk</span>
|
||
<span class="linenos"> 2</span><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||
<span class="linenos"> 3</span>
|
||
<span class="linenos"> 4</span><span class="kn">from</span><span class="w"> </span><span class="nn">msspec.calculator</span><span class="w"> </span><span class="kn">import</span> <span class="n">MSSPEC</span><span class="p">,</span> <span class="n">XRaySource</span>
|
||
<span class="linenos"> 5</span><span class="kn">from</span><span class="w"> </span><span class="nn">msspec.utils</span><span class="w"> </span><span class="kn">import</span> <span class="n">hemispherical_cluster</span><span class="p">,</span> <span class="n">get_atom_index</span>
|
||
<span class="linenos"> 6</span>
|
||
<span class="linenos"> 7</span><span class="k">def</span><span class="w"> </span><span class="nf">create_clusters</span><span class="p">(</span><span class="n">nplanes</span><span class="o">=</span><span class="mi">3</span><span class="p">):</span>
|
||
<span class="linenos"> 8</span> <span class="n">copper</span> <span class="o">=</span> <span class="n">bulk</span><span class="p">(</span><span class="s1">'Cu'</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="mf">3.6</span><span class="p">,</span> <span class="n">cubic</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||
<span class="linenos"> 9</span> <span class="n">clusters</span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="linenos"> 10</span> <span class="k">for</span> <span class="n">emitter_plane</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nplanes</span><span class="p">):</span>
|
||
<span class="linenos"> 11</span> <span class="n">cluster</span> <span class="o">=</span> <span class="n">hemispherical_cluster</span><span class="p">(</span><span class="n">copper</span><span class="p">,</span>
|
||
<span class="linenos"> 12</span> <span class="n">emitter_plane</span><span class="o">=</span><span class="n">emitter_plane</span><span class="p">,</span>
|
||
<span class="linenos"> 13</span> <span class="n">planes</span><span class="o">=</span><span class="n">emitter_plane</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="linenos"> 14</span> <span class="n">diameter</span><span class="o">=</span><span class="mi">27</span><span class="p">,</span>
|
||
<span class="linenos"> 15</span> <span class="n">shape</span><span class="o">=</span><span class="s1">'cylindrical'</span><span class="p">)</span>
|
||
<span class="linenos"> 16</span> <span class="n">cluster</span><span class="o">.</span><span class="n">absorber</span> <span class="o">=</span> <span class="n">get_atom_index</span><span class="p">(</span><span class="n">cluster</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
|
||
<span class="linenos"> 17</span> <span class="c1"># This is how to store extra information with your cluster</span>
|
||
<span class="linenos"> 18</span> <span class="n">cluster</span><span class="o">.</span><span class="n">info</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
|
||
<span class="linenos"> 19</span> <span class="s1">'emitter_plane'</span><span class="p">:</span> <span class="n">emitter_plane</span><span class="p">,</span>
|
||
<span class="linenos"> 20</span> <span class="p">})</span>
|
||
<span class="linenos"> 21</span> <span class="n">clusters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cluster</span><span class="p">)</span>
|
||
<span class="linenos"> 22</span> <span class="k">return</span> <span class="n">clusters</span>
|
||
<span class="linenos"> 23</span>
|
||
<span class="linenos"> 24</span>
|
||
<span class="linenos"> 25</span><span class="k">def</span><span class="w"> </span><span class="nf">compute</span><span class="p">(</span><span class="n">clusters</span><span class="p">,</span> <span class="n">all_theta</span><span class="o">=</span><span class="p">[</span><span class="mf">45.</span><span class="p">,</span> <span class="mf">83.</span><span class="p">],</span>
|
||
<span class="linenos"> 26</span> <span class="n">all_T</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mf">300.</span><span class="p">,</span> <span class="mf">1000.</span><span class="p">,</span> <span class="mf">400.</span><span class="p">)):</span>
|
||
<span class="linenos"> 27</span> <span class="n">data</span> <span class="o">=</span> <span class="kc">None</span>
|
||
<span class="linenos"> 28</span> <span class="k">for</span> <span class="n">cluster</span> <span class="ow">in</span> <span class="n">clusters</span><span class="p">:</span>
|
||
<span class="linenos"> 29</span> <span class="c1"># Retrieve emitter's plane from cluster object</span>
|
||
<span class="linenos"> 30</span> <span class="n">plane</span> <span class="o">=</span> <span class="n">cluster</span><span class="o">.</span><span class="n">info</span><span class="p">[</span><span class="s1">'emitter_plane'</span><span class="p">]</span>
|
||
<span class="linenos"> 31</span>
|
||
<span class="linenos"> 32</span> <span class="n">calc</span> <span class="o">=</span> <span class="n">MSSPEC</span><span class="p">(</span><span class="n">spectroscopy</span><span class="o">=</span><span class="s1">'PED'</span><span class="p">,</span> <span class="n">algorithm</span><span class="o">=</span><span class="s1">'expansion'</span><span class="p">)</span>
|
||
<span class="linenos"> 33</span> <span class="n">calc</span><span class="o">.</span><span class="n">source_parameters</span><span class="o">.</span><span class="n">energy</span> <span class="o">=</span> <span class="n">XRaySource</span><span class="o">.</span><span class="n">AL_KALPHA</span>
|
||
<span class="linenos"> 34</span> <span class="n">calc</span><span class="o">.</span><span class="n">muffintin_parameters</span><span class="o">.</span><span class="n">interstitial_potential</span> <span class="o">=</span> <span class="mf">14.1</span>
|
||
<span class="linenos"> 35</span>
|
||
<span class="linenos"> 36</span> <span class="c1"># In simple scattering, it is common practice to use a real potential and</span>
|
||
<span class="linenos"> 37</span> <span class="c1"># manually define a mean free path arbitrarily lower than the actual physical</span>
|
||
<span class="linenos"> 38</span> <span class="c1"># value in an attempt to reproduce multiple scattering effects.</span>
|
||
<span class="linenos"> 39</span> <span class="n">calc</span><span class="o">.</span><span class="n">tmatrix_parameters</span><span class="o">.</span><span class="n">exchange_correlation</span> <span class="o">=</span> <span class="s1">'x_alpha_real'</span>
|
||
<span class="hll"><span class="linenos"> 40</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">mean_free_path</span> <span class="o">=</span> <span class="o">...</span> <span class="c1"># -> half of the mean free</span>
|
||
</span><span class="hll"><span class="linenos"> 41</span> <span class="c1"># path (see p6785)</span>
|
||
</span><span class="linenos"> 42</span> <span class="c1"># Parameters for temperature effects</span>
|
||
<span class="linenos"> 43</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">vibrational_damping</span> <span class="o">=</span> <span class="s1">'averaged_tl'</span>
|
||
<span class="hll"><span class="linenos"> 44</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">use_debye_model</span> <span class="o">=</span> <span class="o">.....</span> <span class="c1"># Use the MsSpec help</span>
|
||
</span><span class="hll"><span class="linenos"> 45</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">debye_temperature</span> <span class="o">=</span> <span class="o">...</span> <span class="c1"># and p6791 of the paper</span>
|
||
</span><span class="hll"><span class="linenos"> 46</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">vibration_scaling</span> <span class="o">=</span> <span class="o">...</span> <span class="c1"># -> How much more do </span>
|
||
</span><span class="hll"><span class="linenos"> 47</span> <span class="c1"># surface atoms vibrate </span>
|
||
</span><span class="hll"><span class="linenos"> 48</span> <span class="c1"># than bulk atoms?</span>
|
||
</span><span class="linenos"> 49</span> <span class="n">calc</span><span class="o">.</span><span class="n">detector_parameters</span><span class="o">.</span><span class="n">average_sampling</span> <span class="o">=</span> <span class="s1">'low'</span>
|
||
<span class="linenos"> 50</span> <span class="n">calc</span><span class="o">.</span><span class="n">detector_parameters</span><span class="o">.</span><span class="n">angular_acceptance</span> <span class="o">=</span> <span class="mf">5.7</span>
|
||
<span class="linenos"> 51</span>
|
||
<span class="linenos"> 52</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">scattering_order</span> <span class="o">=</span> <span class="mi">1</span>
|
||
<span class="linenos"> 53</span>
|
||
<span class="linenos"> 54</span>
|
||
<span class="linenos"> 55</span> <span class="k">for</span> <span class="n">T</span> <span class="ow">in</span> <span class="n">all_T</span><span class="p">:</span>
|
||
<span class="linenos"> 56</span> <span class="c1"># Define the sample temperature</span>
|
||
<span class="linenos"> 57</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">temperature</span> <span class="o">=</span> <span class="n">T</span>
|
||
<span class="linenos"> 58</span> <span class="c1"># Set the atoms and compute an azimuthal scan</span>
|
||
<span class="linenos"> 59</span> <span class="n">calc</span><span class="o">.</span><span class="n">set_atoms</span><span class="p">(</span><span class="n">cluster</span><span class="p">)</span>
|
||
<span class="linenos"> 60</span> <span class="n">data</span> <span class="o">=</span> <span class="n">calc</span><span class="o">.</span><span class="n">get_phi_scan</span><span class="p">(</span><span class="n">level</span><span class="o">=</span><span class="s1">'2p'</span><span class="p">,</span> <span class="n">theta</span><span class="o">=</span><span class="n">all_theta</span><span class="p">,</span>
|
||
<span class="linenos"> 61</span> <span class="n">phi</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">51</span><span class="p">),</span>
|
||
<span class="linenos"> 62</span> <span class="n">kinetic_energy</span><span class="o">=</span><span class="mi">560</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">)</span>
|
||
<span class="linenos"> 63</span> <span class="c1"># Small changes to add some details in both the title of the dataset</span>
|
||
<span class="linenos"> 64</span> <span class="c1"># and the figure</span>
|
||
<span class="linenos"> 65</span> <span class="n">view</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">views</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||
<span class="linenos"> 66</span> <span class="n">t</span> <span class="o">=</span> <span class="n">view</span><span class="o">.</span><span class="n">_plotopts</span><span class="p">[</span><span class="s1">'title'</span><span class="p">]</span> <span class="o">+</span> <span class="sa">f</span><span class="s2">" (plane #</span><span class="si">{</span><span class="n">plane</span><span class="si">:</span><span class="s2">d</span><span class="si">}</span><span class="s2">, T=</span><span class="si">{</span><span class="n">T</span><span class="si">:</span><span class="s2">.0f</span><span class="si">}</span><span class="s2"> K)"</span>
|
||
<span class="linenos"> 67</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">title</span> <span class="o">=</span> <span class="n">t</span>
|
||
<span class="linenos"> 68</span> <span class="n">view</span><span class="o">.</span><span class="n">set_plot_options</span><span class="p">(</span><span class="n">autoscale</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="n">t</span><span class="p">)</span>
|
||
<span class="linenos"> 69</span> <span class="n">calc</span><span class="o">.</span><span class="n">shutdown</span><span class="p">()</span>
|
||
<span class="linenos"> 70</span> <span class="k">return</span> <span class="n">data</span>
|
||
<span class="linenos"> 71</span>
|
||
<span class="linenos"> 72</span>
|
||
<span class="linenos"> 73</span><span class="k">def</span><span class="w"> </span><span class="nf">analysis</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">all_theta</span><span class="p">,</span> <span class="n">all_T</span><span class="p">,</span> <span class="n">nplanes</span><span class="p">):</span>
|
||
<span class="linenos"> 74</span> <span class="c1"># Sum cross_section for all emitter's plane at a given T</span>
|
||
<span class="linenos"> 75</span> <span class="c1"># Compute the anisotropy</span>
|
||
<span class="linenos"> 76</span> <span class="n">results</span> <span class="o">=</span> <span class="nb">dict</span><span class="o">.</span><span class="n">fromkeys</span><span class="p">(</span><span class="n">all_T</span><span class="p">,</span> <span class="p">[])</span>
|
||
<span class="linenos"> 77</span> <span class="n">anisotropy</span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="linenos"> 78</span> <span class="k">for</span> <span class="n">dset</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
|
||
<span class="linenos"> 79</span> <span class="c1"># Retrieve temperature</span>
|
||
<span class="linenos"> 80</span> <span class="n">T</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">dset</span><span class="o">.</span><span class="n">get_parameter</span><span class="p">(</span><span class="s1">'CalculationParameters'</span><span class="p">,</span> <span class="s1">'temperature'</span><span class="p">)[</span><span class="s1">'value'</span><span class="p">])</span>
|
||
<span class="linenos"> 81</span> <span class="c1"># Update the sum in results</span>
|
||
<span class="linenos"> 82</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">results</span><span class="p">[</span><span class="n">T</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||
<span class="linenos"> 83</span> <span class="n">results</span><span class="p">[</span><span class="n">T</span><span class="p">]</span> <span class="o">=</span> <span class="n">dset</span><span class="o">.</span><span class="n">cross_section</span>
|
||
<span class="linenos"> 84</span> <span class="k">else</span><span class="p">:</span>
|
||
<span class="linenos"> 85</span> <span class="n">results</span><span class="p">[</span><span class="n">T</span><span class="p">]</span> <span class="o">+=</span> <span class="n">dset</span><span class="o">.</span><span class="n">cross_section</span>
|
||
<span class="linenos"> 86</span>
|
||
<span class="linenos"> 87</span> <span class="n">anisotropy_dset</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">add_dset</span><span class="p">(</span><span class="s2">"Anisotropies"</span><span class="p">)</span>
|
||
<span class="linenos"> 88</span> <span class="n">anisotropy_dset</span><span class="o">.</span><span class="n">add_columns</span><span class="p">(</span><span class="n">temperature</span><span class="o">=</span><span class="n">all_T</span><span class="p">)</span>
|
||
<span class="linenos"> 89</span> <span class="k">for</span> <span class="n">theta</span> <span class="ow">in</span> <span class="n">all_theta</span><span class="p">:</span>
|
||
<span class="linenos"> 90</span> <span class="n">col_name</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"theta</span><span class="si">{</span><span class="n">theta</span><span class="si">:</span><span class="s2">.0f</span><span class="si">}</span><span class="s2">"</span>
|
||
<span class="linenos"> 91</span> <span class="n">col_values</span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="linenos"> 92</span> <span class="n">i</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">dset</span><span class="o">.</span><span class="n">theta</span> <span class="o">==</span> <span class="n">theta</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||
<span class="linenos"> 93</span> <span class="k">for</span> <span class="n">T</span> <span class="ow">in</span> <span class="n">all_T</span><span class="p">:</span>
|
||
<span class="linenos"> 94</span> <span class="n">cs</span> <span class="o">=</span> <span class="n">results</span><span class="p">[</span><span class="n">T</span><span class="p">][</span><span class="n">i</span><span class="p">]</span>
|
||
<span class="linenos"> 95</span> <span class="n">Imax</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">cs</span><span class="p">)</span>
|
||
<span class="linenos"> 96</span> <span class="n">Imin</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">cs</span><span class="p">)</span>
|
||
<span class="linenos"> 97</span> <span class="n">A</span> <span class="o">=</span> <span class="p">(</span><span class="n">Imax</span> <span class="o">-</span> <span class="n">Imin</span><span class="p">)</span><span class="o">/</span><span class="n">Imax</span>
|
||
<span class="linenos"> 98</span> <span class="n">col_values</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">A</span><span class="p">)</span>
|
||
<span class="linenos"> 99</span> <span class="n">anisotropy_dset</span><span class="o">.</span><span class="n">add_columns</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="n">col_name</span><span class="p">:</span><span class="n">col_values</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">col_values</span><span class="p">)})</span>
|
||
<span class="linenos">100</span>
|
||
<span class="linenos">101</span>
|
||
<span class="linenos">102</span> <span class="n">anisotropy_view</span> <span class="o">=</span> <span class="n">anisotropy_dset</span><span class="o">.</span><span class="n">add_view</span><span class="p">(</span><span class="s1">'Anisotropies'</span><span class="p">,</span>
|
||
<span class="linenos">103</span> <span class="n">title</span><span class="o">=</span><span class="s1">'Relative anisotropies for Cu(2p)'</span><span class="p">,</span>
|
||
<span class="linenos">104</span> <span class="n">marker</span><span class="o">=</span><span class="s1">'o'</span><span class="p">,</span>
|
||
<span class="linenos">105</span> <span class="n">xlabel</span><span class="o">=</span><span class="s1">'T (K)'</span><span class="p">,</span>
|
||
<span class="linenos">106</span> <span class="n">ylabel</span><span class="o">=</span><span class="sa">r</span><span class="s1">'$\frac{\Delta I / I_</span><span class="si">{max}</span><span class="s1">(T)}{\Delta I_</span><span class="si">{300}</span><span class="s1">'</span>
|
||
<span class="linenos">107</span> <span class="sa">r</span><span class="s1">'/ I_</span><span class="si">{max}</span><span class="s1">(300)} (\%)$'</span><span class="p">,</span>
|
||
<span class="linenos">108</span> <span class="n">autoscale</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||
<span class="linenos">109</span> <span class="k">for</span> <span class="n">theta</span> <span class="ow">in</span> <span class="n">all_theta</span><span class="p">:</span>
|
||
<span class="linenos">110</span> <span class="n">col_name</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"theta</span><span class="si">{</span><span class="n">theta</span><span class="si">:</span><span class="s2">.0f</span><span class="si">}</span><span class="s2">"</span>
|
||
<span class="linenos">111</span> <span class="n">anisotropy_view</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s1">'temperature'</span><span class="p">,</span> <span class="n">col_name</span><span class="p">,</span>
|
||
<span class="linenos">112</span> <span class="n">legend</span><span class="o">=</span><span class="sa">r</span><span class="s1">'$\theta = </span><span class="si">{:.0f}</span><span class="s1"> \degree$'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">theta</span><span class="p">))</span>
|
||
<span class="linenos">113</span>
|
||
<span class="linenos">114</span> <span class="k">return</span> <span class="n">data</span>
|
||
<span class="linenos">115</span>
|
||
<span class="linenos">116</span>
|
||
<span class="linenos">117</span>
|
||
<span class="linenos">118</span><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span>
|
||
<span class="linenos">119</span> <span class="n">nplanes</span> <span class="o">=</span> <span class="mi">4</span>
|
||
<span class="linenos">120</span> <span class="n">all_theta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">45</span><span class="p">,</span> <span class="mi">83</span><span class="p">])</span>
|
||
<span class="linenos">121</span> <span class="n">all_theta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">300.</span><span class="p">,</span> <span class="mf">1000.</span><span class="p">])</span>
|
||
<span class="linenos">122</span>
|
||
<span class="linenos">123</span> <span class="n">clusters</span> <span class="o">=</span> <span class="n">create_clusters</span><span class="p">(</span><span class="n">nplanes</span><span class="o">=</span><span class="n">nplanes</span><span class="p">)</span>
|
||
<span class="linenos">124</span> <span class="n">data</span> <span class="o">=</span> <span class="n">compute</span><span class="p">(</span><span class="n">clusters</span><span class="p">,</span> <span class="n">all_T</span><span class="o">=</span><span class="n">all_T</span><span class="p">,</span> <span class="n">all_theta</span><span class="o">=</span><span class="n">all_theta</span><span class="p">)</span>
|
||
<span class="linenos">125</span> <span class="n">data</span> <span class="o">=</span> <span class="n">analysis</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">all_T</span><span class="o">=</span><span class="n">all_T</span><span class="p">,</span> <span class="n">all_theta</span><span class="o">=</span><span class="n">all_theta</span><span class="p">,</span> <span class="n">nplanes</span><span class="o">=</span><span class="n">nplanes</span><span class="p">)</span>
|
||
<span class="linenos">126</span> <span class="n">data</span><span class="o">.</span><span class="n">view</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="toggle docutils container">
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="kn">from</span><span class="w"> </span><span class="nn">ase.build</span><span class="w"> </span><span class="kn">import</span> <span class="n">bulk</span>
|
||
<span class="linenos"> 2</span><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||
<span class="linenos"> 3</span>
|
||
<span class="linenos"> 4</span><span class="kn">from</span><span class="w"> </span><span class="nn">msspec.calculator</span><span class="w"> </span><span class="kn">import</span> <span class="n">MSSPEC</span><span class="p">,</span> <span class="n">XRaySource</span>
|
||
<span class="linenos"> 5</span><span class="kn">from</span><span class="w"> </span><span class="nn">msspec.utils</span><span class="w"> </span><span class="kn">import</span> <span class="n">hemispherical_cluster</span><span class="p">,</span> <span class="n">get_atom_index</span>
|
||
<span class="linenos"> 6</span>
|
||
<span class="linenos"> 7</span><span class="k">def</span><span class="w"> </span><span class="nf">create_clusters</span><span class="p">(</span><span class="n">nplanes</span><span class="o">=</span><span class="mi">3</span><span class="p">):</span>
|
||
<span class="linenos"> 8</span> <span class="n">copper</span> <span class="o">=</span> <span class="n">bulk</span><span class="p">(</span><span class="s1">'Cu'</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="mf">3.6</span><span class="p">,</span> <span class="n">cubic</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||
<span class="linenos"> 9</span> <span class="n">clusters</span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="linenos"> 10</span> <span class="k">for</span> <span class="n">emitter_plane</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nplanes</span><span class="p">):</span>
|
||
<span class="linenos"> 11</span> <span class="n">cluster</span> <span class="o">=</span> <span class="n">hemispherical_cluster</span><span class="p">(</span><span class="n">copper</span><span class="p">,</span>
|
||
<span class="linenos"> 12</span> <span class="n">emitter_plane</span><span class="o">=</span><span class="n">emitter_plane</span><span class="p">,</span>
|
||
<span class="linenos"> 13</span> <span class="n">planes</span><span class="o">=</span><span class="n">emitter_plane</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="linenos"> 14</span> <span class="n">diameter</span><span class="o">=</span><span class="mi">27</span><span class="p">,</span>
|
||
<span class="linenos"> 15</span> <span class="n">shape</span><span class="o">=</span><span class="s1">'cylindrical'</span><span class="p">)</span>
|
||
<span class="linenos"> 16</span> <span class="n">cluster</span><span class="o">.</span><span class="n">absorber</span> <span class="o">=</span> <span class="n">get_atom_index</span><span class="p">(</span><span class="n">cluster</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
|
||
<span class="linenos"> 17</span> <span class="c1"># This is how to store extra information with your cluster</span>
|
||
<span class="linenos"> 18</span> <span class="n">cluster</span><span class="o">.</span><span class="n">info</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
|
||
<span class="linenos"> 19</span> <span class="s1">'emitter_plane'</span><span class="p">:</span> <span class="n">emitter_plane</span><span class="p">,</span>
|
||
<span class="linenos"> 20</span> <span class="p">})</span>
|
||
<span class="linenos"> 21</span> <span class="n">clusters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cluster</span><span class="p">)</span>
|
||
<span class="linenos"> 22</span> <span class="k">return</span> <span class="n">clusters</span>
|
||
<span class="linenos"> 23</span>
|
||
<span class="linenos"> 24</span>
|
||
<span class="linenos"> 25</span><span class="k">def</span><span class="w"> </span><span class="nf">compute</span><span class="p">(</span><span class="n">clusters</span><span class="p">,</span> <span class="n">all_theta</span><span class="o">=</span><span class="p">[</span><span class="mf">45.</span><span class="p">,</span> <span class="mf">83.</span><span class="p">],</span>
|
||
<span class="linenos"> 26</span> <span class="n">all_T</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mf">300.</span><span class="p">,</span> <span class="mf">1000.</span><span class="p">,</span> <span class="mf">400.</span><span class="p">)):</span>
|
||
<span class="linenos"> 27</span> <span class="n">data</span> <span class="o">=</span> <span class="kc">None</span>
|
||
<span class="linenos"> 28</span> <span class="k">for</span> <span class="n">cluster</span> <span class="ow">in</span> <span class="n">clusters</span><span class="p">:</span>
|
||
<span class="linenos"> 29</span> <span class="c1"># Retrieve emitter's plane from cluster object</span>
|
||
<span class="linenos"> 30</span> <span class="n">plane</span> <span class="o">=</span> <span class="n">cluster</span><span class="o">.</span><span class="n">info</span><span class="p">[</span><span class="s1">'emitter_plane'</span><span class="p">]</span>
|
||
<span class="linenos"> 31</span>
|
||
<span class="linenos"> 32</span> <span class="n">calc</span> <span class="o">=</span> <span class="n">MSSPEC</span><span class="p">(</span><span class="n">spectroscopy</span><span class="o">=</span><span class="s1">'PED'</span><span class="p">,</span> <span class="n">algorithm</span><span class="o">=</span><span class="s1">'expansion'</span><span class="p">)</span>
|
||
<span class="linenos"> 33</span> <span class="n">calc</span><span class="o">.</span><span class="n">source_parameters</span><span class="o">.</span><span class="n">energy</span> <span class="o">=</span> <span class="n">XRaySource</span><span class="o">.</span><span class="n">AL_KALPHA</span>
|
||
<span class="linenos"> 34</span> <span class="n">calc</span><span class="o">.</span><span class="n">muffintin_parameters</span><span class="o">.</span><span class="n">interstitial_potential</span> <span class="o">=</span> <span class="mf">14.1</span>
|
||
<span class="linenos"> 35</span>
|
||
<span class="linenos"> 36</span> <span class="c1"># In simple scattering, it is common practice to use a real potential and</span>
|
||
<span class="linenos"> 37</span> <span class="c1"># manually define a mean free path arbitrarily lower than the actual physical</span>
|
||
<span class="linenos"> 38</span> <span class="c1"># value in an attempt to reproduce multiple scattering effects.</span>
|
||
<span class="linenos"> 39</span> <span class="n">calc</span><span class="o">.</span><span class="n">tmatrix_parameters</span><span class="o">.</span><span class="n">exchange_correlation</span> <span class="o">=</span> <span class="s1">'x_alpha_real'</span>
|
||
<span class="hll"><span class="linenos"> 40</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">mean_free_path</span> <span class="o">=</span> <span class="mf">.5</span> <span class="o">*</span> <span class="mf">9.1</span>
|
||
</span><span class="hll"><span class="linenos"> 41</span>
|
||
</span><span class="linenos"> 42</span> <span class="c1"># Parameters for temperature effects</span>
|
||
<span class="linenos"> 43</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">vibrational_damping</span> <span class="o">=</span> <span class="s1">'averaged_tl'</span>
|
||
<span class="hll"><span class="linenos"> 44</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">use_debye_model</span> <span class="o">=</span> <span class="kc">True</span>
|
||
</span><span class="hll"><span class="linenos"> 45</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">debye_temperature</span> <span class="o">=</span> <span class="mi">343</span>
|
||
</span><span class="hll"><span class="linenos"> 46</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">vibration_scaling</span> <span class="o">=</span> <span class="mf">2.3</span>
|
||
</span><span class="hll"><span class="linenos"> 47</span>
|
||
</span><span class="hll"><span class="linenos"> 48</span>
|
||
</span><span class="linenos"> 49</span> <span class="n">calc</span><span class="o">.</span><span class="n">detector_parameters</span><span class="o">.</span><span class="n">average_sampling</span> <span class="o">=</span> <span class="s1">'low'</span>
|
||
<span class="linenos"> 50</span> <span class="n">calc</span><span class="o">.</span><span class="n">detector_parameters</span><span class="o">.</span><span class="n">angular_acceptance</span> <span class="o">=</span> <span class="mf">5.7</span>
|
||
<span class="linenos"> 51</span>
|
||
<span class="linenos"> 52</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">scattering_order</span> <span class="o">=</span> <span class="mi">1</span>
|
||
<span class="linenos"> 53</span>
|
||
<span class="linenos"> 54</span>
|
||
<span class="linenos"> 55</span> <span class="k">for</span> <span class="n">T</span> <span class="ow">in</span> <span class="n">all_T</span><span class="p">:</span>
|
||
<span class="linenos"> 56</span> <span class="c1"># Define the sample temperature</span>
|
||
<span class="linenos"> 57</span> <span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">temperature</span> <span class="o">=</span> <span class="n">T</span>
|
||
<span class="linenos"> 58</span> <span class="c1"># Set the atoms and compute an azimuthal scan</span>
|
||
<span class="linenos"> 59</span> <span class="n">calc</span><span class="o">.</span><span class="n">set_atoms</span><span class="p">(</span><span class="n">cluster</span><span class="p">)</span>
|
||
<span class="linenos"> 60</span> <span class="n">data</span> <span class="o">=</span> <span class="n">calc</span><span class="o">.</span><span class="n">get_phi_scan</span><span class="p">(</span><span class="n">level</span><span class="o">=</span><span class="s1">'2p'</span><span class="p">,</span> <span class="n">theta</span><span class="o">=</span><span class="n">all_theta</span><span class="p">,</span>
|
||
<span class="linenos"> 61</span> <span class="n">phi</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">51</span><span class="p">),</span>
|
||
<span class="linenos"> 62</span> <span class="n">kinetic_energy</span><span class="o">=</span><span class="mi">560</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">)</span>
|
||
<span class="linenos"> 63</span> <span class="c1"># Small changes to add some details in both the title of the dataset</span>
|
||
<span class="linenos"> 64</span> <span class="c1"># and the figure</span>
|
||
<span class="linenos"> 65</span> <span class="n">view</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">views</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||
<span class="linenos"> 66</span> <span class="n">t</span> <span class="o">=</span> <span class="n">view</span><span class="o">.</span><span class="n">_plotopts</span><span class="p">[</span><span class="s1">'title'</span><span class="p">]</span> <span class="o">+</span> <span class="sa">f</span><span class="s2">" (plane #</span><span class="si">{</span><span class="n">plane</span><span class="si">:</span><span class="s2">d</span><span class="si">}</span><span class="s2">, T=</span><span class="si">{</span><span class="n">T</span><span class="si">:</span><span class="s2">.0f</span><span class="si">}</span><span class="s2"> K)"</span>
|
||
<span class="linenos"> 67</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">title</span> <span class="o">=</span> <span class="n">t</span>
|
||
<span class="linenos"> 68</span> <span class="n">view</span><span class="o">.</span><span class="n">set_plot_options</span><span class="p">(</span><span class="n">autoscale</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="n">t</span><span class="p">)</span>
|
||
<span class="linenos"> 69</span> <span class="n">calc</span><span class="o">.</span><span class="n">shutdown</span><span class="p">()</span>
|
||
<span class="linenos"> 70</span> <span class="k">return</span> <span class="n">data</span>
|
||
<span class="linenos"> 71</span>
|
||
<span class="linenos"> 72</span>
|
||
<span class="linenos"> 73</span><span class="k">def</span><span class="w"> </span><span class="nf">analysis</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">all_theta</span><span class="p">,</span> <span class="n">all_T</span><span class="p">,</span> <span class="n">nplanes</span><span class="p">):</span>
|
||
<span class="linenos"> 74</span> <span class="c1"># Sum cross_section for all emitter's plane at a given T</span>
|
||
<span class="linenos"> 75</span> <span class="c1"># Compute the anisotropy</span>
|
||
<span class="linenos"> 76</span> <span class="n">results</span> <span class="o">=</span> <span class="nb">dict</span><span class="o">.</span><span class="n">fromkeys</span><span class="p">(</span><span class="n">all_T</span><span class="p">,</span> <span class="p">[])</span>
|
||
<span class="linenos"> 77</span> <span class="n">anisotropy</span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="linenos"> 78</span> <span class="k">for</span> <span class="n">dset</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
|
||
<span class="linenos"> 79</span> <span class="c1"># Retrieve temperature</span>
|
||
<span class="linenos"> 80</span> <span class="n">T</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">dset</span><span class="o">.</span><span class="n">get_parameter</span><span class="p">(</span><span class="s1">'CalculationParameters'</span><span class="p">,</span> <span class="s1">'temperature'</span><span class="p">)[</span><span class="s1">'value'</span><span class="p">])</span>
|
||
<span class="linenos"> 81</span> <span class="c1"># Update the sum in results</span>
|
||
<span class="linenos"> 82</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">results</span><span class="p">[</span><span class="n">T</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||
<span class="linenos"> 83</span> <span class="n">results</span><span class="p">[</span><span class="n">T</span><span class="p">]</span> <span class="o">=</span> <span class="n">dset</span><span class="o">.</span><span class="n">cross_section</span>
|
||
<span class="linenos"> 84</span> <span class="k">else</span><span class="p">:</span>
|
||
<span class="linenos"> 85</span> <span class="n">results</span><span class="p">[</span><span class="n">T</span><span class="p">]</span> <span class="o">+=</span> <span class="n">dset</span><span class="o">.</span><span class="n">cross_section</span>
|
||
<span class="linenos"> 86</span>
|
||
<span class="linenos"> 87</span> <span class="n">anisotropy_dset</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">add_dset</span><span class="p">(</span><span class="s2">"Anisotropies"</span><span class="p">)</span>
|
||
<span class="linenos"> 88</span> <span class="n">anisotropy_dset</span><span class="o">.</span><span class="n">add_columns</span><span class="p">(</span><span class="n">temperature</span><span class="o">=</span><span class="n">all_T</span><span class="p">)</span>
|
||
<span class="linenos"> 89</span> <span class="k">for</span> <span class="n">theta</span> <span class="ow">in</span> <span class="n">all_theta</span><span class="p">:</span>
|
||
<span class="linenos"> 90</span> <span class="n">col_name</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"theta</span><span class="si">{</span><span class="n">theta</span><span class="si">:</span><span class="s2">.0f</span><span class="si">}</span><span class="s2">"</span>
|
||
<span class="linenos"> 91</span> <span class="n">col_values</span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="linenos"> 92</span> <span class="n">i</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">dset</span><span class="o">.</span><span class="n">theta</span> <span class="o">==</span> <span class="n">theta</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||
<span class="linenos"> 93</span> <span class="k">for</span> <span class="n">T</span> <span class="ow">in</span> <span class="n">all_T</span><span class="p">:</span>
|
||
<span class="linenos"> 94</span> <span class="n">cs</span> <span class="o">=</span> <span class="n">results</span><span class="p">[</span><span class="n">T</span><span class="p">][</span><span class="n">i</span><span class="p">]</span>
|
||
<span class="linenos"> 95</span> <span class="n">Imax</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">cs</span><span class="p">)</span>
|
||
<span class="linenos"> 96</span> <span class="n">Imin</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">cs</span><span class="p">)</span>
|
||
<span class="linenos"> 97</span> <span class="n">A</span> <span class="o">=</span> <span class="p">(</span><span class="n">Imax</span> <span class="o">-</span> <span class="n">Imin</span><span class="p">)</span><span class="o">/</span><span class="n">Imax</span>
|
||
<span class="linenos"> 98</span> <span class="n">col_values</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">A</span><span class="p">)</span>
|
||
<span class="linenos"> 99</span> <span class="n">anisotropy_dset</span><span class="o">.</span><span class="n">add_columns</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="n">col_name</span><span class="p">:</span><span class="n">col_values</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">col_values</span><span class="p">)})</span>
|
||
<span class="linenos">100</span>
|
||
<span class="linenos">101</span>
|
||
<span class="linenos">102</span> <span class="n">anisotropy_view</span> <span class="o">=</span> <span class="n">anisotropy_dset</span><span class="o">.</span><span class="n">add_view</span><span class="p">(</span><span class="s1">'Anisotropies'</span><span class="p">,</span>
|
||
<span class="linenos">103</span> <span class="n">title</span><span class="o">=</span><span class="s1">'Relative anisotropies for Cu(2p)'</span><span class="p">,</span>
|
||
<span class="linenos">104</span> <span class="n">marker</span><span class="o">=</span><span class="s1">'o'</span><span class="p">,</span>
|
||
<span class="linenos">105</span> <span class="n">xlabel</span><span class="o">=</span><span class="s1">'T (K)'</span><span class="p">,</span>
|
||
<span class="linenos">106</span> <span class="n">ylabel</span><span class="o">=</span><span class="sa">r</span><span class="s1">'$\frac{\Delta I / I_</span><span class="si">{max}</span><span class="s1">(T)}{\Delta I_</span><span class="si">{300}</span><span class="s1">'</span>
|
||
<span class="linenos">107</span> <span class="sa">r</span><span class="s1">'/ I_</span><span class="si">{max}</span><span class="s1">(300)} (\%)$'</span><span class="p">,</span>
|
||
<span class="linenos">108</span> <span class="n">autoscale</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||
<span class="linenos">109</span> <span class="k">for</span> <span class="n">theta</span> <span class="ow">in</span> <span class="n">all_theta</span><span class="p">:</span>
|
||
<span class="linenos">110</span> <span class="n">col_name</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"theta</span><span class="si">{</span><span class="n">theta</span><span class="si">:</span><span class="s2">.0f</span><span class="si">}</span><span class="s2">"</span>
|
||
<span class="linenos">111</span> <span class="n">anisotropy_view</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s1">'temperature'</span><span class="p">,</span> <span class="n">col_name</span><span class="p">,</span>
|
||
<span class="linenos">112</span> <span class="n">legend</span><span class="o">=</span><span class="sa">r</span><span class="s1">'$\theta = </span><span class="si">{:.0f}</span><span class="s1"> \degree$'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">theta</span><span class="p">))</span>
|
||
<span class="linenos">113</span>
|
||
<span class="linenos">114</span> <span class="k">return</span> <span class="n">data</span>
|
||
<span class="linenos">115</span>
|
||
<span class="linenos">116</span>
|
||
<span class="linenos">117</span>
|
||
<span class="linenos">118</span><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span>
|
||
<span class="linenos">119</span> <span class="n">nplanes</span> <span class="o">=</span> <span class="mi">4</span>
|
||
<span class="linenos">120</span> <span class="n">all_theta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">45</span><span class="p">,</span> <span class="mi">83</span><span class="p">])</span>
|
||
<span class="linenos">121</span> <span class="n">all_theta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">300.</span><span class="p">,</span> <span class="mf">1000.</span><span class="p">])</span>
|
||
<span class="linenos">122</span>
|
||
<span class="linenos">123</span> <span class="n">clusters</span> <span class="o">=</span> <span class="n">create_clusters</span><span class="p">(</span><span class="n">nplanes</span><span class="o">=</span><span class="n">nplanes</span><span class="p">)</span>
|
||
<span class="linenos">124</span> <span class="n">data</span> <span class="o">=</span> <span class="n">compute</span><span class="p">(</span><span class="n">clusters</span><span class="p">,</span> <span class="n">all_T</span><span class="o">=</span><span class="n">all_T</span><span class="p">,</span> <span class="n">all_theta</span><span class="o">=</span><span class="n">all_theta</span><span class="p">)</span>
|
||
<span class="linenos">125</span> <span class="n">data</span> <span class="o">=</span> <span class="n">analysis</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">all_T</span><span class="o">=</span><span class="n">all_T</span><span class="p">,</span> <span class="n">all_theta</span><span class="o">=</span><span class="n">all_theta</span><span class="p">,</span> <span class="n">nplanes</span><span class="o">=</span><span class="n">nplanes</span><span class="p">)</span>
|
||
<span class="linenos">126</span> <span class="n">data</span><span class="o">.</span><span class="n">view</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
<figure class="align-default" id="anisotropy-fig">
|
||
<a class="reference internal image-reference" href="../_images/anisotropies.png"><img alt="anisotropies" class="align-center" src="../_images/anisotropies.png" style="width: 600px;" />
|
||
</a>
|
||
<figcaption>
|
||
<p><span class="caption-number">Fig. 15 </span><span class="caption-text">Variation of anisotropy as a function of temperature and polar angle for Cu(2p).</span><a class="headerlink" href="#anisotropy-fig" title="Link to this image">#</a></p>
|
||
</figcaption>
|
||
</figure>
|
||
<p>The anisotropy decreases when the temperature is increased due to the increased disorder in the structure coming from thermal agitation. This variation in anisotropy is more pronounced for grazing incidence angles since surface atoms are expected to vibrate more than bulk ones and the expected mean depth of no-loss emission is <span class="math notranslate nohighlight">\(\sim 1\)</span> atomic layer at <span class="math notranslate nohighlight">\(\theta = 83°\)</span> and 3-4 layers at <span class="math notranslate nohighlight">\(\theta = 45°\)</span> as estimated by <span class="math notranslate nohighlight">\(\Lambda_e\sin\theta\)</span> (where <span class="math notranslate nohighlight">\(\Lambda_e\)</span> is the photoelectron mean free path at 560 eV).</p>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
|
||
<script type="text/x-thebe-config">
|
||
{
|
||
requestKernel: true,
|
||
binderOptions: {
|
||
repo: "binder-examples/jupyter-stacks-datascience",
|
||
ref: "master",
|
||
},
|
||
codeMirrorConfig: {
|
||
theme: "abcdef",
|
||
mode: "python"
|
||
},
|
||
kernelOptions: {
|
||
name: "python3",
|
||
path: "./Activity06"
|
||
},
|
||
predefinedOutput: true
|
||
}
|
||
</script>
|
||
<script>kernelName = 'python3'</script>
|
||
|
||
</article>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<footer class="prev-next-footer d-print-none">
|
||
|
||
<div class="prev-next-area">
|
||
<a class="left-prev"
|
||
href="../Activity05/Activity05.html"
|
||
title="previous page">
|
||
<i class="fa-solid fa-angle-left"></i>
|
||
<div class="prev-next-info">
|
||
<p class="prev-next-subtitle">previous</p>
|
||
<p class="prev-next-title">Activity 5: Multiple scattering in the forward scattering regime</p>
|
||
</div>
|
||
</a>
|
||
<a class="right-next"
|
||
href="../Activity07/Activity07.html"
|
||
title="next page">
|
||
<div class="prev-next-info">
|
||
<p class="prev-next-subtitle">next</p>
|
||
<p class="prev-next-title">Activity 7: Large clusters and path filtering</p>
|
||
</div>
|
||
<i class="fa-solid fa-angle-right"></i>
|
||
</a>
|
||
</div>
|
||
</footer>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
|
||
|
||
|
||
<div class="sidebar-secondary-item">
|
||
<div class="page-toc tocsection onthispage">
|
||
<i class="fa-solid fa-list"></i> Contents
|
||
</div>
|
||
<nav class="bd-toc-nav page-toc">
|
||
<ul class="visible nav section-nav flex-column">
|
||
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#surface-and-bulk-effects-of-the-temperature">Surface and bulk effects of the temperature</a><ul class="nav section-nav flex-column">
|
||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#the-script">The script</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</nav></div>
|
||
|
||
</div></div>
|
||
|
||
|
||
</div>
|
||
<footer class="bd-footer-content">
|
||
|
||
<div class="bd-footer-content__inner container">
|
||
|
||
<div class="footer-item">
|
||
|
||
<p class="component-author">
|
||
By Sylvain Tricot
|
||
</p>
|
||
|
||
</div>
|
||
|
||
<div class="footer-item">
|
||
|
||
|
||
<p class="copyright">
|
||
|
||
© Copyright 2023.
|
||
<br/>
|
||
|
||
</p>
|
||
|
||
</div>
|
||
|
||
<div class="footer-item">
|
||
|
||
</div>
|
||
|
||
<div class="footer-item">
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</footer>
|
||
|
||
|
||
</main>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Scripts loaded after <body> so the DOM is not blocked -->
|
||
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
|
||
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
|
||
|
||
<footer class="bd-footer">
|
||
</footer>
|
||
</body>
|
||
</html> |