Ignore:
Timestamp:
Mar 14, 2015 5:35:03 PM (8 years ago)
Author:
toby
Message:

change sphinx docs links; rebuild & fixing minor formatting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sphinxdocs/build/html/_modules/GSASIIpwd.html

    r1513 r1709  
    5757<span class="sd">&#39;&#39;&#39;</span>
    5858<span class="c">########### SVN repository information ###################</span>
    59 <span class="c"># $Date: 2014-09-14 19:48:39 -0500 (Sun, 14 Sep 2014) $</span>
     59<span class="c"># $Date: 2015-02-28 09:16:41 -0600 (Sat, 28 Feb 2015) $</span>
    6060<span class="c"># $Author: vondreele $</span>
    61 <span class="c"># $Revision: 1496 $</span>
     61<span class="c"># $Revision: 1682 $</span>
    6262<span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIpwd.py $</span>
    63 <span class="c"># $Id: GSASIIpwd.py 1496 2014-09-15 00:48:39Z vondreele $</span>
     63<span class="c"># $Id: GSASIIpwd.py 1682 2015-02-28 15:16:41Z vondreele $</span>
    6464<span class="c">########### SVN repository information ###################</span>
    6565<span class="kn">import</span> <span class="nn">sys</span>
     
    7676
    7777<span class="kn">import</span> <span class="nn">GSASIIpath</span>
    78 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1496 $&quot;</span><span class="p">)</span>
     78<span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1682 $&quot;</span><span class="p">)</span>
    7979<span class="kn">import</span> <span class="nn">GSASIIlattice</span> <span class="kn">as</span> <span class="nn">G2lat</span>
    8080<span class="kn">import</span> <span class="nn">GSASIIspc</span> <span class="kn">as</span> <span class="nn">G2spc</span>
     
    575575    <span class="n">cw</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">xdata</span><span class="p">)</span>
    576576    <span class="n">cw</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cw</span><span class="p">,</span><span class="n">cw</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
     577    <span class="n">sumBk</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
    577578    <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
    578579        <span class="n">key</span> <span class="o">=</span> <span class="n">pfx</span><span class="o">+</span><span class="s">&#39;Back;&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">nBak</span><span class="p">)</span>
     
    581582        <span class="k">else</span><span class="p">:</span>
    582583            <span class="k">break</span>
     584<span class="c">#empirical functions</span>
    583585    <span class="k">if</span> <span class="n">bakType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;chebyschev&#39;</span><span class="p">,</span><span class="s">&#39;cosine&#39;</span><span class="p">]:</span>
    584586        <span class="n">dt</span> <span class="o">=</span> <span class="n">xdata</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">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>   
     
    586588            <span class="n">key</span> <span class="o">=</span> <span class="n">pfx</span><span class="o">+</span><span class="s">&#39;Back;&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iBak</span><span class="p">)</span>
    587589            <span class="k">if</span> <span class="n">bakType</span> <span class="o">==</span> <span class="s">&#39;chebyschev&#39;</span><span class="p">:</span>
    588                 <span class="n">yb</span> <span class="o">+=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="p">(</span><span class="n">xdata</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">/</span><span class="n">dt</span><span class="o">-</span><span class="mf">1.</span><span class="p">)</span><span class="o">**</span><span class="n">iBak</span>
     590                <span class="n">ybi</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="p">(</span><span class="n">xdata</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">/</span><span class="n">dt</span><span class="o">-</span><span class="mf">1.</span><span class="p">)</span><span class="o">**</span><span class="n">iBak</span>
    589591            <span class="k">elif</span> <span class="n">bakType</span> <span class="o">==</span> <span class="s">&#39;cosine&#39;</span><span class="p">:</span>
    590                 <span class="n">yb</span> <span class="o">+=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">*</span><span class="n">npcosd</span><span class="p">(</span><span class="n">xdata</span><span class="o">*</span><span class="n">iBak</span><span class="p">)</span>
     592                <span class="n">ybi</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">*</span><span class="n">npcosd</span><span class="p">(</span><span class="n">xdata</span><span class="o">*</span><span class="n">iBak</span><span class="p">)</span>
     593            <span class="n">yb</span> <span class="o">+=</span> <span class="n">ybi</span>
     594            <span class="n">sumBk</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">ybi</span><span class="p">)</span>
    591595    <span class="k">elif</span> <span class="n">bakType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;lin interpolate&#39;</span><span class="p">,</span><span class="s">&#39;inv interpolate&#39;</span><span class="p">,</span><span class="s">&#39;log interpolate&#39;</span><span class="p">,]:</span>
    592596        <span class="k">if</span> <span class="n">nBak</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
     
    611615            <span class="n">bakInt</span> <span class="o">=</span> <span class="n">si</span><span class="o">.</span><span class="n">interp1d</span><span class="p">(</span><span class="n">bakPos</span><span class="p">,</span><span class="n">bakVals</span><span class="p">,</span><span class="s">&#39;linear&#39;</span><span class="p">)</span>
    612616            <span class="n">yb</span> <span class="o">=</span> <span class="n">bakInt</span><span class="p">(</span><span class="n">xdata</span><span class="p">)</span>
     617        <span class="n">sumBk</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">yb</span><span class="p">)</span>
     618<span class="c">#Debye function        </span>
    613619    <span class="k">if</span> <span class="n">pfx</span><span class="o">+</span><span class="s">&#39;difC&#39;</span> <span class="ow">in</span> <span class="n">parmDict</span><span class="p">:</span>
    614620        <span class="n">ff</span> <span class="o">=</span> <span class="mf">1.</span>
     
    628634            <span class="n">dbR</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">&#39;DebyeR;&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iD</span><span class="p">)]</span>
    629635            <span class="n">dbU</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">&#39;DebyeU;&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iD</span><span class="p">)]</span>
    630             <span class="n">yb</span> <span class="o">+=</span> <span class="n">ff</span><span class="o">*</span><span class="n">dbA</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">q</span><span class="o">*</span><span class="n">dbR</span><span class="p">)</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">dbU</span><span class="o">*</span><span class="n">q</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">q</span><span class="o">*</span><span class="n">dbR</span><span class="p">)</span>
     636            <span class="n">ybi</span> <span class="o">=</span> <span class="n">ff</span><span class="o">*</span><span class="n">dbA</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">q</span><span class="o">*</span><span class="n">dbR</span><span class="p">)</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">dbU</span><span class="o">*</span><span class="n">q</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">q</span><span class="o">*</span><span class="n">dbR</span><span class="p">)</span>
     637            <span class="n">yb</span> <span class="o">+=</span> <span class="n">ybi</span>
     638            <span class="n">sumBk</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">ybi</span><span class="p">)</span>
    631639            <span class="n">iD</span> <span class="o">+=</span> <span class="mi">1</span>       
    632640        <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
    633641            <span class="k">break</span>
     642<span class="c">#peaks</span>
    634643    <span class="n">iD</span> <span class="o">=</span> <span class="mi">0</span>
    635644    <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
     
    653662                <span class="n">iFin</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">searchsorted</span><span class="p">(</span><span class="n">xdata</span><span class="p">,</span><span class="n">pkP</span><span class="o">+</span><span class="n">fmax</span><span class="p">)</span>
    654663            <span class="k">if</span> <span class="s">&#39;C&#39;</span> <span class="ow">in</span> <span class="n">dataType</span><span class="p">:</span>
    655                 <span class="n">yb</span><span class="p">[</span><span class="n">iBeg</span><span class="p">:</span><span class="n">iFin</span><span class="p">]</span> <span class="o">+=</span> <span class="n">pkI</span><span class="o">*</span><span class="n">getFCJVoigt3</span><span class="p">(</span><span class="n">pkP</span><span class="p">,</span><span class="n">pkS</span><span class="p">,</span><span class="n">pkG</span><span class="p">,</span><span class="mf">0.002</span><span class="p">,</span><span class="n">xdata</span><span class="p">[</span><span class="n">iBeg</span><span class="p">:</span><span class="n">iFin</span><span class="p">])</span>
     664                <span class="n">ybi</span> <span class="o">=</span> <span class="n">pkI</span><span class="o">*</span><span class="n">getFCJVoigt3</span><span class="p">(</span><span class="n">pkP</span><span class="p">,</span><span class="n">pkS</span><span class="p">,</span><span class="n">pkG</span><span class="p">,</span><span class="mf">0.002</span><span class="p">,</span><span class="n">xdata</span><span class="p">[</span><span class="n">iBeg</span><span class="p">:</span><span class="n">iFin</span><span class="p">])</span>
     665                <span class="n">yb</span><span class="p">[</span><span class="n">iBeg</span><span class="p">:</span><span class="n">iFin</span><span class="p">]</span> <span class="o">+=</span> <span class="n">ybi</span>
    656666            <span class="k">else</span><span class="p">:</span>   <span class="c">#&#39;T&#39;OF</span>
    657                 <span class="n">yb</span><span class="p">[</span><span class="n">iBeg</span><span class="p">:</span><span class="n">iFin</span><span class="p">]</span> <span class="o">+=</span> <span class="n">pkI</span><span class="o">*</span><span class="n">getEpsVoigt</span><span class="p">(</span><span class="n">pkP</span><span class="p">,</span><span class="mf">1.</span><span class="p">,</span><span class="mf">1.</span><span class="p">,</span><span class="n">pkS</span><span class="p">,</span><span class="n">pkG</span><span class="p">,</span><span class="n">xdata</span><span class="p">[</span><span class="n">iBeg</span><span class="p">:</span><span class="n">iFin</span><span class="p">])</span>
     667                <span class="n">ybi</span> <span class="o">=</span> <span class="n">pkI</span><span class="o">*</span><span class="n">getEpsVoigt</span><span class="p">(</span><span class="n">pkP</span><span class="p">,</span><span class="mf">1.</span><span class="p">,</span><span class="mf">1.</span><span class="p">,</span><span class="n">pkS</span><span class="p">,</span><span class="n">pkG</span><span class="p">,</span><span class="n">xdata</span><span class="p">[</span><span class="n">iBeg</span><span class="p">:</span><span class="n">iFin</span><span class="p">])</span>
     668                <span class="n">yb</span><span class="p">[</span><span class="n">iBeg</span><span class="p">:</span><span class="n">iFin</span><span class="p">]</span> <span class="o">+=</span> <span class="n">ybi</span>
     669            <span class="n">sumBk</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">ybi</span><span class="p">)</span>
    658670            <span class="n">iD</span> <span class="o">+=</span> <span class="mi">1</span>       
    659671        <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
     
    662674            <span class="k">print</span> <span class="s">&#39;**** WARNING - backround peak &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iD</span><span class="p">)</span><span class="o">+</span><span class="s">&#39; sigma is negative; fix &amp; try again ****&#39;</span>
    663675            <span class="k">break</span>       
    664     <span class="k">return</span> <span class="n">yb</span>
     676    <span class="k">return</span> <span class="n">yb</span><span class="p">,</span><span class="n">sumBk</span>
    665677    </div>
    666678<div class="viewcode-block" id="getBackgroundDerv"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getBackgroundDerv">[docs]</a><span class="k">def</span> <span class="nf">getBackgroundDerv</span><span class="p">(</span><span class="n">hfx</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dataType</span><span class="p">,</span><span class="n">xdata</span><span class="p">):</span>
     
    846858    <span class="k">return</span> <span class="n">lenR</span><span class="p">,</span><span class="n">dRdS</span>
    847859</div>
    848 <div class="viewcode-block" id="getHKLpeak"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getHKLpeak">[docs]</a><span class="k">def</span> <span class="nf">getHKLpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">):</span>
     860<div class="viewcode-block" id="getHKLpeak"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getHKLpeak">[docs]</a><span class="k">def</span> <span class="nf">getHKLpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Inst</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
    849861    <span class="s">&#39;needs a doc string&#39;</span>
    850862    <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHLaue</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">)</span>       
     
    853865        <span class="n">ext</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GenHKLf</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">],</span><span class="n">SGData</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
    854866        <span class="k">if</span> <span class="ow">not</span> <span class="n">ext</span><span class="p">:</span>
    855             <span class="n">HKLs</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
     867            <span class="k">if</span> <span class="n">Inst</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span>
     868                <span class="n">HKLs</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
     869            <span class="k">else</span><span class="p">:</span>
     870                <span class="n">HKLs</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">d</span><span class="p">),</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
    856871    <span class="k">return</span> <span class="n">HKLs</span>
    857872</div>
     873<div class="viewcode-block" id="getHKLMpeak"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getHKLMpeak">[docs]</a><span class="k">def</span> <span class="nf">getHKLMpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">maxH</span><span class="p">,</span><span class="n">A</span><span class="p">):</span>
     874    <span class="s">&#39;needs a doc string&#39;</span>
     875    <span class="n">HKLs</span> <span class="o">=</span> <span class="p">[]</span>
     876    <span class="n">vec</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="n">Vec</span><span class="p">)</span>
     877    <span class="n">vstar</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">calc_rDsq</span><span class="p">(</span><span class="n">vec</span><span class="p">,</span><span class="n">A</span><span class="p">))</span>     <span class="c">#find extra needed for -n SS reflections</span>
     878    <span class="n">dvec</span> <span class="o">=</span> <span class="mf">1.</span><span class="o">/</span><span class="p">(</span><span class="n">maxH</span><span class="o">*</span><span class="n">vstar</span><span class="o">+</span><span class="mf">1.</span><span class="o">/</span><span class="n">dmin</span><span class="p">)</span>
     879    <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHLaue</span><span class="p">(</span><span class="n">dvec</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">)</span>       
     880    <span class="n">SSdH</span> <span class="o">=</span> <span class="p">[</span><span class="n">vec</span><span class="o">*</span><span class="n">h</span> <span class="k">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="o">-</span><span class="n">maxH</span><span class="p">,</span><span class="n">maxH</span><span class="o">+</span><span class="mi">1</span><span class="p">)]</span>
     881    <span class="n">SSdH</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="o">-</span><span class="n">maxH</span><span class="p">,</span><span class="n">maxH</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span><span class="n">SSdH</span><span class="p">))</span>
     882    <span class="k">for</span> <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">d</span> <span class="ow">in</span> <span class="n">HKL</span><span class="p">:</span>
     883        <span class="n">ext</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GenHKLf</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">],</span><span class="n">SGData</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
     884        <span class="k">if</span> <span class="ow">not</span> <span class="n">ext</span> <span class="ow">and</span> <span class="n">d</span> <span class="o">&gt;=</span> <span class="n">dmin</span><span class="p">:</span>
     885            <span class="n">HKLs</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">d</span><span class="p">),</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
     886        <span class="k">for</span> <span class="n">dH</span> <span class="ow">in</span> <span class="n">SSdH</span><span class="p">:</span>
     887            <span class="k">if</span> <span class="n">dH</span><span class="p">:</span>
     888                <span class="n">DH</span> <span class="o">=</span> <span class="n">SSdH</span><span class="p">[</span><span class="n">dH</span><span class="p">]</span>
     889                <span class="n">H</span> <span class="o">=</span> <span class="p">[</span><span class="n">h</span><span class="o">+</span><span class="n">DH</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">k</span><span class="o">+</span><span class="n">DH</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">l</span><span class="o">+</span><span class="n">DH</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span>
     890                <span class="n">d</span> <span class="o">=</span> <span class="mi">1</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">calc_rDsq</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">A</span><span class="p">))</span>
     891                <span class="k">if</span> <span class="n">d</span> <span class="o">&gt;=</span> <span class="n">dmin</span><span class="p">:</span>
     892                    <span class="n">HKLM</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="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">dH</span><span class="p">])</span>
     893                    <span class="k">if</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">checkSSextc</span><span class="p">(</span><span class="n">HKLM</span><span class="p">,</span><span class="n">SSGData</span><span class="p">):</span>
     894                        <span class="n">HKLs</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">dH</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">d</span><span class="p">),</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>   
     895    <span class="k">return</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">sortHKLd</span><span class="p">(</span><span class="n">HKLs</span><span class="p">,</span><span class="bp">True</span><span class="p">,</span><span class="bp">True</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
     896</div>
    858897<div class="viewcode-block" id="getPeakProfile"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getPeakProfile">[docs]</a><span class="k">def</span> <span class="nf">getPeakProfile</span><span class="p">(</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">xdata</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">bakType</span><span class="p">):</span>
    859898    <span class="s">&#39;needs a doc string&#39;</span>
    860899   
    861     <span class="n">yb</span> <span class="o">=</span> <span class="n">getBackground</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dataType</span><span class="p">,</span><span class="n">xdata</span><span class="p">)</span>
     900    <span class="n">yb</span> <span class="o">=</span> <span class="n">getBackground</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dataType</span><span class="p">,</span><span class="n">xdata</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
    862901    <span class="n">yc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">yb</span><span class="p">)</span>
    863902    <span class="n">cw</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">xdata</span><span class="p">)</span>
     
    924963                    <span class="k">else</span><span class="p">:</span>
    925964                        <span class="n">alp</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">getTOFalpha</span><span class="p">(</span><span class="n">parmDict</span><span class="p">,</span><span class="n">dsp</span><span class="p">)</span>
     965                <span class="n">alp</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mf">0.0001</span><span class="p">,</span><span class="n">alp</span><span class="p">)</span>
    926966                <span class="n">betName</span> <span class="o">=</span> <span class="s">&#39;bet&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iPeak</span><span class="p">)</span>
    927967                <span class="k">if</span> <span class="n">betName</span> <span class="ow">in</span> <span class="n">varyList</span><span class="p">:</span>
     
    932972                    <span class="k">else</span><span class="p">:</span>
    933973                        <span class="n">bet</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">getTOFbeta</span><span class="p">(</span><span class="n">parmDict</span><span class="p">,</span><span class="n">dsp</span><span class="p">)</span>
     974                <span class="n">bet</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mf">0.0001</span><span class="p">,</span><span class="n">bet</span><span class="p">)</span>
    934975                <span class="n">sigName</span> <span class="o">=</span> <span class="s">&#39;sig&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iPeak</span><span class="p">)</span>
    935976                <span class="k">if</span> <span class="n">sigName</span> <span class="ow">in</span> <span class="n">varyList</span><span class="p">:</span>
     
    12601301        <span class="k">if</span> <span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">and</span> <span class="n">peak</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span>
    12611302            <span class="n">peakPos</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
    1262             <span class="n">peakDsp</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">])</span>
    1263             <span class="n">peakWt</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="o">/</span><span class="n">sig</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
     1303            <span class="n">peakDsp</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>    <span class="c">#d-calc</span>
     1304            <span class="n">peakWt</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">**</span><span class="mi">2</span><span class="o">/</span><span class="n">sig</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>   <span class="c">#weight by d**2</span>
    12641305    <span class="n">peakPos</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="n">peakPos</span><span class="p">)</span>
    12651306    <span class="n">peakDsp</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="n">peakDsp</span><span class="p">)</span>
     
    12751316        <span class="n">begin</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
    12761317        <span class="n">values</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="n">Dict2Values</span><span class="p">(</span><span class="n">parmDict</span><span class="p">,</span> <span class="n">varyList</span><span class="p">))</span>
    1277         <span class="n">result</span> <span class="o">=</span> <span class="n">so</span><span class="o">.</span><span class="n">leastsq</span><span class="p">(</span><span class="n">errPeakPos</span><span class="p">,</span><span class="n">values</span><span class="p">,</span><span class="n">full_output</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">ftol</span><span class="o">=</span><span class="mf">0.0001</span><span class="p">,</span>
     1318        <span class="n">result</span> <span class="o">=</span> <span class="n">so</span><span class="o">.</span><span class="n">leastsq</span><span class="p">(</span><span class="n">errPeakPos</span><span class="p">,</span><span class="n">values</span><span class="p">,</span><span class="n">full_output</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">ftol</span><span class="o">=</span><span class="mf">0.000001</span><span class="p">,</span>
    12781319            <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">peakDsp</span><span class="p">,</span><span class="n">peakPos</span><span class="p">,</span><span class="n">peakWt</span><span class="p">,</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">varyList</span><span class="p">))</span>
    12791320        <span class="n">ncyc</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="s">&#39;nfev&#39;</span><span class="p">]</span><span class="o">/</span><span class="mi">2</span><span class="p">)</span>
     
    12921333        <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>          <span class="c">#result[1] is None on singular matrix</span>
    12931334            <span class="k">print</span> <span class="s">&#39;**** Refinement failed - singular matrix ****&#39;</span>
    1294     <span class="k">return</span> <span class="bp">True</span>
    12951335       
    12961336    <span class="n">sigDict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">varyList</span><span class="p">,</span><span class="n">sig</span><span class="p">))</span>
    12971337    <span class="n">GetInstParms</span><span class="p">(</span><span class="n">parmDict</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">varyList</span><span class="p">)</span>
    12981338    <span class="n">InstPrint</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">sigDict</span><span class="p">)</span>
     1339    <span class="k">return</span> <span class="bp">True</span>
    12991340           
    1300 <div class="viewcode-block" id="DoPeakFit"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.DoPeakFit">[docs]</a><span class="k">def</span> <span class="nf">DoPeakFit</span><span class="p">(</span><span class="n">FitPgm</span><span class="p">,</span><span class="n">Peaks</span><span class="p">,</span><span class="n">Background</span><span class="p">,</span><span class="n">Limits</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">Inst2</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">oneCycle</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span><span class="n">controls</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">dlg</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
     1341<div class="viewcode-block" id="DoPeakFit"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.DoPeakFit">[docs]</a><span class="k">def</span> <span class="nf">DoPeakFit</span><span class="p">(</span><span class="n">FitPgm</span><span class="p">,</span><span class="n">Peaks</span><span class="p">,</span><span class="n">Background</span><span class="p">,</span><span class="n">Limits</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">Inst2</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">prevVaryList</span><span class="o">=</span><span class="p">[],</span><span class="n">oneCycle</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span><span class="n">controls</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">dlg</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
    13011342    <span class="s">&#39;needs a doc string&#39;</span>
    13021343       
     
    15511592    <span class="n">parmDict</span><span class="p">[</span><span class="s">&#39;Pdabc&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>      <span class="c">#dummy Pdabc</span>
    15521593    <span class="n">parmDict</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">Inst2</span><span class="p">)</span>      <span class="c">#put in real one if there</span>
    1553     <span class="n">varyList</span> <span class="o">=</span> <span class="n">bakVary</span><span class="o">+</span><span class="n">insVary</span><span class="o">+</span><span class="n">peakVary</span>
     1594    <span class="k">if</span> <span class="n">prevVaryList</span><span class="p">:</span>
     1595        <span class="n">varyList</span> <span class="o">=</span> <span class="n">prevVaryList</span><span class="p">[:]</span>
     1596    <span class="k">else</span><span class="p">:</span>
     1597        <span class="n">varyList</span> <span class="o">=</span> <span class="n">bakVary</span><span class="o">+</span><span class="n">insVary</span><span class="o">+</span><span class="n">peakVary</span>
     1598    <span class="n">fullvaryList</span> <span class="o">=</span> <span class="n">varyList</span><span class="p">[:]</span>
    15541599    <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
    15551600        <span class="n">begin</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
    15561601        <span class="n">values</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="n">Dict2Values</span><span class="p">(</span><span class="n">parmDict</span><span class="p">,</span> <span class="n">varyList</span><span class="p">))</span>
    15571602        <span class="n">Rvals</span> <span class="o">=</span> <span class="p">{}</span>
     1603        <span class="n">badVary</span> <span class="o">=</span> <span class="p">[]</span>
    15581604        <span class="k">if</span> <span class="n">FitPgm</span> <span class="o">==</span> <span class="s">&#39;LSQ&#39;</span><span class="p">:</span>
    15591605            <span class="k">try</span><span class="p">:</span>
     
    15821628                    <span class="k">if</span> <span class="ow">not</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="s">&#39;fjac&#39;</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)[</span><span class="n">i</span><span class="p">]:</span>
    15831629                        <span class="k">print</span> <span class="s">&#39;Removing parameter: &#39;</span><span class="p">,</span><span class="n">varyList</span><span class="p">[</span><span class="n">ipvt</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     1630                        <span class="n">badVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">varyList</span><span class="p">[</span><span class="n">ipvt</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
    15841631                        <span class="k">del</span><span class="p">(</span><span class="n">varyList</span><span class="p">[</span><span class="n">ipvt</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
    15851632                        <span class="k">break</span>
     
    15891636       
    15901637    <span class="n">sigDict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">varyList</span><span class="p">,</span><span class="n">sig</span><span class="p">))</span>
    1591     <span class="n">yb</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span> <span class="o">=</span> <span class="n">getBackground</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dataType</span><span class="p">,</span><span class="n">x</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">])</span>
     1638    <span class="n">yb</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span> <span class="o">=</span> <span class="n">getBackground</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dataType</span><span class="p">,</span><span class="n">x</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
    15921639    <span class="n">yc</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span> <span class="o">=</span> <span class="n">getPeakProfile</span><span class="p">(</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">x</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">],</span><span class="n">varyList</span><span class="p">,</span><span class="n">bakType</span><span class="p">)</span>
    15931640    <span class="n">yd</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span> <span class="o">=</span> <span class="n">y</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span><span class="o">-</span><span class="n">yc</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span>
     
    15981645    <span class="n">GetPeaksParms</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">Peaks</span><span class="p">,</span><span class="n">varyList</span><span class="p">)</span>   
    15991646    <span class="n">PeaksPrint</span><span class="p">(</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">sigDict</span><span class="p">,</span><span class="n">varyList</span><span class="p">)</span>
    1600     <span class="k">return</span> <span class="n">sigDict</span><span class="p">,</span><span class="n">result</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">Rvals</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">parmDict</span>
     1647    <span class="k">return</span> <span class="n">sigDict</span><span class="p">,</span><span class="n">result</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">Rvals</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">fullvaryList</span><span class="p">,</span><span class="n">badVary</span>
    16011648</div>
    16021649<div class="viewcode-block" id="calcIncident"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.calcIncident">[docs]</a><span class="k">def</span> <span class="nf">calcIncident</span><span class="p">(</span><span class="n">Iparm</span><span class="p">,</span><span class="n">xdata</span><span class="p">):</span>
     
    17001747    <span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;test &#39;</span>
    17011748    <span class="n">gplot</span> <span class="o">=</span> <span class="n">plotter</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s">&#39;FCJ-Voigt, 11BM&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span>
    1702     <span class="n">gplot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xdata</span><span class="p">,</span><span class="n">getBackground</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">parmDict0</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="s">&#39;PXC&#39;</span><span class="p">,</span><span class="n">xdata</span><span class="p">))</span>   
     1749    <span class="n">gplot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xdata</span><span class="p">,</span><span class="n">getBackground</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">parmDict0</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="s">&#39;PXC&#39;</span><span class="p">,</span><span class="n">xdata</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>   
    17031750    <span class="n">gplot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xdata</span><span class="p">,</span><span class="n">getPeakProfile</span><span class="p">(</span><span class="n">parmDict0</span><span class="p">,</span><span class="n">xdata</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">bakType</span><span class="p">))</span>
    17041751    <span class="n">fplot</span> <span class="o">=</span> <span class="n">plotter</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s">&#39;FCJ-Voigt, Ka1+2&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span>
    1705     <span class="n">fplot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xdata</span><span class="p">,</span><span class="n">getBackground</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">parmDict1</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="s">&#39;PXC&#39;</span><span class="p">,</span><span class="n">xdata</span><span class="p">))</span>   
     1752    <span class="n">fplot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xdata</span><span class="p">,</span><span class="n">getBackground</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">parmDict1</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="s">&#39;PXC&#39;</span><span class="p">,</span><span class="n">xdata</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>   
    17061753    <span class="n">fplot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xdata</span><span class="p">,</span><span class="n">getPeakProfile</span><span class="p">(</span><span class="n">parmDict1</span><span class="p">,</span><span class="n">xdata</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">bakType</span><span class="p">))</span>
    17071754   
Note: See TracChangeset for help on using the changeset viewer.