SpectroscopySchool/msspecbook/_build/html/Activity07/Activity07.html

554 lines
24 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 7: Large clusters and path filtering &#8212; 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 = 'Activity07/Activity07';</script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Activity 8: Inequivalent emitters and the XPD of a substrate" href="../Activity08/Activity08.html" />
<link rel="prev" title="Activity 6: Effect of the temperature" href="../Activity06/Activity06.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"><a class="reference internal" href="../Activity06/Activity06.html">Activity 6: Effect of the temperature</a></li>
<li class="toctree-l1 current active"><a class="current reference internal" href="#">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/Activity07/Activity07.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 7: Large clusters and path filtering</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="#the-number-of-scattering-paths">The number of scattering paths</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#paths-filtering-in-msspec">Paths filtering in MsSpec</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#application-to-a-deep-plane-in-a-si-001-sample">Application to a deep plane in a Si(001) sample</a></li>
</ul>
</nav>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section class="tex2jax_ignore mathjax_ignore" id="activity-7-large-clusters-and-path-filtering">
<span id="path-filtering"></span><h1>Activity 7: Large clusters and path filtering<a class="headerlink" href="#activity-7-large-clusters-and-path-filtering" title="Link to this heading">#</a></h1>
<p>So far you have seen that multiple scattering calculations with MsSpec can use two different algorithms: <em>matrix inversion</em> or <em>Rehr Albers series expansion</em>. When matrix inversion becomes impossible because the kinetic energy is too high and the number of atoms is too large, serial expansion is the alternative. This algorithm requires very little memory but it processes the scattering paths sequentially, which can lead to very long calculation times.</p>
<p>In this activity, we will explore how to configure MsSpec to reduce this calculation time to compute the signal from a deep emitter in Si(001).</p>
<div class="docutils">
</div>
<section id="the-number-of-scattering-paths">
<h2>The number of scattering paths<a class="headerlink" href="#the-number-of-scattering-paths" title="Link to this heading">#</a></h2>
<p>To fix the idea, we will first evaluate how many scattering paths we need to compute for an emitter in the subsurface (2<sup>nd</sup> plane) or in the bulk (7<sup>th</sup> plane) of a Si(001) cluster.</p>
<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>Create a cluster of Si(001) with the emitter in the subsurface, 40 Å diameter with 2 planes (since atoms below the emitter can be ignored at high kinetic energies).</p>
<ol class="arabic simple">
<li><p>For an emitter in the subsurface, we can use single scattering (see <a class="reference internal" href="../Activity05/Activity05.html#forward-scattering"><span class="std std-ref">Activity 5: Multiple scattering in the forward scattering regime</span></a>). How many paths would be generated for this calculation ?</p></li>
<li><p>Same question for an emitter in the 7<sup>th</sup> plane. If we were able to treat each scattering path within only 1 µs. How long would be such calculation ?</p></li>
</ol>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Remember that</p>
<ol class="arabic simple">
<li><p>for an emitter in plane <span class="math notranslate nohighlight">\(p\)</span>, the scattering order has to be at least the number of planes <code class="docutils literal notranslate"><span class="pre">above</span></code> the emitter</p></li>
<li><p>The number of scattering paths of order <span class="math notranslate nohighlight">\(n\)</span> corresponds to the number of possibilities of arranging up to <span class="math notranslate nohighlight">\(n\)</span> atoms (taking order into account).</p></li>
</ol>
</div>
</div>
</div>
<div class="toggle docutils container">
<p>To get the total number of paths generated by a cluster of <span class="math notranslate nohighlight">\(N\)</span> atoms up to order <span class="math notranslate nohighlight">\(M\)</span>, use the following formula:</p>
<div class="math notranslate nohighlight" id="equation-eq-nbpaths">
<span class="eqno">(3)<a class="headerlink" href="#equation-eq-nbpaths" title="Link to this equation">#</a></span>\[\sum_{i=0}^{i=M} (N-1)^i\]</div>
<figure class="align-default" id="nbpaths-fig">
<a class="reference internal image-reference" href="../_images/fig1.jpg"><img alt="path filtering" class="align-center" src="../_images/fig1.jpg" style="width: 600px;" />
</a>
<figcaption>
<p><span class="caption-number">Fig. 16 </span><span class="caption-text">The time for computing all scattering path for increasing cluster size and scattering order (up to 6<sup>th</sup> order with 739 atoms. (One path is assumed to be calculated within 1 µs)</span><a class="headerlink" href="#nbpaths-fig" title="Link to this image">#</a></p>
</figcaption>
</figure>
</div>
<div class="docutils">
</div>
</section>
<section id="paths-filtering-in-msspec">
<h2>Paths filtering in MsSpec<a class="headerlink" href="#paths-filtering-in-msspec" title="Link to this heading">#</a></h2>
<p>As you may expect, not all paths contribute significantly to the total intensity. This is why we can filter out some scattering paths and drastically reduce the computation time. MsSpec offers several filters for this. The 3 most common filters are:</p>
<ol class="arabic simple">
<li><p>the <code class="docutils literal notranslate"><span class="pre">forward_scattering</span></code> filter which allows all paths where each scattering angle is within a cone of defined aperture</p></li>
<li><p>the <code class="docutils literal notranslate"><span class="pre">backward_scattering</span></code> filter which is similar to the previous one but for backscattering direction</p></li>
<li><p>the <code class="docutils literal notranslate"><span class="pre">distance</span></code> filter which rejects all paths longer than a threshold distance</p></li>
</ol>
<p>The following figure illustrate the effect of theses filters on scattering paths</p>
<figure class="align-default" id="filters-fig">
<a class="reference internal image-reference" href="../_images/filters.jpg"><img alt="path filtering" class="align-center" src="../_images/filters.jpg" style="width: 600px;" />
</a>
<figcaption>
<p><span class="caption-number">Fig. 17 </span><span class="caption-text">Some examples of scattering paths with <code class="docutils literal notranslate"><span class="pre">forward_scattering</span></code>, <code class="docutils literal notranslate"><span class="pre">backward_scattering</span></code> and <code class="docutils literal notranslate"><span class="pre">distance</span></code> filters selected. The accepted forward angle is 45°, the accepted backscattering angle is 20° and the threshold distance is <span class="math notranslate nohighlight">\(6a_0\)</span> where <span class="math notranslate nohighlight">\(a_0\)</span> is the lattice parameter. Note that the yellow path is rejected but if the <code class="docutils literal notranslate"><span class="pre">off_cone_events</span></code> option is set to a value &gt; 1, then it could have been accepted.</span><a class="headerlink" href="#filters-fig" title="Link to this image">#</a></p>
</figcaption>
</figure>
</section>
<section id="application-to-a-deep-plane-in-a-si-001-sample">
<h2>Application to a deep plane in a Si(001) sample<a class="headerlink" href="#application-to-a-deep-plane-in-a-si-001-sample" title="Link to this heading">#</a></h2>
<p>The following script will compute contribution of all the planes of a Si(001) substrate to get the total photoelectron intensity of a Si(2s) polar scan.</p>
<div class="sd-tab-set docutils">
<input checked="checked" id="sd-tab-item-1" name="sd-tab-set-1" type="radio">
<label class="sd-tab-label" for="sd-tab-item-1">
<i class="fa-solid fa-circle-question"></i> Quiz</label><div class="sd-tab-content docutils">
<p>The script is almost completed, try to define path filtering options and compare results with and without filtering for emitter in plane n° 3 at scattering order 2.</p>
<p>Compute the contribution of plane n° 7</p>
</div>
</div>
</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: "./Activity07"
},
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="../Activity06/Activity06.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 6: Effect of the temperature</p>
</div>
</a>
<a class="right-next"
href="../Activity08/Activity08.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Activity 8: Inequivalent emitters and the XPD of a substrate</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="#the-number-of-scattering-paths">The number of scattering paths</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#paths-filtering-in-msspec">Paths filtering in MsSpec</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#application-to-a-deep-plane-in-a-si-001-sample">Application to a deep plane in a Si(001) sample</a></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>