Changeset 1709 for sphinxdocs/build/html/_modules/GSASIIindex.html
- Timestamp:
- Mar 14, 2015 5:35:03 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sphinxdocs/build/html/_modules/GSASIIindex.html
r1513 r1709 53 53 <span class="c"># includes cell refinement from peak positions (not zero as yet)</span> 54 54 <span class="c">########### SVN repository information ###################</span> 55 <span class="c"># $Date: 201 4-07-30 10:29:52 -0500 (Wed, 30 Jul 2014) $</span>55 <span class="c"># $Date: 2015-02-06 15:09:50 -0600 (Fri, 06 Feb 2015) $</span> 56 56 <span class="c"># $Author: vondreele $</span> 57 <span class="c"># $Revision: 1 445$</span>58 <span class="c"># $URL: https://subversion.x or.aps.anl.gov/pyGSAS/trunk/GSASIIindex.py $</span>59 <span class="c"># $Id: GSASIIindex.py 1 445 2014-07-30 15:29:52Z vondreele $</span>57 <span class="c"># $Revision: 1637 $</span> 58 <span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIindex.py $</span> 59 <span class="c"># $Id: GSASIIindex.py 1637 2015-02-06 21:09:50Z vondreele $</span> 60 60 <span class="c">########### SVN repository information ###################</span> 61 61 <span class="sd">'''</span> … … 76 76 <span class="kn">import</span> <span class="nn">numpy.linalg</span> <span class="kn">as</span> <span class="nn">nl</span> 77 77 <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">"$Revision: 1 445$"</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">"$Revision: 1637 $"</span><span class="p">)</span> 79 79 <span class="kn">import</span> <span class="nn">GSASIIlattice</span> <span class="kn">as</span> <span class="nn">G2lat</span> 80 <span class="kn">import</span> <span class="nn">GSASIIpwd</span> <span class="kn">as</span> <span class="nn">G2pwd</span> 81 <span class="kn">import</span> <span class="nn">GSASIIspc</span> <span class="kn">as</span> <span class="nn">G2spc</span> 82 <span class="kn">import</span> <span class="nn">GSASIImath</span> <span class="kn">as</span> <span class="nn">G2mth</span> 80 83 <span class="kn">import</span> <span class="nn">scipy.optimize</span> <span class="kn">as</span> <span class="nn">so</span> 81 84 … … 96 99 <span class="n">npatand</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="mf">180.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">arctan</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span> 97 100 <span class="n">npatan2d</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">y</span><span class="p">,</span><span class="n">x</span><span class="p">:</span> <span class="mf">180.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">arctan2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="n">x</span><span class="p">)</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span> 101 <span class="n">rpd</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span> 98 102 99 103 <div class="viewcode-block" id="scaleAbyV"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.scaleAbyV">[docs]</a><span class="k">def</span> <span class="nf">scaleAbyV</span><span class="p">(</span><span class="n">A</span><span class="p">,</span><span class="n">V</span><span class="p">):</span> … … 219 223 <span class="k">return</span> <span class="p">[</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">alp</span><span class="p">,</span><span class="n">bet</span><span class="p">,</span><span class="n">gam</span><span class="p">]</span> 220 224 </div> 221 <div class="viewcode-block" id="calc_M20"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.calc_M20">[docs]</a><span class="k">def</span> <span class="nf">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p"> ):</span>225 <div class="viewcode-block" id="calc_M20"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.calc_M20">[docs]</a><span class="k">def</span> <span class="nf">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">,</span><span class="n">ifX20</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span> 222 226 <span class="s">'needs a doc string'</span> 223 227 <span class="n">diff</span> <span class="o">=</span> <span class="mi">0</span> … … 238 242 <span class="k">for</span> <span class="n">N20</span><span class="p">,</span><span class="n">hkl</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">HKL</span><span class="p">):</span> 239 243 <span class="k">if</span> <span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o"><</span> <span class="n">d20</span><span class="p">:</span> 244 <span class="k">break</span> 245 <span class="n">eta</span> <span class="o">=</span> <span class="n">diff</span><span class="o">/</span><span class="n">Nobs20</span> 246 <span class="n">Q20</span> <span class="o">=</span> <span class="mf">1.0</span><span class="o">/</span><span class="n">d20</span><span class="o">**</span><span class="mi">2</span> 247 <span class="k">if</span> <span class="n">diff</span><span class="p">:</span> 248 <span class="n">M20</span> <span class="o">=</span> <span class="n">Q20</span><span class="o">/</span><span class="p">(</span><span class="mf">2.0</span><span class="o">*</span><span class="n">diff</span><span class="p">)</span> 249 <span class="k">else</span><span class="p">:</span> 250 <span class="n">M20</span> <span class="o">=</span> <span class="mi">0</span> 251 <span class="k">if</span> <span class="n">ifX20</span><span class="p">:</span> 252 <span class="n">M20</span> <span class="o">/=</span> <span class="p">(</span><span class="mf">1.</span><span class="o">+</span><span class="n">X20</span><span class="p">)</span> 253 <span class="k">return</span> <span class="n">M20</span><span class="p">,</span><span class="n">X20</span> 254 </div> 255 <div class="viewcode-block" id="calc_M20SS"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.calc_M20SS">[docs]</a><span class="k">def</span> <span class="nf">calc_M20SS</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">):</span> 256 <span class="s">'needs a doc string'</span> 257 <span class="n">diff</span> <span class="o">=</span> <span class="mi">0</span> 258 <span class="n">X20</span> <span class="o">=</span> <span class="mi">0</span> 259 <span class="k">for</span> <span class="n">Nobs20</span><span class="p">,</span><span class="n">peak</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">peaks</span><span class="p">):</span> 260 <span class="k">if</span> <span class="n">peak</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span> 261 <span class="n">Qobs</span> <span class="o">=</span> <span class="mf">1.0</span><span class="o">/</span><span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span><span class="o">**</span><span class="mi">2</span> 262 <span class="n">Qcalc</span> <span class="o">=</span> <span class="mf">1.0</span><span class="o">/</span><span class="n">peak</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span><span class="o">**</span><span class="mi">2</span> 263 <span class="n">diff</span> <span class="o">+=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">Qobs</span><span class="o">-</span><span class="n">Qcalc</span><span class="p">)</span> 264 <span class="k">elif</span> <span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span> 265 <span class="n">X20</span> <span class="o">+=</span> <span class="mi">1</span> 266 <span class="k">if</span> <span class="n">Nobs20</span> <span class="o">==</span> <span class="mi">19</span><span class="p">:</span> 267 <span class="n">d20</span> <span class="o">=</span> <span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> 268 <span class="k">break</span> 269 <span class="k">else</span><span class="p">:</span> 270 <span class="n">d20</span> <span class="o">=</span> <span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> 271 <span class="n">Nobs20</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span> 272 <span class="k">for</span> <span class="n">N20</span><span class="p">,</span><span class="n">hkl</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">HKL</span><span class="p">):</span> 273 <span class="k">if</span> <span class="n">hkl</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o"><</span> <span class="n">d20</span><span class="p">:</span> 240 274 <span class="k">break</span> 241 275 <span class="n">eta</span> <span class="o">=</span> <span class="n">diff</span><span class="o">/</span><span class="n">Nobs20</span> … … 263 297 <span class="k">return</span> <span class="n">X</span> 264 298 </div> 265 <span class="k">def</span> <span class="nf">sort Volume</span><span class="p">(</span><span class="n">cells</span><span class="p">):</span>299 <span class="k">def</span> <span class="nf">sortCells</span><span class="p">(</span><span class="n">cells</span><span class="p">,</span><span class="n">col</span><span class="p">):</span> 266 300 <span class="c">#cells is M20,X20,Bravais,a,b,c,alp,bet,gam,volume</span> 267 <span class="c">#sort smallest volume 1st</span>301 <span class="c">#sort smallest a,b,c,alpha,beta,gamma or volume 1st</span> 268 302 <span class="n">T</span> <span class="o">=</span> <span class="p">[]</span> 269 303 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">M</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">cells</span><span class="p">):</span> 270 <span class="n">T</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">M</span><span class="p">[</span><span class=" mi">9</span><span class="p">],</span><span class="n">i</span><span class="p">))</span>304 <span class="n">T</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">M</span><span class="p">[</span><span class="n">col</span><span class="p">],</span><span class="n">i</span><span class="p">))</span> 271 305 <span class="n">D</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">T</span><span class="p">,</span><span class="n">cells</span><span class="p">))</span> 272 306 <span class="n">T</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span> … … 275 309 <span class="n">X</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">D</span><span class="p">[</span><span class="n">key</span><span class="p">])</span> 276 310 <span class="k">return</span> <span class="n">X</span> 311 312 <span class="k">def</span> <span class="nf">findMV</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">controls</span><span class="p">,</span><span class="n">ssopt</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">dlg</span><span class="p">):</span> 313 314 <span class="k">def</span> <span class="nf">Val2Vec</span><span class="p">(</span><span class="n">vec</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">values</span><span class="p">):</span> 315 <span class="n">Vec</span> <span class="o">=</span> <span class="p">[]</span> 316 <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span> 317 <span class="k">for</span> <span class="n">j</span><span class="p">,</span><span class="n">r</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Vref</span><span class="p">):</span> 318 <span class="k">if</span> <span class="n">r</span><span class="p">:</span> 319 <span class="k">if</span> <span class="n">values</span><span class="o">.</span><span class="n">size</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> 320 <span class="n">Vec</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="nb">min</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span><span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span> 321 <span class="k">else</span><span class="p">:</span> 322 <span class="n">Vec</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="nb">min</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span><span class="n">values</span><span class="p">)))</span> 323 <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span> 324 <span class="k">else</span><span class="p">:</span> 325 <span class="n">Vec</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">vec</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> 326 <span class="k">return</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> 327 328 <span class="k">def</span> <span class="nf">ZSSfunc</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">peaks</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">Vref</span><span class="p">,</span><span class="n">maxH</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">dlg</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> 329 <span class="n">Vec</span> <span class="o">=</span> <span class="n">Val2Vec</span><span class="p">(</span><span class="n">vec</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">values</span><span class="p">)</span> 330 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">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> 331 <span class="n">Peaks</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">IndexSSPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span><span class="o">.</span><span class="n">T</span> 332 <span class="n">Qo</span> <span class="o">=</span> <span class="mf">1.</span><span class="o">/</span><span class="n">Peaks</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">**</span><span class="mi">2</span> 333 <span class="n">Qc</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_rDsqZSS</span><span class="p">(</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">8</span><span class="p">],</span><span class="n">A</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">)</span> 334 <span class="n">chi</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">Qo</span><span class="o">-</span><span class="n">Qc</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> 335 <span class="k">if</span> <span class="n">dlg</span><span class="p">:</span> 336 <span class="n">dlg</span><span class="o">.</span><span class="n">Pulse</span><span class="p">()</span> 337 <span class="k">return</span> <span class="n">chi</span> 338 339 <span class="k">if</span> <span class="s">'C'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 340 <span class="n">wave</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">getWave</span><span class="p">(</span><span class="n">Inst</span><span class="p">)</span> 341 <span class="k">else</span><span class="p">:</span> 342 <span class="n">difC</span> <span class="o">=</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'difC'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> 343 <span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span> 344 <span class="n">SSGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSpcGroup</span><span class="p">(</span><span class="n">SGData</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span> 345 <span class="n">A</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">12</span><span class="p">])</span> 346 <span class="n">Z</span> <span class="o">=</span> <span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> 347 <span class="n">Vref</span> <span class="o">=</span> <span class="p">[</span><span class="bp">True</span> <span class="k">if</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">]</span> <span class="k">else</span> <span class="bp">False</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'a'</span><span class="p">,</span><span class="s">'b'</span><span class="p">,</span><span class="s">'g'</span><span class="p">]]</span> 348 <span class="n">values</span> <span class="o">=</span> <span class="p">[]</span> 349 <span class="n">ranges</span> <span class="o">=</span> <span class="p">[]</span> 350 <span class="k">for</span> <span class="n">v</span><span class="p">,</span><span class="n">r</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">Vref</span><span class="p">):</span> 351 <span class="k">if</span> <span class="n">r</span><span class="p">:</span> 352 <span class="n">ranges</span> <span class="o">+=</span> <span class="p">[</span><span class="nb">slice</span><span class="p">(</span><span class="o">.</span><span class="mo">02</span><span class="p">,</span><span class="o">.</span><span class="mi">98</span><span class="p">,</span><span class="o">.</span><span class="mo">05</span><span class="p">),]</span> 353 <span class="n">values</span> <span class="o">+=</span> <span class="p">[</span><span class="n">v</span><span class="p">,]</span> 354 <span class="n">dmin</span> <span class="o">=</span> <span class="n">getDmin</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span><span class="o">-</span><span class="mf">0.005</span> 355 <span class="n">Peaks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span><span class="p">)</span> 356 <span class="n">result</span> <span class="o">=</span> <span class="n">so</span><span class="o">.</span><span class="n">brute</span><span class="p">(</span><span class="n">ZSSfunc</span><span class="p">,</span><span class="n">ranges</span><span class="p">,</span><span class="n">finish</span><span class="o">=</span><span class="n">so</span><span class="o">.</span><span class="n">fmin_cg</span><span class="p">,</span> 357 <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">peaks</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">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">Vref</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">],</span><span class="n">A</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">dlg</span><span class="p">))</span> 358 <span class="k">return</span> <span class="n">Val2Vec</span><span class="p">(</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">Vref</span><span class="p">,</span><span class="n">result</span><span class="p">)</span> 277 359 278 360 <div class="viewcode-block" id="IndexPeaks"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.IndexPeaks">[docs]</a><span class="k">def</span> <span class="nf">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">):</span> … … 280 362 <span class="kn">import</span> <span class="nn">bisect</span> 281 363 <span class="n">N</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span> 282 <span class="k">if</span> <span class="n">N</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="k">return</span> <span class="bp">False</span> 364 <span class="k">if</span> <span class="n">N</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="k">return</span> <span class="bp">False</span><span class="p">,</span><span class="n">peaks</span> 283 365 <span class="n">hklds</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="p">[</span><span class="mf">1000.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,]</span> 284 366 <span class="n">hklds</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span> <span class="c"># ascending sort - upper bound at end</span> … … 286 368 <span class="k">for</span> <span class="n">ipk</span><span class="p">,</span><span class="n">peak</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">peaks</span><span class="p">):</span> 287 369 <span class="k">if</span> <span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span> 370 <span class="n">peak</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span> <span class="o">=</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="c">#clear old indexing</span> 371 <span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.</span> 288 372 <span class="n">i</span> <span class="o">=</span> <span class="n">bisect</span><span class="o">.</span><span class="n">bisect_right</span><span class="p">(</span><span class="n">hklds</span><span class="p">,</span><span class="n">peak</span><span class="p">[</span><span class="mi">7</span><span class="p">])</span> <span class="c"># find peak position in hkl list</span> 289 <span class="n">dm</span> <span class="o">=</span> <span class="n">peak</span><span class="p">[</span><span class=" mi">7</span><span class="p">]</span><span class="o">-</span><span class="n">hklds</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="c"># peak to neighbor hkls in list</span>290 <span class="n">dp</span> <span class="o">=</span> <span class="n">hklds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="n">peak</span><span class="p">[</span><span class=" mi">7</span><span class="p">]</span>373 <span class="n">dm</span> <span class="o">=</span> <span class="n">peak</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">hklds</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="c"># peak to neighbor hkls in list</span> 374 <span class="n">dp</span> <span class="o">=</span> <span class="n">hklds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="n">peak</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> 291 375 <span class="n">pos</span> <span class="o">=</span> <span class="n">N</span><span class="o">-</span><span class="n">i</span> <span class="c"># reverse the order</span> 292 376 <span class="k">if</span> <span class="n">dp</span> <span class="o">></span> <span class="n">dm</span><span class="p">:</span> <span class="n">pos</span> <span class="o">+=</span> <span class="mi">1</span> <span class="c"># closer to upper than lower</span> … … 295 379 <span class="k">break</span> 296 380 <span class="n">hkl</span> <span class="o">=</span> <span class="n">HKL</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span> <span class="c"># put in hkl</span> 297 <span class="k">if</span> <span class="n">hkl</span><span class="p">[</span><span class=" mi">4</span><span class="p">]</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span> <span class="c"># peak already assigned - test if this one better</span>298 <span class="n">opeak</span> <span class="o">=</span> <span class="n">peaks</span><span class="p">[</span><span class="n">hkl</span><span class="p">[</span><span class=" mi">4</span><span class="p">]]</span>299 <span class="n">dold</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">opeak</span><span class="p">[</span><span class=" mi">7</span><span class="p">]</span><span class="o">-</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span>381 <span class="k">if</span> <span class="n">hkl</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">0</span><span class="p">:</span> <span class="c"># peak already assigned - test if this one better</span> 382 <span class="n">opeak</span> <span class="o">=</span> <span class="n">peaks</span><span class="p">[</span><span class="n">hkl</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> 383 <span class="n">dold</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">opeak</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> 300 384 <span class="n">dnew</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">dm</span><span class="p">,</span><span class="n">dp</span><span class="p">)</span> 301 385 <span class="k">if</span> <span class="n">dold</span> <span class="o">></span> <span class="n">dnew</span><span class="p">:</span> <span class="c"># new better - zero out old</span> … … 304 388 <span class="k">else</span><span class="p">:</span> <span class="c"># old better - do nothing</span> 305 389 <span class="k">continue</span> 306 <span class="n">hkl</span><span class="p">[</span><span class=" mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">ipk</span>390 <span class="n">hkl</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">ipk</span> 307 391 <span class="n">peak</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span> <span class="o">=</span> <span class="n">hkl</span><span class="p">[:</span><span class="mi">3</span><span class="p">]</span> 308 392 <span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</span> <span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="c"># fill in d-calc</span> … … 310 394 <span class="n">peak</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> 311 395 <span class="k">if</span> <span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span> 312 <span class="k">if</span> <span class="n">peak</span><span class="p">[</span><span class=" mi">8</span><span class="p">]</span> <span class="o">></span> <span class="mf">0.</span><span class="p">:</span>396 <span class="k">if</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="mf">0.</span><span class="p">:</span> 313 397 <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">):</span> 314 398 <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="n">j</span><span class="o">+</span><span class="mi">4</span><span class="p">])</span> <span class="o">></span> <span class="n">hklmax</span><span class="p">[</span><span class="n">j</span><span class="p">]:</span> <span class="n">hklmax</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="n">j</span><span class="o">+</span><span class="mi">4</span><span class="p">])</span> 315 399 <span class="n">peak</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span> 316 400 <span class="k">if</span> <span class="n">hklmax</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">hklmax</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">hklmax</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> 317 <span class="k">return</span> <span class="bp">True</span> 318 <span class="k">else</span><span class="p">:</span> 319 <span class="k">return</span> <span class="bp">False</span> 401 <span class="k">return</span> <span class="bp">True</span><span class="p">,</span><span class="n">peaks</span> 402 <span class="k">else</span><span class="p">:</span> 403 <span class="k">return</span> <span class="bp">False</span><span class="p">,</span><span class="n">peaks</span> <span class="c">#nothing indexed!</span> 404 </div> 405 <div class="viewcode-block" id="IndexSSPeaks"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.IndexSSPeaks">[docs]</a><span class="k">def</span> <span class="nf">IndexSSPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">):</span> 406 <span class="s">'needs a doc string'</span> 407 <span class="kn">import</span> <span class="nn">bisect</span> 408 <span class="n">N</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span> 409 <span class="n">Peaks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span> 410 <span class="k">if</span> <span class="n">N</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="k">return</span> <span class="bp">False</span><span class="p">,</span><span class="n">Peaks</span> 411 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">==</span> <span class="mi">9</span><span class="p">:</span> <span class="c">#add m column if missing</span> 412 <span class="n">Peaks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">Peaks</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">Peaks</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> 413 <span class="c"># for peak in Peaks:</span> 414 <span class="c"># peak.insert(7,0)</span> 415 <span class="n">hklds</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">4</span><span class="p">])</span><span class="o">+</span><span class="p">[</span><span class="mf">1000.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,]</span> 416 <span class="n">hklds</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span> <span class="c"># ascending sort - upper bound at end</span> 417 <span class="n">hklmax</span> <span class="o">=</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="mi">0</span><span class="p">]</span> 418 <span class="k">for</span> <span class="n">ipk</span><span class="p">,</span><span class="n">peak</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Peaks</span><span class="p">):</span> 419 <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="c">#Use</span> 420 <span class="n">peak</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</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="mi">0</span><span class="p">]</span> <span class="c">#clear old indexing</span> 421 <span class="n">peak</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.</span> 422 <span class="n">i</span> <span class="o">=</span> <span class="n">bisect</span><span class="o">.</span><span class="n">bisect_right</span><span class="p">(</span><span class="n">hklds</span><span class="p">,</span><span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">])</span> <span class="c"># find peak position in hkl list</span> 423 <span class="n">dm</span> <span class="o">=</span> <span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span><span class="o">-</span><span class="n">hklds</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="c"># peak to neighbor hkls in list</span> 424 <span class="n">dp</span> <span class="o">=</span> <span class="n">hklds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="n">peak</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> 425 <span class="n">pos</span> <span class="o">=</span> <span class="n">N</span><span class="o">-</span><span class="n">i</span> <span class="c"># reverse the order</span> 426 <span class="k">if</span> <span class="n">dp</span> <span class="o">></span> <span class="n">dm</span><span class="p">:</span> <span class="n">pos</span> <span class="o">+=</span> <span class="mi">1</span> <span class="c"># closer to upper than lower</span> 427 <span class="k">if</span> <span class="n">pos</span> <span class="o">>=</span> <span class="n">N</span><span class="p">:</span> 428 <span class="k">print</span> <span class="n">pos</span><span class="p">,</span><span class="n">N</span> 429 <span class="k">break</span> 430 <span class="n">hkl</span> <span class="o">=</span> <span class="n">HKL</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span> <span class="c"># put in hkl</span> 431 <span class="k">if</span> <span class="n">hkl</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">0</span><span class="p">:</span> <span class="c"># peak already assigned - test if this one better</span> 432 <span class="n">opeak</span> <span class="o">=</span> <span class="n">Peaks</span><span class="p">[</span><span class="n">hkl</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> 433 <span class="n">dold</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">opeak</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">hkl</span><span class="p">[</span><span class="mi">4</span><span class="p">])</span> 434 <span class="n">dnew</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">dm</span><span class="p">,</span><span class="n">dp</span><span class="p">)</span> 435 <span class="k">if</span> <span class="n">dold</span> <span class="o">></span> <span class="n">dnew</span><span class="p">:</span> <span class="c"># new better - zero out old</span> 436 <span class="n">opeak</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</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="mi">0</span><span class="p">]</span> 437 <span class="n">opeak</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.</span> 438 <span class="k">else</span><span class="p">:</span> <span class="c"># old better - do nothing</span> 439 <span class="k">continue</span> 440 <span class="n">hkl</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">ipk</span> 441 <span class="n">peak</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</span> <span class="n">hkl</span><span class="p">[:</span><span class="mi">4</span><span class="p">]</span> 442 <span class="n">peak</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">=</span> <span class="n">hkl</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="c"># fill in d-calc</span> 443 <span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">Peaks</span><span class="p">:</span> 444 <span class="n">peak</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> 445 <span class="k">if</span> <span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span> 446 <span class="k">if</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="mf">0.</span><span class="p">:</span> 447 <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">4</span><span class="p">):</span> 448 <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="n">j</span><span class="o">+</span><span class="mi">4</span><span class="p">])</span> <span class="o">></span> <span class="n">hklmax</span><span class="p">[</span><span class="n">j</span><span class="p">]:</span> <span class="n">hklmax</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="n">j</span><span class="o">+</span><span class="mi">4</span><span class="p">])</span> 449 <span class="n">peak</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span> 450 <span class="k">if</span> <span class="n">hklmax</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">hklmax</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">hklmax</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">hklmax</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> 451 <span class="k">return</span> <span class="bp">True</span><span class="p">,</span><span class="n">Peaks</span> 452 <span class="k">else</span><span class="p">:</span> 453 <span class="k">return</span> <span class="bp">False</span><span class="p">,</span><span class="n">Peaks</span> <span class="c">#nothing indexed!</span> 320 454 </div> 321 455 <div class="viewcode-block" id="Values2A"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.Values2A">[docs]</a><span class="k">def</span> <span class="nf">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">values</span><span class="p">):</span> … … 332 466 <span class="k">return</span> <span class="p">[</span><span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">values</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">values</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="mi">0</span><span class="p">,</span><span class="n">values</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span><span class="mi">0</span><span class="p">]</span> 333 467 <span class="k">else</span><span class="p">:</span> 334 <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="n">values</span><span class="p"> )</span>468 <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="n">values</span><span class="p">[:</span><span class="mi">6</span><span class="p">])</span> 335 469 </div> 336 470 <div class="viewcode-block" id="A2values"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.A2values">[docs]</a><span class="k">def</span> <span class="nf">A2values</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">):</span> … … 346 480 <span class="k">else</span><span class="p">:</span> 347 481 <span class="k">return</span> <span class="n">A</span> 348 </div> 482 </div> 483 <span class="k">def</span> <span class="nf">Values2Vec</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">vec</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">val</span><span class="p">):</span> 484 <span class="k">if</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]:</span> 485 <span class="n">Nskip</span> <span class="o">=</span> <span class="mi">2</span> 486 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">9</span><span class="p">,</span><span class="mi">10</span><span class="p">]:</span> 487 <span class="n">Nskip</span> <span class="o">=</span> <span class="mi">3</span> 488 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">11</span><span class="p">,</span><span class="mi">12</span><span class="p">]:</span> 489 <span class="n">Nskip</span> <span class="o">=</span> <span class="mi">4</span> 490 <span class="k">else</span><span class="p">:</span> 491 <span class="n">Nskip</span> <span class="o">=</span> <span class="mi">6</span> 492 <span class="n">Vec</span> <span class="o">=</span> <span class="p">[]</span> 493 <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span> 494 <span class="k">for</span> <span class="n">j</span><span class="p">,</span><span class="n">r</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Vref</span><span class="p">):</span> 495 <span class="k">if</span> <span class="n">r</span><span class="p">:</span> 496 <span class="n">Vec</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">val</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="n">Nskip</span><span class="p">])</span> 497 <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span> 498 <span class="k">else</span><span class="p">:</span> 499 <span class="n">Vec</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">vec</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> 500 <span class="k">return</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> 501 349 502 <div class="viewcode-block" id="FitHKL"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.FitHKL">[docs]</a><span class="k">def</span> <span class="nf">FitHKL</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Pwr</span><span class="p">):</span> 350 503 <span class="s">'needs a doc string'</span> … … 355 508 <span class="n">Qc</span> <span class="o">=</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> 356 509 <span class="k">return</span> <span class="p">(</span><span class="n">Qo</span><span class="o">-</span><span class="n">Qc</span><span class="p">)</span><span class="o">*</span><span class="n">d</span><span class="o">**</span><span class="n">Pwr</span> 510 511 <span class="k">def</span> <span class="nf">dervFit</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">Pwr</span><span class="p">):</span> 512 <span class="k">if</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">]:</span> 513 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],]</span> 514 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,]:</span> 515 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 516 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]:</span> 517 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 518 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">9</span><span class="p">,</span><span class="mi">10</span><span class="p">]:</span> 519 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 520 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">11</span><span class="p">,</span><span class="mi">12</span><span class="p">]:</span> 521 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 522 <span class="k">else</span><span class="p">:</span> 523 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 524 <span class="n">derv</span> <span class="o">=</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">derv</span><span class="p">)</span> 525 <span class="k">return</span> <span class="p">(</span><span class="n">derv</span><span class="o">*</span><span class="n">d</span><span class="o">**</span><span class="n">Pwr</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 357 526 358 527 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 359 360 528 <span class="n">values</span> <span class="o">=</span> <span class="n">A2values</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 361 <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">errFit</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>529 <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">errFit</span><span class="p">,</span><span class="n">values</span><span class="p">,</span><span class="n">Dfun</span><span class="o">=</span><span class="n">dervFit</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> 362 530 <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Pwr</span><span class="p">))</span> 363 531 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 364 532 <span class="k">return</span> <span class="bp">True</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">errFit</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Pwr</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">),</span><span class="n">A</span><span class="p">,</span><span class="n">result</span> 365 533 </div> 366 <div class="viewcode-block" id="FitHKLZ"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.FitHKLZ">[docs]</a><span class="k">def</span> <span class="nf">FitHKLZ</span><span class="p">(</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">,</span><span class="n">Pwr</span><span class="p">):</span> 367 <span class="s">'needs a doc string'</span> 368 369 <span class="k">def</span> <span class="nf">errFit</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">tth</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span><span class="n">Zref</span><span class="p">,</span><span class="n">Pwr</span><span class="p">):</span> 370 <span class="n">Zero</span> <span class="o">=</span> <span class="n">Z</span> 371 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 372 <span class="n">Zero</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> 373 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">values</span><span class="p">[:</span><span class="mi">6</span><span class="p">])</span> 374 <span class="n">Qo</span> <span class="o">=</span> <span class="mf">1.</span><span class="o">/</span><span class="n">d</span><span class="o">**</span><span class="mi">2</span> 375 <span class="n">Qc</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_rDsqZ</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">tth</span><span class="p">,</span><span class="n">wave</span><span class="p">)</span> 376 <span class="k">return</span> <span class="p">(</span><span class="n">Qo</span><span class="o">-</span><span class="n">Qc</span><span class="p">)</span><span class="o">*</span><span class="n">d</span><span class="o">**</span><span class="n">Pwr</span> 377 378 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 379 534 <span class="k">def</span> <span class="nf">errFitZ</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">tth</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 535 <span class="n">Zero</span> <span class="o">=</span> <span class="n">Z</span> 536 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 537 <span class="n">Zero</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> 538 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">values</span><span class="p">)</span> 539 <span class="n">Qo</span> <span class="o">=</span> <span class="mf">1.</span><span class="o">/</span><span class="n">d</span><span class="o">**</span><span class="mi">2</span> 540 <span class="n">Qc</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_rDsqZ</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">tth</span><span class="p">,</span><span class="n">wave</span><span class="p">)</span> 541 <span class="k">return</span> <span class="p">(</span><span class="n">Qo</span><span class="o">-</span><span class="n">Qc</span><span class="p">)</span> 542 543 <span class="k">def</span> <span class="nf">dervFitZ</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">tth</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 544 <span class="k">if</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">]:</span> 545 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],]</span> 546 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,]:</span> 547 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 548 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]:</span> 549 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 550 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">9</span><span class="p">,</span><span class="mi">10</span><span class="p">]:</span> 551 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 552 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">11</span><span class="p">,</span><span class="mi">12</span><span class="p">]:</span> 553 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 554 <span class="k">else</span><span class="p">:</span> 555 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 556 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 557 <span class="n">derv</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">npsind</span><span class="p">(</span><span class="n">tth</span><span class="p">)</span><span class="o">*</span><span class="mf">2.0</span><span class="o">*</span><span class="n">rpd</span><span class="o">/</span><span class="n">wave</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> 558 <span class="n">derv</span> <span class="o">=</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">derv</span><span class="p">)</span> 559 <span class="k">return</span> <span class="n">derv</span><span class="o">.</span><span class="n">T</span> 560 561 <div class="viewcode-block" id="FitHKLZ"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.FitHKLZ">[docs]</a><span class="k">def</span> <span class="nf">FitHKLZ</span><span class="p">(</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 562 <span class="s">'needs a doc string'</span> 563 564 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 380 565 <span class="n">values</span> <span class="o">=</span> <span class="n">A2values</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 381 566 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 382 567 <span class="n">values</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Z</span><span class="p">)</span> 383 <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">errFit </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><span class="n">factor</span><span class="o">=</span><span class="mf">0.001</span><span class="p">,</span>384 <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">Z ref</span><span class="p">,</span><span class="n">Pwr</span><span class="p">))</span>568 <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">errFitZ</span><span class="p">,</span><span class="n">values</span><span class="p">,</span><span class="n">Dfun</span><span class="o">=</span><span class="n">dervFitZ</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> 569 <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">))</span> 385 570 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">6</span><span class="p">])</span> 386 571 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 387 572 <span class="n">Z</span> <span class="o">=</span> <span class="n">result</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> 388 389 <span class="k">return</span> <span class="bp">True</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">errFit</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">Zref</span><span class="p">,</span><span class="n">Pwr</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">),</span><span class="n">A</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> 390 </div> 391 <div class="viewcode-block" id="FitHKLT"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.FitHKLT">[docs]</a><span class="k">def</span> <span class="nf">FitHKLT</span><span class="p">(</span><span class="n">difC</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">,</span><span class="n">Pwr</span><span class="p">):</span> 392 <span class="s">'needs a doc string'</span> 393 394 <span class="k">def</span> <span class="nf">errFit</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">tof</span><span class="p">,</span><span class="n">difC</span><span class="p">,</span><span class="n">Zref</span><span class="p">,</span><span class="n">Pwr</span><span class="p">):</span> 395 <span class="n">Zero</span> <span class="o">=</span> <span class="n">Z</span> 396 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 397 <span class="n">Zero</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> 398 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">values</span><span class="p">[:</span><span class="mi">6</span><span class="p">])</span> 399 <span class="n">Qo</span> <span class="o">=</span> <span class="mf">1.</span><span class="o">/</span><span class="n">d</span><span class="o">**</span><span class="mi">2</span> 400 <span class="n">Qc</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_rDsqT</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">tof</span><span class="p">,</span><span class="n">difC</span><span class="p">)</span> 401 <span class="k">return</span> <span class="p">(</span><span class="n">Qo</span><span class="o">-</span><span class="n">Qc</span><span class="p">)</span><span class="o">*</span><span class="n">d</span><span class="o">**</span><span class="n">Pwr</span> 402 403 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 404 573 <span class="n">chisq</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">errFitZ</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> 574 <span class="k">return</span> <span class="bp">True</span><span class="p">,</span><span class="n">chisq</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> 575 </div> 576 <span class="k">def</span> <span class="nf">errFitZSS</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">tth</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span><span class="n">vec</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 577 <span class="n">Zero</span> <span class="o">=</span> <span class="n">Z</span> 578 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 579 <span class="n">Zero</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> 580 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">values</span><span class="p">)</span> 581 <span class="n">Vec</span> <span class="o">=</span> <span class="n">Values2Vec</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">vec</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">values</span><span class="p">)</span> 582 <span class="n">Qo</span> <span class="o">=</span> <span class="mf">1.</span><span class="o">/</span><span class="n">d</span><span class="o">**</span><span class="mi">2</span> 583 <span class="n">Qc</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_rDsqZSS</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">tth</span><span class="p">,</span><span class="n">wave</span><span class="p">)</span> 584 <span class="k">return</span> <span class="p">(</span><span class="n">Qo</span><span class="o">-</span><span class="n">Qc</span><span class="p">)</span> 585 586 <span class="k">def</span> <span class="nf">dervFitZSS</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">tth</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span><span class="n">vec</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 587 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">values</span><span class="p">)</span> 588 <span class="n">Vec</span> <span class="o">=</span> <span class="n">Values2Vec</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">vec</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">values</span><span class="p">)</span> 589 <span class="n">HM</span> <span class="o">=</span> <span class="n">H</span><span class="p">[:</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">][:,</span><span class="n">np</span><span class="o">.</span><span class="n">newaxis</span><span class="p">]</span><span class="o">*</span><span class="n">Vec</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 590 <span class="k">if</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,]:</span> 591 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 592 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]:</span> 593 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 594 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">9</span><span class="p">,</span><span class="mi">10</span><span class="p">]:</span> 595 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 596 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">11</span><span class="p">,</span><span class="mi">12</span><span class="p">]:</span> 597 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 598 <span class="k">else</span><span class="p">:</span> 599 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 600 <span class="k">if</span> <span class="n">Vref</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span> 601 <span class="n">derv</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">A</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="n">A</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="n">A</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> 602 <span class="k">if</span> <span class="n">Vref</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 603 <span class="n">derv</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">A</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="n">A</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="n">A</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> 604 <span class="k">if</span> <span class="n">Vref</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span> 605 <span class="n">derv</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">A</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="n">A</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="n">A</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span><span class="o">*</span><span class="n">HM</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> 606 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 607 <span class="n">derv</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">npsind</span><span class="p">(</span><span class="n">tth</span><span class="p">)</span><span class="o">*</span><span class="mf">2.0</span><span class="o">*</span><span class="n">rpd</span><span class="o">/</span><span class="n">wave</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> 608 <span class="n">derv</span> <span class="o">=</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">derv</span><span class="p">)</span> 609 <span class="k">return</span> <span class="n">derv</span><span class="o">.</span><span class="n">T</span> 610 611 <div class="viewcode-block" id="FitHKLZSS"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.FitHKLZSS">[docs]</a><span class="k">def</span> <span class="nf">FitHKLZSS</span><span class="p">(</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 612 <span class="s">'needs a doc string'</span> 613 614 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 615 <span class="n">values</span> <span class="o">=</span> <span class="n">A2values</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 616 <span class="k">for</span> <span class="n">v</span><span class="p">,</span><span class="n">r</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">V</span><span class="p">,</span><span class="n">Vref</span><span class="p">):</span> 617 <span class="k">if</span> <span class="n">r</span><span class="p">:</span> 618 <span class="n">values</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> 619 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 620 <span class="n">values</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Z</span><span class="p">)</span> 621 <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">errFitZSS</span><span class="p">,</span><span class="n">values</span><span class="p">,</span><span class="n">Dfun</span><span class="o">=</span><span class="n">dervFitZSS</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">1.e-6</span><span class="p">,</span> 622 <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">8</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">8</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">))</span> 623 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 624 <span class="n">Vec</span> <span class="o">=</span> <span class="n">Values2Vec</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 625 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 626 <span class="n">Z</span> <span class="o">=</span> <span class="n">result</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> 627 <span class="n">chisq</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">errFitZSS</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">8</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">8</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> 628 <span class="k">return</span> <span class="bp">True</span><span class="p">,</span><span class="n">chisq</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> 629 </div> 630 <span class="k">def</span> <span class="nf">errFitT</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">tof</span><span class="p">,</span><span class="n">difC</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 631 <span class="n">Zero</span> <span class="o">=</span> <span class="n">Z</span> 632 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 633 <span class="n">Zero</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> 634 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">values</span><span class="p">)</span> 635 <span class="n">Qo</span> <span class="o">=</span> <span class="mf">1.</span><span class="o">/</span><span class="n">d</span><span class="o">**</span><span class="mi">2</span> 636 <span class="n">Qc</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_rDsqT</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">tof</span><span class="p">,</span><span class="n">difC</span><span class="p">)</span> 637 <span class="k">return</span> <span class="p">(</span><span class="n">Qo</span><span class="o">-</span><span class="n">Qc</span><span class="p">)</span> 638 639 <span class="k">def</span> <span class="nf">dervFitT</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">tof</span><span class="p">,</span><span class="n">difC</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 640 <span class="k">if</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">]:</span> 641 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],]</span> 642 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,]:</span> 643 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 644 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]:</span> 645 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 646 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">9</span><span class="p">,</span><span class="mi">10</span><span class="p">]:</span> 647 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 648 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">11</span><span class="p">,</span><span class="mi">12</span><span class="p">]:</span> 649 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 650 <span class="k">else</span><span class="p">:</span> 651 <span class="n">derv</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">H</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">H</span><span class="p">[</span><span class="mi">2</span><span class="p">]]</span> 652 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 653 <span class="n">derv</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones_like</span><span class="p">(</span><span class="n">d</span><span class="p">)</span><span class="o">/</span><span class="n">difC</span><span class="p">)</span> 654 <span class="n">derv</span> <span class="o">=</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">derv</span><span class="p">)</span> 655 <span class="k">return</span> <span class="n">derv</span><span class="o">.</span><span class="n">T</span> 656 657 <div class="viewcode-block" id="FitHKLT"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.FitHKLT">[docs]</a><span class="k">def</span> <span class="nf">FitHKLT</span><span class="p">(</span><span class="n">difC</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">):</span> 658 <span class="s">'needs a doc string'</span> 659 660 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 405 661 <span class="n">values</span> <span class="o">=</span> <span class="n">A2values</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 406 662 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 407 663 <span class="n">values</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Z</span><span class="p">)</span> 408 <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">errFit </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><span class="n">factor</span><span class="o">=</span><span class="mf">0.001</span><span class="p">,</span>409 <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">difC</span><span class="p">,</span><span class="n">Z ref</span><span class="p">,</span><span class="n">Pwr</span><span class="p">))</span>410 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">] [:</span><span class="mi">6</span><span class="p">])</span>664 <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">errFitT</span><span class="p">,</span><span class="n">values</span><span class="p">,</span><span class="n">Dfun</span><span class="o">=</span><span class="n">dervFitT</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> 665 <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">difC</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">))</span> 666 <span class="n">A</span> <span class="o">=</span> <span class="n">Values2A</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 411 667 <span class="k">if</span> <span class="n">Zref</span><span class="p">:</span> 412 668 <span class="n">Z</span> <span class="o">=</span> <span class="n">result</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> 413 414 <span class="k">return</span> <span class="bp">True</span><span class="p">,</span><span class="n"> np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">errFit</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">difC</span><span class="p">,</span><span class="n">Zref</span><span class="p">,</span><span class="n">Pwr</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">),</span><span class="n">A</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span>669 <span class="n">chisq</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">errFitT</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">],</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">difC</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Zref</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> 670 <span class="k">return</span> <span class="bp">True</span><span class="p">,</span><span class="n">chisq</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> 415 671 </div> 416 672 <div class="viewcode-block" id="rotOrthoA"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.rotOrthoA">[docs]</a><span class="k">def</span> <span class="nf">rotOrthoA</span><span class="p">(</span><span class="n">A</span><span class="p">):</span> … … 454 710 <div class="viewcode-block" id="getDmin"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.getDmin">[docs]</a><span class="k">def</span> <span class="nf">getDmin</span><span class="p">(</span><span class="n">peaks</span><span class="p">):</span> 455 711 <span class="s">'needs a doc string'</span> 456 <span class="k">return</span> <span class="n">peaks</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class=" mi">7</span><span class="p">]</span>712 <span class="k">return</span> <span class="n">peaks</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="p">]</span> 457 713 </div> 458 714 <div class="viewcode-block" id="getDmax"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.getDmax">[docs]</a><span class="k">def</span> <span class="nf">getDmax</span><span class="p">(</span><span class="n">peaks</span><span class="p">):</span> 459 715 <span class="s">'needs a doc string'</span> 460 <span class="k">return</span> <span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class=" mi">7</span><span class="p">]</span>716 <span class="k">return</span> <span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> 461 717 </div> 462 718 <div class="viewcode-block" id="refinePeaksZ"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.refinePeaksZ">[docs]</a><span class="k">def</span> <span class="nf">refinePeaksZ</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">ZeroRef</span><span class="p">):</span> 463 719 <span class="s">'needs a doc string'</span> 464 720 <span class="n">dmin</span> <span class="o">=</span> <span class="n">getDmin</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span> 465 <span class="n">OK</span><span class="p">,</span><span class="n">smin</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> <span class="o">=</span> <span class="n">FitHKLZ</span><span class="p">(</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">ZeroRef</span><span class="p"> ,</span><span class="mi">0</span><span class="p">)</span>721 <span class="n">OK</span><span class="p">,</span><span class="n">smin</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> <span class="o">=</span> <span class="n">FitHKLZ</span><span class="p">(</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">ZeroRef</span><span class="p">)</span> 466 722 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 467 723 <span class="n">H</span> <span class="o">=</span> <span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span> 468 724 <span class="n">Peaks</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</span> <span class="mf">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_rDsqZ</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">))</span> 469 725 <span class="n">peaks</span> <span class="o">=</span> <span class="n">Peaks</span><span class="o">.</span><span class="n">T</span> 470 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A ref</span><span class="p">)</span>726 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 471 727 <span class="n">M20</span><span class="p">,</span><span class="n">X20</span> <span class="o">=</span> <span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)</span> 472 728 <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">),</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Z</span> 473 729 </div> 730 <div class="viewcode-block" id="refinePeaksZSS"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.refinePeaksZSS">[docs]</a><span class="k">def</span> <span class="nf">refinePeaksZSS</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">wave</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">maxH</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">vec</span><span class="p">,</span><span class="n">vecRef</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">ZeroRef</span><span class="p">):</span> 731 <span class="s">'needs a doc string'</span> 732 <span class="n">dmin</span> <span class="o">=</span> <span class="n">getDmin</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span> 733 <span class="n">OK</span><span class="p">,</span><span class="n">smin</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> <span class="o">=</span> <span class="n">FitHKLZSS</span><span class="p">(</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">vec</span><span class="p">,</span><span class="n">vecRef</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">ZeroRef</span><span class="p">)</span> 734 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 735 <span class="n">H</span> <span class="o">=</span> <span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">8</span><span class="p">]</span> 736 <span class="n">Peaks</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">=</span> <span class="mf">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_rDsqZSS</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">))</span> <span class="c">#H,A,vec,Z,tth,lam</span> 737 <span class="n">peaks</span> <span class="o">=</span> <span class="n">Peaks</span><span class="o">.</span><span class="n">T</span> 738 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">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">Vref</span><span class="p">,</span><span class="n">maxH</span><span class="p">,</span><span class="n">Aref</span><span class="p">)</span> 739 <span class="n">M20</span><span class="p">,</span><span class="n">X20</span> <span class="o">=</span> <span class="n">calc_M20SS</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)</span> 740 <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">),</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Vref</span><span class="p">,</span><span class="n">Z</span> 741 </div> 474 742 <div class="viewcode-block" id="refinePeaksT"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.refinePeaksT">[docs]</a><span class="k">def</span> <span class="nf">refinePeaksT</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">difC</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">ZeroRef</span><span class="p">):</span> 475 743 <span class="s">'needs a doc string'</span> 476 744 <span class="n">dmin</span> <span class="o">=</span> <span class="n">getDmin</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span> 477 <span class="n">OK</span><span class="p">,</span><span class="n">smin</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> <span class="o">=</span> <span class="n">FitHKLT</span><span class="p">(</span><span class="n">difC</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">ZeroRef</span><span class="p"> ,</span><span class="mi">0</span><span class="p">)</span>745 <span class="n">OK</span><span class="p">,</span><span class="n">smin</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">result</span> <span class="o">=</span> <span class="n">FitHKLT</span><span class="p">(</span><span class="n">difC</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Zero</span><span class="p">,</span><span class="n">ZeroRef</span><span class="p">)</span> 478 746 <span class="n">Peaks</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">peaks</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> 479 747 <span class="n">H</span> <span class="o">=</span> <span class="n">Peaks</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span> 480 748 <span class="n">Peaks</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</span> <span class="mf">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_rDsqT</span><span class="p">(</span><span class="n">H</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">Peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">difC</span><span class="p">))</span> 481 749 <span class="n">peaks</span> <span class="o">=</span> <span class="n">Peaks</span><span class="o">.</span><span class="n">T</span> 482 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A ref</span><span class="p">)</span>750 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 483 751 <span class="n">M20</span><span class="p">,</span><span class="n">X20</span> <span class="o">=</span> <span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)</span> 484 752 <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">),</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Z</span> 485 753 </div> 486 <div class="viewcode-block" id="refinePeaks"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.refinePeaks">[docs]</a><span class="k">def</span> <span class="nf">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p"> ):</span>754 <div class="viewcode-block" id="refinePeaks"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.refinePeaks">[docs]</a><span class="k">def</span> <span class="nf">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">ifX20</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span> 487 755 <span class="s">'needs a doc string'</span> 488 756 <span class="n">dmin</span> <span class="o">=</span> <span class="n">getDmin</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span> … … 493 761 <span class="n">tries</span> <span class="o">=</span> <span class="mi">0</span> 494 762 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 495 <span class="k">while</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span> <span class="o">></span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">) :</span>763 <span class="k">while</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span> <span class="o">></span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">0</span><span class="p">]:</span> 496 764 <span class="n">Pwr</span> <span class="o">=</span> <span class="n">pwr</span> <span class="o">-</span> <span class="p">(</span><span class="n">tries</span> <span class="o">%</span> <span class="mi">2</span><span class="p">)</span> 497 765 <span class="n">HKL</span> <span class="o">=</span> <span class="p">[]</span> … … 526 794 <span class="n">A</span> <span class="o">=</span> <span class="n">oldA</span> 527 795 528 <span class="n">M20</span><span class="p">,</span><span class="n">X20</span> <span class="o">=</span> <span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p"> )</span>796 <span class="n">M20</span><span class="p">,</span><span class="n">X20</span> <span class="o">=</span> <span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">,</span><span class="n">ifX20</span><span class="p">)</span> 529 797 <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">),</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> 530 798 </div> 531 <div class="viewcode-block" id="findBestCell"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.findBestCell">[docs]</a><span class="k">def</span> <span class="nf">findBestCell</span><span class="p">(</span><span class="n">dlg</span><span class="p">,</span><span class="n">ncMax</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Ntries</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">V1</span><span class="p"> ):</span>799 <div class="viewcode-block" id="findBestCell"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.findBestCell">[docs]</a><span class="k">def</span> <span class="nf">findBestCell</span><span class="p">(</span><span class="n">dlg</span><span class="p">,</span><span class="n">ncMax</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Ntries</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">V1</span><span class="p">,</span><span class="n">ifX20</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span> 532 800 <span class="s">'needs a doc string'</span> 533 801 <span class="c"># dlg & ncMax are used for wx progress bar </span> … … 544 812 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">[:])</span> 545 813 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span> <span class="o">></span> <span class="n">mHKL</span><span class="p">[</span><span class="n">ibrav</span><span class="p">]:</span> 546 <span class="n"> IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)</span>547 <span class="n">Asave</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p"> ),</span><span class="n">A</span><span class="p">[:]])</span>814 <span class="n">peaks</span> <span class="o">=</span> <span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> 815 <span class="n">Asave</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">,</span><span class="n">ifX20</span><span class="p">),</span><span class="n">A</span><span class="p">[:]])</span> 548 816 <span class="n">tries</span> <span class="o">=</span> <span class="mi">0</span> 549 817 <span class="k">while</span> <span class="n">tries</span> <span class="o"><</span> <span class="n">Ntries</span><span class="p">:</span> … … 556 824 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Abeg</span><span class="p">)</span> 557 825 558 <span class="k">if</span> <span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">) </span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span> <span class="o">></span> <span class="n">mHKL</span><span class="p">[</span><span class="n">ibrav</span><span class="p">]:</span>559 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span> <span class="o">=</span> <span class="n">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Abeg</span><span class="p"> )</span>560 <span class="n">Asave</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p"> ),</span><span class="n">Aref</span><span class="p">[:]])</span>826 <span class="k">if</span> <span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">)</span> <span class="o">></span> <span class="n">mHKL</span><span class="p">[</span><span class="n">ibrav</span><span class="p">]:</span> 827 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span> <span class="o">=</span> <span class="n">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Abeg</span><span class="p">,</span><span class="n">ifX20</span><span class="p">)</span> 828 <span class="n">Asave</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">,</span><span class="n">ifX20</span><span class="p">),</span><span class="n">Aref</span><span class="p">[:]])</span> 561 829 <span class="k">if</span> <span class="n">ibrav</span> <span class="o">==</span> <span class="mi">9</span><span class="p">:</span> <span class="c">#C-centered orthorhombic</span> 562 830 <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">):</span> 563 831 <span class="n">Abeg</span> <span class="o">=</span> <span class="n">rotOrthoA</span><span class="p">(</span><span class="n">Abeg</span><span class="p">[:])</span> 564 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span> <span class="o">=</span> <span class="n">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Abeg</span><span class="p"> )</span>832 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span> <span class="o">=</span> <span class="n">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Abeg</span><span class="p">,</span><span class="n">ifX20</span><span class="p">)</span> 565 833 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Aref</span><span class="p">)</span> 566 <span class="n"> IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)</span>567 <span class="n">Asave</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p"> ),</span><span class="n">Aref</span><span class="p">[:]])</span>834 <span class="n">peaks</span> <span class="o">=</span> <span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> 835 <span class="n">Asave</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">,</span><span class="n">ifX20</span><span class="p">),</span><span class="n">Aref</span><span class="p">[:]])</span> 568 836 <span class="k">elif</span> <span class="n">ibrav</span> <span class="o">==</span> <span class="mi">11</span><span class="p">:</span> <span class="c">#C-centered monoclinic</span> 569 837 <span class="n">Abeg</span> <span class="o">=</span> <span class="n">swapMonoA</span><span class="p">(</span><span class="n">Abeg</span><span class="p">[:])</span> 570 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span> <span class="o">=</span> <span class="n">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Abeg</span><span class="p"> )</span>838 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span> <span class="o">=</span> <span class="n">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Abeg</span><span class="p">,</span><span class="n">ifX20</span><span class="p">)</span> 571 839 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Aref</span><span class="p">)</span> 572 <span class="n"> IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)</span>573 <span class="n">Asave</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p"> ),</span><span class="n">Aref</span><span class="p">[:]])</span>840 <span class="n">peaks</span> <span class="o">=</span> <span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> 841 <span class="n">Asave</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">,</span><span class="n">ifX20</span><span class="p">),</span><span class="n">Aref</span><span class="p">[:]])</span> 574 842 <span class="k">else</span><span class="p">:</span> 575 843 <span class="k">break</span> … … 584 852 <span class="n">X</span> <span class="o">=</span> <span class="n">sortM20</span><span class="p">(</span><span class="n">Asave</span><span class="p">)</span> 585 853 <span class="k">if</span> <span class="n">X</span><span class="p">:</span> 586 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> <span class="o">=</span> <span class="n">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">X</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">] )</span>854 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> <span class="o">=</span> <span class="n">refinePeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">X</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">ifX20</span><span class="p">)</span> 587 855 <span class="k">return</span> <span class="n">GoOn</span><span class="p">,</span><span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> 588 856 … … 612 880 <span class="k">return</span> <span class="n">A</span> 613 881 </div> 614 <div class="viewcode-block" id="DoIndexPeaks"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.DoIndexPeaks">[docs]</a><span class="k">def</span> <span class="nf">DoIndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p"> ):</span>882 <div class="viewcode-block" id="DoIndexPeaks"><a class="viewcode-back" href="../GSASIIindex.html#GSASIIindex.DoIndexPeaks">[docs]</a><span class="k">def</span> <span class="nf">DoIndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">ifX20</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span> 615 883 <span class="s">'needs a doc string'</span> 616 884 … … 655 923 <span class="k">if</span> <span class="ow">not</span> <span class="n">N2</span><span class="p">:</span> 656 924 <span class="n">A</span> <span class="o">=</span> <span class="p">[]</span> 657 <span class="n">GoOn</span><span class="p">,</span><span class="n">Nc</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> <span class="o">=</span> <span class="n">findBestCell</span><span class="p">(</span><span class="n">dlg</span><span class="p">,</span><span class="n">ncMax</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Nm</span><span class="p">[</span><span class="n">ibrav</span><span class="p">]</span><span class="o">*</span><span class="n">N1s</span><span class="p">[</span><span class="n">ibrav</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">V1</span><span class="p"> )</span>925 <span class="n">GoOn</span><span class="p">,</span><span class="n">Nc</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> <span class="o">=</span> <span class="n">findBestCell</span><span class="p">(</span><span class="n">dlg</span><span class="p">,</span><span class="n">ncMax</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Nm</span><span class="p">[</span><span class="n">ibrav</span><span class="p">]</span><span class="o">*</span><span class="n">N1s</span><span class="p">[</span><span class="n">ibrav</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">V1</span><span class="p">,</span><span class="n">ifX20</span><span class="p">)</span> 658 926 <span class="k">if</span> <span class="n">A</span><span class="p">:</span> 659 <span class="n">GoOn</span><span class="p">,</span><span class="n">Nc</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> <span class="o">=</span> <span class="n">findBestCell</span><span class="p">(</span><span class="n">dlg</span><span class="p">,</span><span class="n">ncMax</span><span class="p">,</span><span class="n">A</span><span class="p">[:],</span><span class="n">N1s</span><span class="p">[</span><span class="n">ibrav</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="mi">0</span><span class="p"> )</span>927 <span class="n">GoOn</span><span class="p">,</span><span class="n">Nc</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> <span class="o">=</span> <span class="n">findBestCell</span><span class="p">(</span><span class="n">dlg</span><span class="p">,</span><span class="n">ncMax</span><span class="p">,</span><span class="n">A</span><span class="p">[:],</span><span class="n">N1s</span><span class="p">[</span><span class="n">ibrav</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">ifX20</span><span class="p">)</span> 660 928 <span class="k">else</span><span class="p">:</span> 661 <span class="n">GoOn</span><span class="p">,</span><span class="n">Nc</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> <span class="o">=</span> <span class="n">findBestCell</span><span class="p">(</span><span class="n">dlg</span><span class="p">,</span><span class="n">ncMax</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">Nm</span><span class="p">[</span><span class="n">ibrav</span><span class="p">]</span><span class="o">*</span><span class="n">N1s</span><span class="p">[</span><span class="n">ibrav</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">V1</span><span class="p"> )</span>929 <span class="n">GoOn</span><span class="p">,</span><span class="n">Nc</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">A</span> <span class="o">=</span> <span class="n">findBestCell</span><span class="p">(</span><span class="n">dlg</span><span class="p">,</span><span class="n">ncMax</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">Nm</span><span class="p">[</span><span class="n">ibrav</span><span class="p">]</span><span class="o">*</span><span class="n">N1s</span><span class="p">[</span><span class="n">ibrav</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">V1</span><span class="p">,</span><span class="n">ifX20</span><span class="p">)</span> 662 930 <span class="k">if</span> <span class="n">Nc</span> <span class="o">>=</span> <span class="n">ncMax</span><span class="p">:</span> 663 931 <span class="n">GoOn</span> <span class="o">=</span> <span class="bp">False</span> … … 675 943 <span class="n">A</span> <span class="o">=</span> <span class="n">monoCellReduce</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">[:])</span> 676 944 <span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 677 <span class="n"> IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)</span>945 <span class="n">peaks</span> <span class="o">=</span> <span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> 678 946 <span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">alp</span><span class="p">,</span><span class="n">bet</span><span class="p">,</span><span class="n">gam</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">A2cell</span><span class="p">(</span><span class="n">A</span><span class="p">)</span> 679 947 <span class="n">V</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_V</span><span class="p">(</span><span class="n">A</span><span class="p">)</span> 680 <span class="k">print</span> <span class="s">"</span><span class="si">%10.3f</span><span class="s"> </span><span class="si">%3d</span><span class="s"> </span><span class="si">%3d</span><span class="s"> </span><span class="si">%10.5f</span><span class="s"> </span><span class="si">%10.5f</span><span class="s"> </span><span class="si">%10.5f</span><span class="s"> </span><span class="si">%10.3f</span><span class="s"> </span><span class="si">%10.3f</span><span class="s"> </span><span class="si">%10.3f</span><span class="s"> </span><span class="si">%10.2f</span><span class="s"> </span><span class="si">%10.2f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Nc</span><span class="p">,</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">alp</span><span class="p">,</span><span class="n">bet</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="n">V1</span><span class="p">)</span>681 948 <span class="k">if</span> <span class="n">M20</span> <span class="o">>=</span> <span class="mf">2.0</span><span class="p">:</span> 949 <span class="k">print</span> <span class="s">"</span><span class="si">%10.3f</span><span class="s"> </span><span class="si">%3d</span><span class="s"> </span><span class="si">%3d</span><span class="s"> </span><span class="si">%10.5f</span><span class="s"> </span><span class="si">%10.5f</span><span class="s"> </span><span class="si">%10.5f</span><span class="s"> </span><span class="si">%10.3f</span><span class="s"> </span><span class="si">%10.3f</span><span class="s"> </span><span class="si">%10.3f</span><span class="s"> </span><span class="si">%10.2f</span><span class="s"> </span><span class="si">%10.2f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Nc</span><span class="p">,</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">alp</span><span class="p">,</span><span class="n">bet</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="n">V1</span><span class="p">)</span> 682 950 <span class="n">cells</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">alp</span><span class="p">,</span><span class="n">bet</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="bp">False</span><span class="p">,</span><span class="bp">False</span><span class="p">])</span> 683 951 <span class="k">if</span> <span class="ow">not</span> <span class="n">GoOn</span><span class="p">:</span>
Note: See TracChangeset
for help on using the changeset viewer.