Update html
This commit is contained in:
parent
f704dae1ba
commit
7f33daf856
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,4 +1,4 @@
|
||||||
# Sphinx build info version 1
|
# Sphinx build info version 1
|
||||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||||
config: d64285b76259d47aa1d35d9bc7e7829a
|
config: 0b896abf2c995b3493312dcbe0e8b47f
|
||||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||||
|
|
|
@ -516,7 +516,7 @@ document.write(`
|
||||||
|
|
||||||
<!--Inserting Generated X3D Scene-->
|
<!--Inserting Generated X3D Scene-->
|
||||||
<scene>
|
<scene>
|
||||||
<viewpoint position="0 0 28.28000000000003">
|
<viewpoint position="0 0 28.28">
|
||||||
<group/>
|
<group/>
|
||||||
</viewpoint>
|
</viewpoint>
|
||||||
<transform translation="-0.8837500000000003 -2.220446049250313e-16 -3.002">
|
<transform translation="-0.8837500000000003 -2.220446049250313e-16 -3.002">
|
||||||
|
@ -884,7 +884,7 @@ document.write(`
|
||||||
<sphere radius="1.2"/>
|
<sphere radius="1.2"/>
|
||||||
</shape>
|
</shape>
|
||||||
</transform>
|
</transform>
|
||||||
<transform translation="-7.070000000000022 0.0 4.6629367034256575e-15">
|
<transform translation="-7.070000000000007 0.0 4.6629367034256575e-15">
|
||||||
<shape>
|
<shape>
|
||||||
<appearance>
|
<appearance>
|
||||||
<material diffuseColor="0.749 0.761 0.78"/>
|
<material diffuseColor="0.749 0.761 0.78"/>
|
||||||
|
@ -892,7 +892,7 @@ document.write(`
|
||||||
<sphere radius="1.6"/>
|
<sphere radius="1.6"/>
|
||||||
</shape>
|
</shape>
|
||||||
</transform>
|
</transform>
|
||||||
<transform translation="-7.070000000000022 2.040933201585325 1.724999999999999">
|
<transform translation="-7.070000000000007 2.040933201585325 1.724999999999999">
|
||||||
<shape>
|
<shape>
|
||||||
<appearance>
|
<appearance>
|
||||||
<material diffuseColor="1.0 0.631 0.0"/>
|
<material diffuseColor="1.0 0.631 0.0"/>
|
||||||
|
@ -948,7 +948,7 @@ document.write(`
|
||||||
<sphere radius="1.2"/>
|
<sphere radius="1.2"/>
|
||||||
</shape>
|
</shape>
|
||||||
</transform>
|
</transform>
|
||||||
<transform translation="-1.7674999999999983 3.0613998023779985 4.6629367034256575e-15">
|
<transform translation="-1.7675000000000125 3.0613998023779985 4.6629367034256575e-15">
|
||||||
<shape>
|
<shape>
|
||||||
<appearance>
|
<appearance>
|
||||||
<material diffuseColor="0.749 0.761 0.78"/>
|
<material diffuseColor="0.749 0.761 0.78"/>
|
||||||
|
@ -956,7 +956,7 @@ document.write(`
|
||||||
<sphere radius="1.6"/>
|
<sphere radius="1.6"/>
|
||||||
</shape>
|
</shape>
|
||||||
</transform>
|
</transform>
|
||||||
<transform translation="-1.7674999999999983 5.102333003963331 1.724999999999999">
|
<transform translation="-1.7675000000000125 5.102333003963331 1.724999999999999">
|
||||||
<shape>
|
<shape>
|
||||||
<appearance>
|
<appearance>
|
||||||
<material diffuseColor="1.0 0.631 0.0"/>
|
<material diffuseColor="1.0 0.631 0.0"/>
|
||||||
|
@ -1004,7 +1004,7 @@ document.write(`
|
||||||
<sphere radius="1.6"/>
|
<sphere radius="1.6"/>
|
||||||
</shape>
|
</shape>
|
||||||
</transform>
|
</transform>
|
||||||
<transform translation="-3.535000000000011 6.12279960475599 4.6629367034256575e-15">
|
<transform translation="-3.5349999999999966 6.12279960475599 4.6629367034256575e-15">
|
||||||
<shape>
|
<shape>
|
||||||
<appearance>
|
<appearance>
|
||||||
<material diffuseColor="0.749 0.761 0.78"/>
|
<material diffuseColor="0.749 0.761 0.78"/>
|
||||||
|
|
|
@ -418,7 +418,8 @@ document.write(`
|
||||||
</section>
|
</section>
|
||||||
<section id="application-to-a-deep-plane-in-a-si-001-sample">
|
<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>
|
<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>
|
<p>The following script will compute the contribution of a Si(2p) atom in the 4<sup>th</sup> plane of a Si(001) cluster at scattering order 3.</p>
|
||||||
|
<p>Taking into account all scattering paths took 15 minutes to compute.</p>
|
||||||
<div class="admonition seealso" id="msd-paper">
|
<div class="admonition seealso" id="msd-paper">
|
||||||
<p class="admonition-title">See also</p>
|
<p class="admonition-title">See also</p>
|
||||||
<p>based on this paper from S. Tricot <em>et al.</em>
|
<p>based on this paper from S. Tricot <em>et al.</em>
|
||||||
|
@ -428,8 +429,139 @@ document.write(`
|
||||||
<input checked="checked" id="sd-tab-item-1" name="sd-tab-set-1" type="radio">
|
<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">
|
<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">
|
<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>The following script is almost completed, try to define path filtering options (no backscattering, accept all paths with forward angles < 40° and reject paths longer than the diameter of the cluster).</p>
|
||||||
<p>Compute the contribution of plane n° 7</p>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="c1"># coding: utf8</span>
|
||||||
|
<span class="linenos"> 2</span>
|
||||||
|
<span class="linenos"> 3</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"> 4</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"> 5</span>
|
||||||
|
<span class="linenos"> 6</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"> 7</span><span class="kn">from</span><span class="w"> </span><span class="nn">msspec.iodata</span><span class="w"> </span><span class="kn">import</span> <span class="n">Data</span>
|
||||||
|
<span class="linenos"> 8</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"> 9</span>
|
||||||
|
<span class="linenos">10</span>
|
||||||
|
<span class="linenos">11</span><span class="c1"># Create the cluster</span>
|
||||||
|
<span class="linenos">12</span><span class="n">a</span> <span class="o">=</span> <span class="mf">5.43</span>
|
||||||
|
<span class="linenos">13</span><span class="n">Si</span> <span class="o">=</span> <span class="n">bulk</span><span class="p">(</span><span class="s1">'Si'</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="n">a</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">14</span><span class="n">cluster</span> <span class="o">=</span> <span class="n">hemispherical_cluster</span><span class="p">(</span><span class="n">Si</span><span class="p">,</span>
|
||||||
|
<span class="linenos">15</span> <span class="n">diameter</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">planes</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span>
|
||||||
|
<span class="linenos">16</span> <span class="n">emitter_plane</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span>
|
||||||
|
<span class="linenos">17</span> <span class="n">shape</span> <span class="o">=</span> <span class="s1">'cylindrical'</span><span class="p">,</span>
|
||||||
|
<span class="linenos">18</span> <span class="p">)</span>
|
||||||
|
<span class="linenos">19</span><span class="k">for</span> <span class="n">atom</span> <span class="ow">in</span> <span class="n">cluster</span><span class="p">:</span>
|
||||||
|
<span class="linenos">20</span> <span class="n">atom</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s1">'mean_square_vibration'</span><span class="p">,</span> <span class="mf">0.006</span><span class="p">)</span>
|
||||||
|
<span class="linenos">21</span> <span class="n">atom</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s1">'mt_radius'</span><span class="p">,</span> <span class="mf">1.1</span><span class="p">)</span>
|
||||||
|
<span class="linenos">22</span><span class="n">cluster</span><span class="o">.</span><span class="n">emitter</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">23</span>
|
||||||
|
<span class="linenos">24</span><span class="c1"># Create a calculator and set parameters</span>
|
||||||
|
<span class="linenos">25</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">26</span>
|
||||||
|
<span class="linenos">27</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">28</span><span class="n">calc</span><span class="o">.</span><span class="n">source_parameters</span><span class="o">.</span><span class="n">theta</span> <span class="o">=</span> <span class="o">-</span><span class="mf">54.7</span>
|
||||||
|
<span class="linenos">29</span><span class="n">calc</span><span class="o">.</span><span class="n">source_parameters</span><span class="o">.</span><span class="n">phi</span> <span class="o">=</span> <span class="mi">90</span>
|
||||||
|
<span class="linenos">30</span><span class="n">calc</span><span class="o">.</span><span class="n">spectroscopy_parameters</span><span class="o">.</span><span class="n">final_state</span> <span class="o">=</span> <span class="mi">1</span>
|
||||||
|
<span class="linenos">31</span>
|
||||||
|
<span class="linenos">32</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">3</span>
|
||||||
|
<span class="linenos">33</span><span class="n">calc</span><span class="o">.</span><span class="n">tmatrix_parameters</span><span class="o">.</span><span class="n">tl_threshold</span> <span class="o">=</span> <span class="mf">1e-4</span>
|
||||||
|
<span class="linenos">34</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="linenos">35</span><span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">RA_cutoff</span> <span class="o">=</span> <span class="mi">2</span>
|
||||||
|
<span class="linenos">36</span>
|
||||||
|
<span class="hll"><span class="linenos">37</span><span class="c1"># Define path filtering options such that you only</span>
|
||||||
|
</span><span class="hll"><span class="linenos">38</span><span class="c1"># accept scattering paths with a forward cone <= 40°</span>
|
||||||
|
</span><span class="hll"><span class="linenos">39</span><span class="c1"># and whose length are <= cluster diameter</span>
|
||||||
|
</span><span class="hll"><span class="linenos">40</span><span class="c1">#</span>
|
||||||
|
</span><span class="hll"><span class="linenos">41</span><span class="c1">#</span>
|
||||||
|
</span><span class="linenos">42</span>
|
||||||
|
<span class="linenos">43</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">44</span>
|
||||||
|
<span class="linenos">45</span><span class="c1"># Compute and add previous data for comparison</span>
|
||||||
|
<span class="linenos">46</span><span class="n">data</span> <span class="o">=</span> <span class="n">calc</span><span class="o">.</span><span class="n">get_theta_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="linenos">47</span> <span class="n">theta</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="o">-</span><span class="mf">30.</span><span class="p">,</span> <span class="mf">80.</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">),</span>
|
||||||
|
<span class="linenos">48</span> <span class="n">phi</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
|
||||||
|
<span class="linenos">49</span> <span class="n">kinetic_energy</span><span class="o">=</span><span class="mf">1382.28</span><span class="p">)</span>
|
||||||
|
<span class="linenos">50</span><span class="n">no_filters</span> <span class="o">=</span> <span class="n">Data</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="s1">'path_filtering.hdf5'</span><span class="p">)</span>
|
||||||
|
<span class="linenos">51</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="s1">'no_filters'</span><span class="p">:</span> <span class="n">no_filters</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">cross_section</span><span class="p">})</span>
|
||||||
|
<span class="linenos">52</span><span class="n">view</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">views</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
|
<span class="linenos">53</span><span class="n">view</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s1">'theta'</span><span class="p">,</span> <span class="s1">'cross_section'</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">legend</span><span class="o">=</span><span class="s2">"With path filtering"</span><span class="p">)</span>
|
||||||
|
<span class="linenos">54</span><span class="n">view</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s1">'theta'</span><span class="p">,</span> <span class="s1">'no_filters'</span><span class="p">,</span> <span class="n">legend</span><span class="o">=</span><span class="s2">"Without path filtering"</span><span class="p">)</span>
|
||||||
|
<span class="linenos">55</span>
|
||||||
|
<span class="linenos">56</span><span class="n">data</span><span class="o">.</span><span class="n">view</span><span class="p">()</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<ol class="arabic simple">
|
||||||
|
<li><p>How long was your calculation ?</p></li>
|
||||||
|
<li><p>How does it compare to the calculation with <strong>all</strong> scattering paths up to order 3 ?</p></li>
|
||||||
|
<li><p>What is the proportion of scattering paths of order 3 that were actually taken into account ?</p></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="toggle docutils container">
|
||||||
|
<p>The calculation took few seconds and the result is very close to the calculation with all scattering paths.</p>
|
||||||
|
<p>Only 0.01% of 3<sup>rd</sup> order paths were actually taken into account</p>
|
||||||
|
<figure class="align-default" id="si-fig">
|
||||||
|
<a class="reference internal image-reference" href="../_images/results.png"><img alt="Si polar scan" class="align-center" src="../_images/results.png" style="width: 600px;" />
|
||||||
|
</a>
|
||||||
|
<figcaption>
|
||||||
|
<p><span class="caption-number">Fig. 18 </span><span class="caption-text">Si(2p) polar scan (contribution of an emitter in the 4<sup>th</sup> plane with all 7 114 945 scattering paths taken into account (orange curve), and for only 1525 filtered paths (blue curve).</span><a class="headerlink" href="#si-fig" title="Link to this image">#</a></p>
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="c1"># coding: utf8</span>
|
||||||
|
<span class="linenos"> 2</span>
|
||||||
|
<span class="linenos"> 3</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"> 4</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"> 5</span>
|
||||||
|
<span class="linenos"> 6</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"> 7</span><span class="kn">from</span><span class="w"> </span><span class="nn">msspec.iodata</span><span class="w"> </span><span class="kn">import</span> <span class="n">Data</span>
|
||||||
|
<span class="linenos"> 8</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"> 9</span>
|
||||||
|
<span class="linenos">10</span>
|
||||||
|
<span class="linenos">11</span><span class="c1"># Create the cluster</span>
|
||||||
|
<span class="linenos">12</span><span class="n">a</span> <span class="o">=</span> <span class="mf">5.43</span>
|
||||||
|
<span class="linenos">13</span><span class="n">Si</span> <span class="o">=</span> <span class="n">bulk</span><span class="p">(</span><span class="s1">'Si'</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="n">a</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">14</span><span class="n">cluster</span> <span class="o">=</span> <span class="n">hemispherical_cluster</span><span class="p">(</span><span class="n">Si</span><span class="p">,</span>
|
||||||
|
<span class="linenos">15</span> <span class="n">diameter</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">planes</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span>
|
||||||
|
<span class="linenos">16</span> <span class="n">emitter_plane</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span>
|
||||||
|
<span class="linenos">17</span> <span class="n">shape</span> <span class="o">=</span> <span class="s1">'cylindrical'</span><span class="p">,</span>
|
||||||
|
<span class="linenos">18</span> <span class="p">)</span>
|
||||||
|
<span class="linenos">19</span><span class="k">for</span> <span class="n">atom</span> <span class="ow">in</span> <span class="n">cluster</span><span class="p">:</span>
|
||||||
|
<span class="linenos">20</span> <span class="n">atom</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s1">'mean_square_vibration'</span><span class="p">,</span> <span class="mf">0.006</span><span class="p">)</span>
|
||||||
|
<span class="linenos">21</span> <span class="n">atom</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s1">'mt_radius'</span><span class="p">,</span> <span class="mf">1.1</span><span class="p">)</span>
|
||||||
|
<span class="linenos">22</span><span class="n">cluster</span><span class="o">.</span><span class="n">emitter</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">23</span>
|
||||||
|
<span class="linenos">24</span><span class="c1"># Create a calculator and set parameters</span>
|
||||||
|
<span class="linenos">25</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">26</span>
|
||||||
|
<span class="linenos">27</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">28</span><span class="n">calc</span><span class="o">.</span><span class="n">source_parameters</span><span class="o">.</span><span class="n">theta</span> <span class="o">=</span> <span class="o">-</span><span class="mf">54.7</span>
|
||||||
|
<span class="linenos">29</span><span class="n">calc</span><span class="o">.</span><span class="n">source_parameters</span><span class="o">.</span><span class="n">phi</span> <span class="o">=</span> <span class="mi">90</span>
|
||||||
|
<span class="linenos">30</span><span class="n">calc</span><span class="o">.</span><span class="n">spectroscopy_parameters</span><span class="o">.</span><span class="n">final_state</span> <span class="o">=</span> <span class="mi">1</span>
|
||||||
|
<span class="linenos">31</span>
|
||||||
|
<span class="linenos">32</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">3</span>
|
||||||
|
<span class="linenos">33</span><span class="n">calc</span><span class="o">.</span><span class="n">tmatrix_parameters</span><span class="o">.</span><span class="n">tl_threshold</span> <span class="o">=</span> <span class="mf">1e-4</span>
|
||||||
|
<span class="linenos">34</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="linenos">35</span><span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">RA_cutoff</span> <span class="o">=</span> <span class="mi">2</span>
|
||||||
|
<span class="linenos">36</span>
|
||||||
|
<span class="hll"><span class="linenos">37</span><span class="n">my_filters</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'forward_scattering'</span><span class="p">,</span> <span class="s1">'distance_cutoff'</span><span class="p">)</span>
|
||||||
|
</span><span class="hll"><span class="linenos">38</span><span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">path_filtering</span> <span class="o">=</span> <span class="n">my_filters</span>
|
||||||
|
</span><span class="hll"><span class="linenos">39</span><span class="n">calc</span><span class="o">.</span><span class="n">calculation_parameters</span><span class="o">.</span><span class="n">distance</span> <span class="o">=</span> <span class="mi">30</span>
|
||||||
|
</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">off_cone_events</span> <span class="o">=</span> <span class="mi">0</span>
|
||||||
|
</span><span class="hll"><span class="linenos">41</span><span class="p">[</span><span class="n">a</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s1">'forward_angle'</span><span class="p">,</span> <span class="mi">40</span><span class="p">)</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">cluster</span><span class="p">]</span>
|
||||||
|
</span><span class="linenos">42</span>
|
||||||
|
<span class="linenos">43</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">44</span>
|
||||||
|
<span class="linenos">45</span><span class="c1"># Compute and add previous data for comparison</span>
|
||||||
|
<span class="linenos">46</span><span class="n">data</span> <span class="o">=</span> <span class="n">calc</span><span class="o">.</span><span class="n">get_theta_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="linenos">47</span> <span class="n">theta</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="o">-</span><span class="mf">30.</span><span class="p">,</span> <span class="mf">80.</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">),</span>
|
||||||
|
<span class="linenos">48</span> <span class="n">phi</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
|
||||||
|
<span class="linenos">49</span> <span class="n">kinetic_energy</span><span class="o">=</span><span class="mf">1382.28</span><span class="p">)</span>
|
||||||
|
<span class="linenos">50</span><span class="n">no_filters</span> <span class="o">=</span> <span class="n">Data</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="s1">'path_filtering.hdf5'</span><span class="p">)</span>
|
||||||
|
<span class="linenos">51</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="s1">'no_filters'</span><span class="p">:</span> <span class="n">no_filters</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">cross_section</span><span class="p">})</span>
|
||||||
|
<span class="linenos">52</span><span class="n">view</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">views</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
|
<span class="linenos">53</span><span class="n">view</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s1">'theta'</span><span class="p">,</span> <span class="s1">'cross_section'</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">legend</span><span class="o">=</span><span class="s2">"With path filtering"</span><span class="p">)</span>
|
||||||
|
<span class="linenos">54</span><span class="n">view</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s1">'theta'</span><span class="p">,</span> <span class="s1">'no_filters'</span><span class="p">,</span> <span class="n">legend</span><span class="o">=</span><span class="s2">"Without path filtering"</span><span class="p">)</span>
|
||||||
|
<span class="linenos">55</span>
|
||||||
|
<span class="linenos">56</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>
|
||||||
</section>
|
</section>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 84 KiB |
|
@ -878,7 +878,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.11.3"
|
"version": "3.11.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
|
@ -133,7 +133,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.11.3"
|
"version": "3.11.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
|
@ -103,7 +103,8 @@
|
||||||
":::{figure-md} filters-fig\n",
|
":::{figure-md} filters-fig\n",
|
||||||
"<img src=\"filters.jpg\" alt=\"path filtering\" width=\"600px\" align=\"center\">\n",
|
"<img src=\"filters.jpg\" alt=\"path filtering\" width=\"600px\" align=\"center\">\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Some examples of scattering paths with `forward_scattering`, `backward_scattering` and `distance` filters selected. The accepted forward angle is 45°, the accepted backscattering angle is 20° and the threshold distance is $6a_0$ where $a_0$ is the lattice parameter. Note that the yellow path is rejected but if the `off_cone_events` option is set to a value > 1, then it could have been accepted."
|
"Some examples of scattering paths with `forward_scattering`, `backward_scattering` and `distance` filters selected. The accepted forward angle is 45°, the accepted backscattering angle is 20° and the threshold distance is $6a_0$ where $a_0$ is the lattice parameter. Note that the yellow path is rejected but if the `off_cone_events` option is set to a value > 1, then it could have been accepted.\n",
|
||||||
|
":::"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -113,7 +114,9 @@
|
||||||
"source": [
|
"source": [
|
||||||
"## Application to a deep plane in a Si(001) sample\n",
|
"## Application to a deep plane in a Si(001) sample\n",
|
||||||
"\n",
|
"\n",
|
||||||
"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. \n",
|
"The following script will compute the contribution of a Si(2p) atom in the 4{sup}`th` plane of a Si(001) cluster at scattering order 3.\n",
|
||||||
|
"\n",
|
||||||
|
"Taking into account all scattering paths took 15 minutes to compute.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"(msd-paper)=\n",
|
"(msd-paper)=\n",
|
||||||
":::{seealso}\n",
|
":::{seealso}\n",
|
||||||
|
@ -126,14 +129,46 @@
|
||||||
"\n",
|
"\n",
|
||||||
":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n",
|
":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n",
|
||||||
"\n",
|
"\n",
|
||||||
"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.\n",
|
"The following script is almost completed, try to define path filtering options (no backscattering, accept all paths with forward angles < 40° and reject paths longer than the diameter of the cluster).\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Compute the contribution of plane n° 7\n",
|
"```{literalinclude} Si001.py\n",
|
||||||
|
":lineno-match:\n",
|
||||||
|
":emphasize-lines: 37-41\n",
|
||||||
|
"```\n",
|
||||||
|
"\n",
|
||||||
|
"1. How long was your calculation ?\n",
|
||||||
|
"2. How does it compare to the calculation with **all** scattering paths up to order 3 ?\n",
|
||||||
|
"3. What is the proportion of scattering paths of order 3 that were actually taken into account ?\n",
|
||||||
"\n",
|
"\n",
|
||||||
":::\n",
|
":::\n",
|
||||||
"\n",
|
"\n",
|
||||||
"::::"
|
"::::"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "19fbd486-b0c1-450c-a00d-79984945aefd",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"```{toggle}\n",
|
||||||
|
"The calculation took few seconds and the result is very close to the calculation with all scattering paths.\n",
|
||||||
|
"\n",
|
||||||
|
"Only 0.01% of 3{sup}`rd` order paths were actually taken into account\n",
|
||||||
|
"\n",
|
||||||
|
":::{figure-md} si-fig\n",
|
||||||
|
"<img src=\"results.png\" alt=\"Si polar scan\" width=\"600px\" align=\"center\">\n",
|
||||||
|
"\n",
|
||||||
|
"Si(2p) polar scan (contribution of an emitter in the 4{sup}`th` plane with all 7 114 945 scattering paths taken into account (orange curve), and for only 1525 filtered paths (blue curve).\n",
|
||||||
|
"\n",
|
||||||
|
":::\n",
|
||||||
|
"\n",
|
||||||
|
":::{literalinclude} Si001_completed.py\n",
|
||||||
|
":lineno-match:\n",
|
||||||
|
":emphasize-lines: 37-41\n",
|
||||||
|
":::\n",
|
||||||
|
"\n",
|
||||||
|
"``` "
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
|
@ -152,7 +187,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.11.3"
|
"version": "3.11.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -266,7 +266,7 @@
|
||||||
"\n",
|
"\n",
|
||||||
"<!--Inserting Generated X3D Scene-->\n",
|
"<!--Inserting Generated X3D Scene-->\n",
|
||||||
"<scene>\n",
|
"<scene>\n",
|
||||||
" <viewpoint position=\"0 0 28.28000000000003\">\n",
|
" <viewpoint position=\"0 0 28.28\">\n",
|
||||||
" <group/>\n",
|
" <group/>\n",
|
||||||
" </viewpoint>\n",
|
" </viewpoint>\n",
|
||||||
" <transform translation=\"-0.8837500000000003 -2.220446049250313e-16 -3.002\">\n",
|
" <transform translation=\"-0.8837500000000003 -2.220446049250313e-16 -3.002\">\n",
|
||||||
|
@ -634,7 +634,7 @@
|
||||||
" <sphere radius=\"1.2\"/>\n",
|
" <sphere radius=\"1.2\"/>\n",
|
||||||
" </shape>\n",
|
" </shape>\n",
|
||||||
" </transform>\n",
|
" </transform>\n",
|
||||||
" <transform translation=\"-7.070000000000022 0.0 4.6629367034256575e-15\">\n",
|
" <transform translation=\"-7.070000000000007 0.0 4.6629367034256575e-15\">\n",
|
||||||
" <shape>\n",
|
" <shape>\n",
|
||||||
" <appearance>\n",
|
" <appearance>\n",
|
||||||
" <material diffuseColor=\"0.749 0.761 0.78\"/>\n",
|
" <material diffuseColor=\"0.749 0.761 0.78\"/>\n",
|
||||||
|
@ -642,7 +642,7 @@
|
||||||
" <sphere radius=\"1.6\"/>\n",
|
" <sphere radius=\"1.6\"/>\n",
|
||||||
" </shape>\n",
|
" </shape>\n",
|
||||||
" </transform>\n",
|
" </transform>\n",
|
||||||
" <transform translation=\"-7.070000000000022 2.040933201585325 1.724999999999999\">\n",
|
" <transform translation=\"-7.070000000000007 2.040933201585325 1.724999999999999\">\n",
|
||||||
" <shape>\n",
|
" <shape>\n",
|
||||||
" <appearance>\n",
|
" <appearance>\n",
|
||||||
" <material diffuseColor=\"1.0 0.631 0.0\"/>\n",
|
" <material diffuseColor=\"1.0 0.631 0.0\"/>\n",
|
||||||
|
@ -698,7 +698,7 @@
|
||||||
" <sphere radius=\"1.2\"/>\n",
|
" <sphere radius=\"1.2\"/>\n",
|
||||||
" </shape>\n",
|
" </shape>\n",
|
||||||
" </transform>\n",
|
" </transform>\n",
|
||||||
" <transform translation=\"-1.7674999999999983 3.0613998023779985 4.6629367034256575e-15\">\n",
|
" <transform translation=\"-1.7675000000000125 3.0613998023779985 4.6629367034256575e-15\">\n",
|
||||||
" <shape>\n",
|
" <shape>\n",
|
||||||
" <appearance>\n",
|
" <appearance>\n",
|
||||||
" <material diffuseColor=\"0.749 0.761 0.78\"/>\n",
|
" <material diffuseColor=\"0.749 0.761 0.78\"/>\n",
|
||||||
|
@ -706,7 +706,7 @@
|
||||||
" <sphere radius=\"1.6\"/>\n",
|
" <sphere radius=\"1.6\"/>\n",
|
||||||
" </shape>\n",
|
" </shape>\n",
|
||||||
" </transform>\n",
|
" </transform>\n",
|
||||||
" <transform translation=\"-1.7674999999999983 5.102333003963331 1.724999999999999\">\n",
|
" <transform translation=\"-1.7675000000000125 5.102333003963331 1.724999999999999\">\n",
|
||||||
" <shape>\n",
|
" <shape>\n",
|
||||||
" <appearance>\n",
|
" <appearance>\n",
|
||||||
" <material diffuseColor=\"1.0 0.631 0.0\"/>\n",
|
" <material diffuseColor=\"1.0 0.631 0.0\"/>\n",
|
||||||
|
@ -754,7 +754,7 @@
|
||||||
" <sphere radius=\"1.6\"/>\n",
|
" <sphere radius=\"1.6\"/>\n",
|
||||||
" </shape>\n",
|
" </shape>\n",
|
||||||
" </transform>\n",
|
" </transform>\n",
|
||||||
" <transform translation=\"-3.535000000000011 6.12279960475599 4.6629367034256575e-15\">\n",
|
" <transform translation=\"-3.5349999999999966 6.12279960475599 4.6629367034256575e-15\">\n",
|
||||||
" <shape>\n",
|
" <shape>\n",
|
||||||
" <appearance>\n",
|
" <appearance>\n",
|
||||||
" <material diffuseColor=\"0.749 0.761 0.78\"/>\n",
|
" <material diffuseColor=\"0.749 0.761 0.78\"/>\n",
|
||||||
|
@ -878,7 +878,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.11.3"
|
"version": "3.11.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
|
@ -133,7 +133,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.11.3"
|
"version": "3.11.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
|
@ -103,7 +103,8 @@
|
||||||
":::{figure-md} filters-fig\n",
|
":::{figure-md} filters-fig\n",
|
||||||
"<img src=\"filters.jpg\" alt=\"path filtering\" width=\"600px\" align=\"center\">\n",
|
"<img src=\"filters.jpg\" alt=\"path filtering\" width=\"600px\" align=\"center\">\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Some examples of scattering paths with `forward_scattering`, `backward_scattering` and `distance` filters selected. The accepted forward angle is 45°, the accepted backscattering angle is 20° and the threshold distance is $6a_0$ where $a_0$ is the lattice parameter. Note that the yellow path is rejected but if the `off_cone_events` option is set to a value > 1, then it could have been accepted."
|
"Some examples of scattering paths with `forward_scattering`, `backward_scattering` and `distance` filters selected. The accepted forward angle is 45°, the accepted backscattering angle is 20° and the threshold distance is $6a_0$ where $a_0$ is the lattice parameter. Note that the yellow path is rejected but if the `off_cone_events` option is set to a value > 1, then it could have been accepted.\n",
|
||||||
|
":::"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -113,7 +114,9 @@
|
||||||
"source": [
|
"source": [
|
||||||
"## Application to a deep plane in a Si(001) sample\n",
|
"## Application to a deep plane in a Si(001) sample\n",
|
||||||
"\n",
|
"\n",
|
||||||
"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. \n",
|
"The following script will compute the contribution of a Si(2p) atom in the 4{sup}`th` plane of a Si(001) cluster at scattering order 3.\n",
|
||||||
|
"\n",
|
||||||
|
"Taking into account all scattering paths took 15 minutes to compute.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"(msd-paper)=\n",
|
"(msd-paper)=\n",
|
||||||
":::{seealso}\n",
|
":::{seealso}\n",
|
||||||
|
@ -126,14 +129,46 @@
|
||||||
"\n",
|
"\n",
|
||||||
":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n",
|
":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n",
|
||||||
"\n",
|
"\n",
|
||||||
"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.\n",
|
"The following script is almost completed, try to define path filtering options (no backscattering, accept all paths with forward angles < 40° and reject paths longer than the diameter of the cluster).\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Compute the contribution of plane n° 7\n",
|
"```{literalinclude} Si001.py\n",
|
||||||
|
":lineno-match:\n",
|
||||||
|
":emphasize-lines: 37-41\n",
|
||||||
|
"```\n",
|
||||||
|
"\n",
|
||||||
|
"1. How long was your calculation ?\n",
|
||||||
|
"2. How does it compare to the calculation with **all** scattering paths up to order 3 ?\n",
|
||||||
|
"3. What is the proportion of scattering paths of order 3 that were actually taken into account ?\n",
|
||||||
"\n",
|
"\n",
|
||||||
":::\n",
|
":::\n",
|
||||||
"\n",
|
"\n",
|
||||||
"::::"
|
"::::"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "19fbd486-b0c1-450c-a00d-79984945aefd",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"```{toggle}\n",
|
||||||
|
"The calculation took few seconds and the result is very close to the calculation with all scattering paths.\n",
|
||||||
|
"\n",
|
||||||
|
"Only 0.01% of 3{sup}`rd` order paths were actually taken into account\n",
|
||||||
|
"\n",
|
||||||
|
":::{figure-md} si-fig\n",
|
||||||
|
"<img src=\"results.png\" alt=\"Si polar scan\" width=\"600px\" align=\"center\">\n",
|
||||||
|
"\n",
|
||||||
|
"Si(2p) polar scan (contribution of an emitter in the 4{sup}`th` plane with all 7 114 945 scattering paths taken into account (orange curve), and for only 1525 filtered paths (blue curve).\n",
|
||||||
|
"\n",
|
||||||
|
":::\n",
|
||||||
|
"\n",
|
||||||
|
":::{literalinclude} Si001_completed.py\n",
|
||||||
|
":lineno-match:\n",
|
||||||
|
":emphasize-lines: 37-41\n",
|
||||||
|
":::\n",
|
||||||
|
"\n",
|
||||||
|
"``` "
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
|
@ -152,7 +187,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.11.3"
|
"version": "3.11.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
Loading…
Reference in New Issue