Changeset 1709 for sphinxdocs/build/html/_modules/GSASIIstrIO.html
- Timestamp:
- Mar 14, 2015 5:35:03 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sphinxdocs/build/html/_modules/GSASIIstrIO.html
r1513 r1709 51 51 <span class="c"># -*- coding: utf-8 -*-</span> 52 52 <span class="c">########### SVN repository information ###################</span> 53 <span class="c"># $Date: 201 4-09-14 19:48:39 -0500 (Sun, 14 Sep 2014) $</span>53 <span class="c"># $Date: 2015-02-28 09:16:41 -0600 (Sat, 28 Feb 2015) $</span> 54 54 <span class="c"># $Author: vondreele $</span> 55 <span class="c"># $Revision: 1 496$</span>55 <span class="c"># $Revision: 1682 $</span> 56 56 <span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIstrIO.py $</span> 57 <span class="c"># $Id: GSASIIstrIO.py 1 496 2014-09-15 00:48:39Z vondreele $</span>57 <span class="c"># $Id: GSASIIstrIO.py 1682 2015-02-28 15:16:41Z vondreele $</span> 58 58 <span class="c">########### SVN repository information ###################</span> 59 59 <span class="sd">'''</span> … … 75 75 <span class="kn">import</span> <span class="nn">scipy.optimize</span> <span class="kn">as</span> <span class="nn">so</span> 76 76 <span class="kn">import</span> <span class="nn">GSASIIpath</span> 77 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">"$Revision: 1 496$"</span><span class="p">)</span>77 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">"$Revision: 1682 $"</span><span class="p">)</span> 78 78 <span class="kn">import</span> <span class="nn">GSASIIElem</span> <span class="kn">as</span> <span class="nn">G2el</span> 79 79 <span class="kn">import</span> <span class="nn">GSASIIgrid</span> <span class="kn">as</span> <span class="nn">G2gd</span> … … 239 239 <span class="n">rbIds</span> <span class="o">=</span> <span class="n">rigidbodyDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'RBIds'</span><span class="p">,{</span><span class="s">'Vector'</span><span class="p">:[],</span><span class="s">'Residue'</span><span class="p">:[]})</span> 240 240 <span class="n">rbVary</span><span class="p">,</span><span class="n">rbDict</span> <span class="o">=</span> <span class="n">GetRigidBodyModels</span><span class="p">(</span><span class="n">rigidbodyDict</span><span class="p">,</span><span class="n">Print</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> 241 <span class="n">Natoms</span><span class="p">,</span><span class="n">atomIndx</span><span class="p">,</span><span class="n">phaseVary</span><span class="p">,</span><span class="n">phaseDict</span><span class="p">,</span><span class="n">pawleyLookup</span><span class="p">,</span><span class="n">FFtables</span><span class="p">,</span><span class="n">BLtables</span> <span class="o">=</span> <span class="n">GetPhaseData</span><span class="p">(</span><span class="n">Phases</span><span class="p">,</span><span class="n">RestraintDict</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">rbIds</span><span class="o">=</span><span class="n">rbIds</span><span class="p">,</span><span class="n">Print</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>241 <span class="n">Natoms</span><span class="p">,</span><span class="n">atomIndx</span><span class="p">,</span><span class="n">phaseVary</span><span class="p">,</span><span class="n">phaseDict</span><span class="p">,</span><span class="n">pawleyLookup</span><span class="p">,</span><span class="n">FFtables</span><span class="p">,</span><span class="n">BLtables</span><span class="p">,</span><span class="n">maxSSwave</span> <span class="o">=</span> <span class="n">GetPhaseData</span><span class="p">(</span><span class="n">Phases</span><span class="p">,</span><span class="n">RestraintDict</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">rbIds</span><span class="o">=</span><span class="n">rbIds</span><span class="p">,</span><span class="n">Print</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> 242 242 <span class="n">hapVary</span><span class="p">,</span><span class="n">hapDict</span><span class="p">,</span><span class="n">controlDict</span> <span class="o">=</span> <span class="n">GetHistogramPhaseData</span><span class="p">(</span><span class="n">Phases</span><span class="p">,</span><span class="n">Histograms</span><span class="p">,</span><span class="n">Print</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> 243 243 <span class="n">histVary</span><span class="p">,</span><span class="n">histDict</span><span class="p">,</span><span class="n">controlDict</span> <span class="o">=</span> <span class="n">GetHistogramData</span><span class="p">(</span><span class="n">Histograms</span><span class="p">,</span><span class="n">Print</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> … … 377 377 <span class="n">HKLFdata</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">datum</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> <span class="c">#weight factor</span> 378 378 <span class="c">#patch</span> 379 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">datum</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="nb">list</span><span class="p">):</span> 379 <span class="k">if</span> <span class="s">'list'</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">datum</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">])):</span> 380 <span class="c">#if isinstance(datum[1][1],list):</span> 380 381 <span class="n">RefData</span> <span class="o">=</span> <span class="p">{</span><span class="s">'RefList'</span><span class="p">:[],</span><span class="s">'FF'</span><span class="p">:{}}</span> 381 382 <span class="k">for</span> <span class="n">ref</span> <span class="ow">in</span> <span class="n">datum</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">]:</span> … … 510 511 <span class="sd"> '''</span> 511 512 513 <span class="kn">import</span> <span class="nn">distutils.file_util</span> <span class="kn">as</span> <span class="nn">dfu</span> 512 514 <span class="n">GPXback</span> <span class="o">=</span> <span class="n">GPXBackup</span><span class="p">(</span><span class="n">GPXfile</span><span class="p">,</span><span class="n">makeBack</span><span class="p">)</span> 513 515 <span class="k">print</span> <span class="s">'Read from file:'</span><span class="p">,</span><span class="n">GPXback</span> … … 542 544 <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span> 543 545 <span class="k">pass</span> 544 545 <span class="n">cPickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">outfile</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> 546 <span class="n">infile</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> 547 <span class="n">outfile</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> 546 <span class="k">try</span><span class="p">:</span> 547 <span class="n">cPickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">outfile</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> 548 <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> 549 <span class="k">print</span> <span class="s">'ERROR - bad data in least squares result'</span> 550 <span class="n">infile</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> 551 <span class="n">outfile</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> 552 <span class="n">dfu</span><span class="o">.</span><span class="n">copy_file</span><span class="p">(</span><span class="n">GPXback</span><span class="p">,</span><span class="n">GPXfile</span><span class="p">)</span> 553 <span class="k">print</span> <span class="s">'GPX file save failed - old version retained'</span> 554 <span class="k">return</span> 555 548 556 <span class="k">print</span> <span class="s">'GPX file save successful'</span> 549 557 </div> … … 611 619 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' Process histograms in reverse order: '</span><span class="p">,</span><span class="n">Controls</span><span class="p">[</span><span class="s">'Reverse Seq'</span><span class="p">]</span> 612 620 </div> 613 <div class="viewcode-block" id="GetPawleyConstr"><a class="viewcode-back" href="../GSASIIstruc.html#GSASIIstrIO.GetPawleyConstr">[docs]</a><span class="k">def</span> <span class="nf">GetPawleyConstr</span><span class="p">(</span><span class="n">SGLaue</span><span class="p">,</span><span class="n">PawleyRef</span><span class="p">,</span><span class="n"> pawleyVary</span><span class="p">):</span>621 <div class="viewcode-block" id="GetPawleyConstr"><a class="viewcode-back" href="../GSASIIstruc.html#GSASIIstrIO.GetPawleyConstr">[docs]</a><span class="k">def</span> <span class="nf">GetPawleyConstr</span><span class="p">(</span><span class="n">SGLaue</span><span class="p">,</span><span class="n">PawleyRef</span><span class="p">,</span><span class="n">im</span><span class="p">,</span><span class="n">pawleyVary</span><span class="p">):</span> 614 622 <span class="s">'needs a doc string'</span> 615 623 <span class="c"># if SGLaue in ['-1','2/m','mmm']:</span> … … 620 628 <span class="n">refI</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">varyI</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">':'</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> 621 629 <span class="n">ih</span><span class="p">,</span><span class="n">ik</span><span class="p">,</span><span class="n">il</span> <span class="o">=</span> <span class="n">PawleyRef</span><span class="p">[</span><span class="n">refI</span><span class="p">][:</span><span class="mi">3</span><span class="p">]</span> 622 <span class="n">dspI</span> <span class="o">=</span> <span class="n">PawleyRef</span><span class="p">[</span><span class="n">refI</span><span class="p">][</span><span class="mi">4</span><span class=" p">]</span>630 <span class="n">dspI</span> <span class="o">=</span> <span class="n">PawleyRef</span><span class="p">[</span><span class="n">refI</span><span class="p">][</span><span class="mi">4</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> 623 631 <span class="k">for</span> <span class="n">varyJ</span> <span class="ow">in</span> <span class="n">pawleyVary</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">:]:</span> 624 632 <span class="n">refJ</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">varyJ</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">':'</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> 625 633 <span class="n">jh</span><span class="p">,</span><span class="n">jk</span><span class="p">,</span><span class="n">jl</span> <span class="o">=</span> <span class="n">PawleyRef</span><span class="p">[</span><span class="n">refJ</span><span class="p">][:</span><span class="mi">3</span><span class="p">]</span> 626 <span class="n">dspJ</span> <span class="o">=</span> <span class="n">PawleyRef</span><span class="p">[</span><span class="n">refJ</span><span class="p">][</span><span class="mi">4</span><span class=" p">]</span>634 <span class="n">dspJ</span> <span class="o">=</span> <span class="n">PawleyRef</span><span class="p">[</span><span class="n">refJ</span><span class="p">][</span><span class="mi">4</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> 627 635 <span class="k">if</span> <span class="n">SGLaue</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'4/m'</span><span class="p">,</span><span class="s">'4/mmm'</span><span class="p">]:</span> 628 636 <span class="n">isum</span> <span class="o">=</span> <span class="n">ih</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="n">ik</span><span class="o">**</span><span class="mi">2</span> … … 670 678 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">]</span> 671 679 <span class="k">elif</span> <span class="n">SGData</span><span class="p">[</span><span class="s">'SGLaue'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'4/m'</span><span class="p">,</span><span class="s">'4/mmm'</span><span class="p">]:</span> 672 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">]</span> 680 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,))</span> 681 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">]</span> 673 682 <span class="k">elif</span> <span class="n">SGData</span><span class="p">[</span><span class="s">'SGLaue'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'6/m'</span><span class="p">,</span><span class="s">'6/mmm'</span><span class="p">,</span><span class="s">'3m1'</span><span class="p">,</span> <span class="s">'31m'</span><span class="p">,</span> <span class="s">'3'</span><span class="p">]:</span> 674 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">]</span> 683 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A3'</span><span class="p">,))</span> 684 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A3'</span><span class="p">]</span> 675 685 <span class="k">elif</span> <span class="n">SGData</span><span class="p">[</span><span class="s">'SGLaue'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'3R'</span><span class="p">,</span> <span class="s">'3mR'</span><span class="p">]:</span> 676 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A3'</span><span class="p">]</span> 686 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">,))</span> 687 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A3'</span><span class="p">,(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A4'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A5'</span><span class="p">,))</span> 688 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A3'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A4'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A5'</span><span class="p">]</span> 677 689 <span class="k">elif</span> <span class="n">SGData</span><span class="p">[</span><span class="s">'SGLaue'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'m3m'</span><span class="p">,</span><span class="s">'m3'</span><span class="p">]:</span> 678 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,]</span> 690 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">,))</span> 691 <span class="k">return</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A0'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A1'</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A2'</span><span class="p">]</span> 692 </div> 693 <span class="k">def</span> <span class="nf">modVary</span><span class="p">(</span><span class="n">pfx</span><span class="p">,</span><span class="n">SSGData</span><span class="p">):</span> 694 <span class="n">vary</span> <span class="o">=</span> <span class="p">[]</span> 695 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">item</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">SSGData</span><span class="p">[</span><span class="s">'modSymb'</span><span class="p">]):</span> 696 <span class="k">if</span> <span class="n">item</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> 697 <span class="n">vary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'mV</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> 698 <span class="k">return</span> <span class="n">vary</span> 679 699 680 700 <span class="c">################################################################################</span> 681 701 <span class="c">##### Rigid Body Models and not General.get('doPawley')</span> 682 702 <span class="c">################################################################################</span> 683 </div>703 684 704 <div class="viewcode-block" id="GetRigidBodyModels"><a class="viewcode-back" href="../GSASIIstruc.html#GSASIIstrIO.GetRigidBodyModels">[docs]</a><span class="k">def</span> <span class="nf">GetRigidBodyModels</span><span class="p">(</span><span class="n">rigidbodyDict</span><span class="p">,</span><span class="n">Print</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">pFile</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> 685 705 <span class="s">'needs a doc string'</span> … … 870 890 <span class="n">line</span> <span class="o">=</span> <span class="s">' name type refine? x y z '</span><span class="o">+</span> \ 871 891 <span class="s">' frac site sym mult I/A Uiso U11 U22 U33 U12 U13 U23'</span> 872 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'magnetic'</span><span class="p">:</span> 873 <span class="n">line</span> <span class="o">+=</span> <span class="s">' Mx My Mz'</span> 874 <span class="k">elif</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'macromolecular'</span><span class="p">:</span> 892 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'macromolecular'</span><span class="p">:</span> 875 893 <span class="n">line</span> <span class="o">=</span> <span class="s">' res no residue chain'</span><span class="o">+</span><span class="n">line</span> 876 894 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 877 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o ">==</span> <span class="s">'nuclear'</span><span class="p">:</span>895 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'nuclear'</span><span class="p">,</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 878 896 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="mi">135</span><span class="o">*</span><span class="s">'-'</span> 879 897 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> … … 899 917 <span class="n">line</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%8.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">2</span><span class="o">+</span><span class="n">j</span><span class="p">])</span> 900 918 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 919 920 <span class="k">def</span> <span class="nf">PrintWaves</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">Atoms</span><span class="p">):</span> 921 <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomPtrs'</span><span class="p">]</span> 922 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">'</span><span class="se">\n</span><span class="s"> Modulation waves'</span> 923 <span class="n">names</span> <span class="o">=</span> <span class="p">{</span><span class="s">'Sfrac'</span><span class="p">:[</span><span class="s">'Fsin'</span><span class="p">,</span><span class="s">'Fcos'</span><span class="p">,</span><span class="s">'Fzero'</span><span class="p">,</span><span class="s">'Fwid'</span><span class="p">],</span><span class="s">'Spos'</span><span class="p">:[</span><span class="s">'Xsin'</span><span class="p">,</span><span class="s">'Ysin'</span><span class="p">,</span><span class="s">'Zsin'</span><span class="p">,</span><span class="s">'Xcos'</span><span class="p">,</span><span class="s">'Ycos'</span><span class="p">,</span><span class="s">'Zcos'</span><span class="p">,</span><span class="s">'Tzero'</span><span class="p">,</span><span class="s">'Xslope'</span><span class="p">,</span><span class="s">'Yslope'</span><span class="p">,</span><span class="s">'Zslope'</span><span class="p">],</span> 924 <span class="s">'Sadp'</span><span class="p">:[</span><span class="s">'U11sin'</span><span class="p">,</span><span class="s">'U22sin'</span><span class="p">,</span><span class="s">'U33sin'</span><span class="p">,</span><span class="s">'U12sin'</span><span class="p">,</span><span class="s">'U13sin'</span><span class="p">,</span><span class="s">'U23sin'</span><span class="p">,</span><span class="s">'U11cos'</span><span class="p">,</span><span class="s">'U22cos'</span><span class="p">,</span> 925 <span class="s">'U33cos'</span><span class="p">,</span><span class="s">'U12cos'</span><span class="p">,</span><span class="s">'U13cos'</span><span class="p">,</span><span class="s">'U23cos'</span><span class="p">],</span><span class="s">'Smag'</span><span class="p">:[</span><span class="s">'MXsin'</span><span class="p">,</span><span class="s">'MYsin'</span><span class="p">,</span><span class="s">'MZsin'</span><span class="p">,</span><span class="s">'MXcos'</span><span class="p">,</span><span class="s">'MYcos'</span><span class="p">,</span><span class="s">'MZcos'</span><span class="p">]}</span> 926 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="mi">135</span><span class="o">*</span><span class="s">'-'</span> 927 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 928 <span class="n">AtomSS</span> <span class="o">=</span> <span class="n">at</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s">'SS1'</span><span class="p">]</span> 929 <span class="k">for</span> <span class="n">Stype</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'Sfrac'</span><span class="p">,</span><span class="s">'Spos'</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">,</span><span class="s">'Smag'</span><span class="p">]:</span> 930 <span class="n">Waves</span> <span class="o">=</span> <span class="n">AtomSS</span><span class="p">[</span><span class="n">Stype</span><span class="p">]</span> 931 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">Waves</span><span class="p">):</span> 932 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' atom: </span><span class="si">%s</span><span class="s">, site sym: </span><span class="si">%s</span><span class="s">, type: </span><span class="si">%s</span><span class="s"> wave type: </span><span class="si">%s</span><span class="s">:'</span> \ 933 <span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">],</span><span class="n">Stype</span><span class="p">,</span><span class="n">AtomSS</span><span class="p">[</span><span class="s">'waveType'</span><span class="p">])</span> 934 <span class="n">line</span> <span class="o">=</span> <span class="s">''</span> 935 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">names</span><span class="p">[</span><span class="n">Stype</span><span class="p">]:</span> 936 <span class="n">line</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%8s</span><span class="s"> '</span><span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> 937 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 938 <span class="k">for</span> <span class="n">wave</span> <span class="ow">in</span> <span class="n">Waves</span><span class="p">:</span> 939 <span class="n">line</span> <span class="o">=</span> <span class="s">''</span> 940 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span> 941 <span class="n">line</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%8.4f</span><span class="s"> '</span><span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> 942 <span class="n">line</span> <span class="o">+=</span> <span class="s">' Refine? '</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">wave</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> 943 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 901 944 902 945 <span class="k">def</span> <span class="nf">PrintTexture</span><span class="p">(</span><span class="n">textureData</span><span class="p">):</span> … … 993 1036 <span class="n">AtMults</span> <span class="o">=</span> <span class="p">{}</span> 994 1037 <span class="n">AtIA</span> <span class="o">=</span> <span class="p">{}</span> 1038 <span class="n">maxSSwave</span> <span class="o">=</span> <span class="p">{}</span> 995 1039 <span class="n">shModels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'cylindrical'</span><span class="p">,</span><span class="s">'none'</span><span class="p">,</span><span class="s">'shear - 2/m'</span><span class="p">,</span><span class="s">'rolling - mmm'</span><span class="p">]</span> 996 1040 <span class="n">SamSym</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">shModels</span><span class="p">,[</span><span class="s">'0'</span><span class="p">,</span><span class="s">'-1'</span><span class="p">,</span><span class="s">'2/m'</span><span class="p">,</span><span class="s">'mmm'</span><span class="p">]))</span> … … 1005 1049 <span class="n">BLtables</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">BLtable</span><span class="p">)</span> 1006 1050 <span class="n">Atoms</span> <span class="o">=</span> <span class="n">PhaseData</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s">'Atoms'</span><span class="p">]</span> 1007 <span class="n">AtLookup</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span> 1051 <span class="k">if</span> <span class="n">Atoms</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">General</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'doPawley'</span><span class="p">):</span> 1052 <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomPtrs'</span><span class="p">]</span> 1053 <span class="n">AtLookup</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">Atoms</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">)</span> 1008 1054 <span class="n">PawleyRef</span> <span class="o">=</span> <span class="n">PhaseData</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Pawley ref'</span><span class="p">,[])</span> 1009 1055 <span class="n">SGData</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">]</span> 1010 <span class="n">SGtext</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SGPrint</span><span class="p">(</span><span class="n">SGData</span><span class="p">)</span>1056 <span class="n">SGtext</span><span class="p">,</span><span class="n">SGtable</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SGPrint</span><span class="p">(</span><span class="n">SGData</span><span class="p">)</span> 1011 1057 <span class="n">cell</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'Cell'</span><span class="p">]</span> 1012 1058 <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">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">])</span> … … 1014 1060 <span class="n">pfx</span><span class="o">+</span><span class="s">'A3'</span><span class="p">:</span><span class="n">A</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A4'</span><span class="p">:</span><span class="n">A</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'A5'</span><span class="p">:</span><span class="n">A</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Vol'</span><span class="p">:</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> 1015 1061 <span class="k">if</span> <span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span> 1016 <span class="n">phaseVary</span> <span class="o">+=</span> <span class="n">cellVary</span><span class="p">(</span><span class="n">pfx</span><span class="p">,</span><span class="n">SGData</span><span class="p">)</span> 1062 <span class="n">phaseVary</span> <span class="o">+=</span> <span class="n">cellVary</span><span class="p">(</span><span class="n">pfx</span><span class="p">,</span><span class="n">SGData</span><span class="p">)</span> <span class="c">#also fills in symmetry required constraints </span> 1063 <span class="n">SSGtext</span> <span class="o">=</span> <span class="p">[]</span> <span class="c">#no superstructure</span> 1064 <span class="n">im</span> <span class="o">=</span> <span class="mi">0</span> 1065 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 1066 <span class="n">im</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">#refl offset</span> 1067 <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="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'SuperVec'</span><span class="p">]</span> 1068 <span class="n">phaseDict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">pfx</span><span class="o">+</span><span class="s">'mV0'</span><span class="p">:</span><span class="n">Vec</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'mV1'</span><span class="p">:</span><span class="n">Vec</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'mV2'</span><span class="p">:</span><span class="n">Vec</span><span class="p">[</span><span class="mi">2</span><span class="p">]})</span> 1069 <span class="n">SSGData</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'SSGData'</span><span class="p">]</span> 1070 <span class="n">SSGtext</span><span class="p">,</span><span class="n">SSGtable</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSGPrint</span><span class="p">(</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">)</span> 1071 <span class="k">if</span> <span class="n">vRef</span><span class="p">:</span> 1072 <span class="n">phaseVary</span> <span class="o">+=</span> <span class="n">modVary</span><span class="p">(</span><span class="n">pfx</span><span class="p">,</span><span class="n">SSGData</span><span class="p">)</span> 1017 1073 <span class="n">resRBData</span> <span class="o">=</span> <span class="n">PhaseData</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s">'RBModels'</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Residue'</span><span class="p">,[])</span> 1018 1074 <span class="k">if</span> <span class="n">resRBData</span><span class="p">:</span> … … 1031 1087 1032 1088 <span class="n">Natoms</span><span class="p">[</span><span class="n">pfx</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span> 1089 <span class="n">maxSSwave</span><span class="p">[</span><span class="n">pfx</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s">'Sfrac'</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="s">'Spos'</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="s">'Smag'</span><span class="p">:</span><span class="mi">0</span><span class="p">}</span> 1033 1090 <span class="k">if</span> <span class="n">Atoms</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">General</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'doPawley'</span><span class="p">):</span> 1034 1091 <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomPtrs'</span><span class="p">]</span> 1035 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'nuclear'</span><span class="p">,</span><span class="s">'macromolecular'</span><span class="p">]:</span> 1036 <span class="n">Natoms</span><span class="p">[</span><span class="n">pfx</span><span class="p">]</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span> 1037 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 1038 <span class="n">atomIndx</span><span class="p">[</span><span class="n">at</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="p">,</span><span class="n">i</span><span class="p">]</span> <span class="c">#lookup table for restraints</span> 1039 <span class="n">phaseDict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Atype:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Afrac:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Amul:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="o">+</span><span class="mi">1</span><span class="p">],</span> 1040 <span class="n">pfx</span><span class="o">+</span><span class="s">'Ax:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Ay:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">1</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Az:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">2</span><span class="p">],</span> 1041 <span class="n">pfx</span><span class="o">+</span><span class="s">'dAx:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="mf">0.</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAy:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="mf">0.</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAz:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="mf">0.</span><span class="p">,</span> <span class="c">#refined shifts for x,y,z</span> 1042 <span class="n">pfx</span><span class="o">+</span><span class="s">'AI/A:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="p">],})</span> 1092 <span class="n">Natoms</span><span class="p">[</span><span class="n">pfx</span><span class="p">]</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span> 1093 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 1094 <span class="n">atomIndx</span><span class="p">[</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="p">,</span><span class="n">i</span><span class="p">]</span> <span class="c">#lookup table for restraints</span> 1095 <span class="n">phaseDict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Atype:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Afrac:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Amul:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="o">+</span><span class="mi">1</span><span class="p">],</span> 1096 <span class="n">pfx</span><span class="o">+</span><span class="s">'Ax:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Ay:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">1</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Az:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">2</span><span class="p">],</span> 1097 <span class="n">pfx</span><span class="o">+</span><span class="s">'dAx:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="mf">0.</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAy:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="mf">0.</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAz:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="mf">0.</span><span class="p">,</span> <span class="c">#refined shifts for x,y,z</span> 1098 <span class="n">pfx</span><span class="o">+</span><span class="s">'AI/A:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="p">],})</span> 1099 <span class="k">if</span> <span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="p">]</span> <span class="o">==</span> <span class="s">'I'</span><span class="p">:</span> 1100 <span class="n">phaseDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AUiso:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> <span class="o">=</span> <span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> 1101 <span class="k">else</span><span class="p">:</span> 1102 <span class="n">phaseDict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU11:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">2</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU22:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU33:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">4</span><span class="p">],</span> 1103 <span class="n">pfx</span><span class="o">+</span><span class="s">'AU12:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">5</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU13:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">6</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU23:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">7</span><span class="p">]})</span> 1104 <span class="k">if</span> <span class="s">'F'</span> <span class="ow">in</span> <span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">+</span><span class="mi">1</span><span class="p">]:</span> 1105 <span class="n">phaseVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Afrac:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> 1106 <span class="k">if</span> <span class="s">'X'</span> <span class="ow">in</span> <span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">+</span><span class="mi">1</span><span class="p">]:</span> 1107 <span class="k">try</span><span class="p">:</span> <span class="c">#patch for sytsym name changes</span> 1108 <span class="n">xId</span><span class="p">,</span><span class="n">xCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSxinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])</span> 1109 <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span> 1110 <span class="n">Sytsym</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SytSym</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="p">:</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">SGData</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 1111 <span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">]</span> <span class="o">=</span> <span class="n">Sytsym</span> 1112 <span class="n">xId</span><span class="p">,</span><span class="n">xCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSxinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])</span> 1113 <span class="n">xId</span><span class="p">,</span><span class="n">xCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSxinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])</span> 1114 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAx:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAy:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAz:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> 1115 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],[],[]]</span> 1116 <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> 1117 <span class="k">if</span> <span class="n">xId</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> 1118 <span class="n">phaseVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> 1119 <span class="n">equivs</span><span class="p">[</span><span class="n">xId</span><span class="p">[</span><span class="n">j</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">append</span><span class="p">([</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">],</span><span class="n">xCoef</span><span class="p">[</span><span class="n">j</span><span class="p">]])</span> 1120 <span class="k">for</span> <span class="n">equiv</span> <span class="ow">in</span> <span class="n">equivs</span><span class="p">:</span> 1121 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">equiv</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> 1122 <span class="n">name</span> <span class="o">=</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> 1123 <span class="n">coef</span> <span class="o">=</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> 1124 <span class="k">for</span> <span class="n">eqv</span> <span class="ow">in</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span> 1125 <span class="n">eqv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">/=</span> <span class="n">coef</span> 1126 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">name</span><span class="p">,(</span><span class="n">eqv</span><span class="p">,))</span> 1127 <span class="k">if</span> <span class="s">'U'</span> <span class="ow">in</span> <span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">+</span><span class="mi">1</span><span class="p">]:</span> 1043 1128 <span class="k">if</span> <span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="p">]</span> <span class="o">==</span> <span class="s">'I'</span><span class="p">:</span> 1044 <span class="n">phase Dict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AUiso:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> <span class="o">=</span> <span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span>1129 <span class="n">phaseVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AUiso:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> 1045 1130 <span class="k">else</span><span class="p">:</span> 1046 <span class="n">phaseDict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU11:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">2</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU22:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU33:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">4</span><span class="p">],</span>1047 <span class="n">pfx</span><span class="o">+</span><span class="s">'AU12:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">5</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU13:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">6</span><span class="p">],</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU23:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">):</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">7</span><span class="p">]})</span>1048 <span class="k">if</span> <span class="s">'F'</span> <span class="ow">in</span> <span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">+</span><span class="mi">1</span><span class="p">]:</span>1049 <span class="n">phaseVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Afrac:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span>1050 <span class="k">if</span> <span class="s">'X'</span> <span class="ow">in</span> <span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">+</span><span class="mi">1</span><span class="p">]:</span>1051 1131 <span class="k">try</span><span class="p">:</span> <span class="c">#patch for sytsym name changes</span> 1052 <span class="n"> xId</span><span class="p">,</span><span class="n">xCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSxinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])</span>1132 <span class="n">uId</span><span class="p">,</span><span class="n">uCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSuinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])[:</span><span class="mi">2</span><span class="p">]</span> 1053 1133 <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span> 1054 1134 <span class="n">Sytsym</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SytSym</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="p">:</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">SGData</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 1055 1135 <span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">]</span> <span class="o">=</span> <span class="n">Sytsym</span> 1056 <span class="n">xId</span><span class="p">,</span><span class="n">xCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSxinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])</span> 1057 <span class="n">xId</span><span class="p">,</span><span class="n">xCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSxinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])</span> 1058 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAx:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAy:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'dAz:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> 1059 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],[],[]]</span> 1060 <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> 1061 <span class="k">if</span> <span class="n">xId</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> 1136 <span class="n">uId</span><span class="p">,</span><span class="n">uCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSuinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])[:</span><span class="mi">2</span><span class="p">]</span> 1137 <span class="n">uId</span><span class="p">,</span><span class="n">uCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSuinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])[:</span><span class="mi">2</span><span class="p">]</span> 1138 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU11:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU22:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU33:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> 1139 <span class="n">pfx</span><span class="o">+</span><span class="s">'AU12:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU13:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU23:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> 1140 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],[],[],[],[],[]]</span> 1141 <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">6</span><span class="p">):</span> 1142 <span class="k">if</span> <span class="n">uId</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> 1062 1143 <span class="n">phaseVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> 1063 <span class="n">equivs</span><span class="p">[</span><span class="n"> xId</span><span class="p">[</span><span class="n">j</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">append</span><span class="p">([</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">],</span><span class="n">xCoef</span><span class="p">[</span><span class="n">j</span><span class="p">]])</span>1144 <span class="n">equivs</span><span class="p">[</span><span class="n">uId</span><span class="p">[</span><span class="n">j</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">append</span><span class="p">([</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">],</span><span class="n">uCoef</span><span class="p">[</span><span class="n">j</span><span class="p">]])</span> 1064 1145 <span class="k">for</span> <span class="n">equiv</span> <span class="ow">in</span> <span class="n">equivs</span><span class="p">:</span> 1065 1146 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">equiv</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> … … 1068 1149 <span class="k">for</span> <span class="n">eqv</span> <span class="ow">in</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span> 1069 1150 <span class="n">eqv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">/=</span> <span class="n">coef</span> 1070 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">name</span><span class="p">,(</span><span class="n">eqv</span><span class="p">,))</span> 1071 <span class="k">if</span> <span class="s">'U'</span> <span class="ow">in</span> <span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">+</span><span class="mi">1</span><span class="p">]:</span> 1072 <span class="k">if</span> <span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="p">]</span> <span class="o">==</span> <span class="s">'I'</span><span class="p">:</span> 1073 <span class="n">phaseVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AUiso:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> 1074 <span class="k">else</span><span class="p">:</span> 1075 <span class="k">try</span><span class="p">:</span> <span class="c">#patch for sytsym name changes</span> 1076 <span class="n">uId</span><span class="p">,</span><span class="n">uCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSuinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])[:</span><span class="mi">2</span><span class="p">]</span> 1077 <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span> 1078 <span class="n">Sytsym</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SytSym</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="p">:</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">SGData</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 1079 <span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">]</span> <span class="o">=</span> <span class="n">Sytsym</span> 1080 <span class="n">uId</span><span class="p">,</span><span class="n">uCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSuinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])[:</span><span class="mi">2</span><span class="p">]</span> 1081 <span class="n">uId</span><span class="p">,</span><span class="n">uCoef</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetCSuinel</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">])[:</span><span class="mi">2</span><span class="p">]</span> 1082 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU11:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU22:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU33:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> 1083 <span class="n">pfx</span><span class="o">+</span><span class="s">'AU12:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU13:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU23:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> 1084 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],[],[],[],[],[]]</span> 1085 <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">6</span><span class="p">):</span> 1086 <span class="k">if</span> <span class="n">uId</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> 1087 <span class="n">phaseVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> 1088 <span class="n">equivs</span><span class="p">[</span><span class="n">uId</span><span class="p">[</span><span class="n">j</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">append</span><span class="p">([</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">],</span><span class="n">uCoef</span><span class="p">[</span><span class="n">j</span><span class="p">]])</span> 1089 <span class="k">for</span> <span class="n">equiv</span> <span class="ow">in</span> <span class="n">equivs</span><span class="p">:</span> 1090 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">equiv</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> 1091 <span class="n">name</span> <span class="o">=</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> 1092 <span class="n">coef</span> <span class="o">=</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> 1093 <span class="k">for</span> <span class="n">eqv</span> <span class="ow">in</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span> 1094 <span class="n">eqv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">/=</span> <span class="n">coef</span> 1095 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">name</span><span class="p">,</span><span class="n">equiv</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span> 1096 <span class="c"># elif General['Type'] == 'magnetic':</span> 1097 <span class="c"># elif General['Type'] == 'macromolecular':</span> 1151 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">name</span><span class="p">,</span><span class="n">equiv</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span> 1152 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 1153 <span class="n">AtomSS</span> <span class="o">=</span> <span class="n">at</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s">'SS1'</span><span class="p">]</span> 1154 <span class="n">waveType</span> <span class="o">=</span> <span class="n">AtomSS</span><span class="p">[</span><span class="s">'waveType'</span><span class="p">]</span> 1155 <span class="n">phaseDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'waveType:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> <span class="o">=</span> <span class="n">waveType</span> 1156 <span class="k">for</span> <span class="n">Stype</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'Sfrac'</span><span class="p">,</span><span class="s">'Spos'</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">,</span><span class="s">'Smag'</span><span class="p">]:</span> 1157 <span class="n">Waves</span> <span class="o">=</span> <span class="n">AtomSS</span><span class="p">[</span><span class="n">Stype</span><span class="p">]</span> 1158 <span class="n">uId</span><span class="p">,</span><span class="n">uCoef</span> <span class="o">=</span> <span class="n">CSI</span><span class="p">[</span><span class="n">Stype</span><span class="p">]</span> 1159 <span class="k">for</span> <span class="n">iw</span><span class="p">,</span><span class="n">wave</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Waves</span><span class="p">):</span> 1160 <span class="k">if</span> <span class="ow">not</span> <span class="n">iw</span><span class="p">:</span> 1161 <span class="n">CSI</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetSSfxuinel</span><span class="p">(</span><span class="n">waveType</span><span class="p">,</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="p">:</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">)</span> 1162 <span class="k">else</span><span class="p">:</span> 1163 <span class="n">CSI</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetSSfxuinel</span><span class="p">(</span><span class="s">'Fourier'</span><span class="p">,</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="p">:</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">],</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">)</span> 1164 <span class="n">stiw</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iw</span><span class="p">)</span> 1165 <span class="k">if</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Spos'</span><span class="p">:</span> 1166 <span class="k">if</span> <span class="n">waveType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'ZigZag'</span><span class="p">,</span><span class="s">'Sawtooth'</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">iw</span><span class="p">:</span> 1167 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Tzero:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Xslope:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Yslope:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Zslope:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1168 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],</span> <span class="p">[],[],[]]</span> 1169 <span class="k">else</span><span class="p">:</span> 1170 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Xsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Ysin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Zsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1171 <span class="n">pfx</span><span class="o">+</span><span class="s">'Xcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Ycos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Zcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1172 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],[],[],</span> <span class="p">[],[],[]]</span> 1173 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Sadp'</span><span class="p">:</span> 1174 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U11sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U22sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U33sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1175 <span class="n">pfx</span><span class="o">+</span><span class="s">'U12sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U13sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U23sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1176 <span class="n">pfx</span><span class="o">+</span><span class="s">'U11cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U22cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U33cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1177 <span class="n">pfx</span><span class="o">+</span><span class="s">'U12cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U13cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'U23cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1178 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],[],[],[],[],[],</span> <span class="p">[],[],[],[],[],[]]</span> 1179 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Sfrac'</span><span class="p">:</span> 1180 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],[]]</span> 1181 <span class="k">if</span> <span class="s">'Crenel'</span> <span class="ow">in</span> <span class="n">waveType</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">iw</span><span class="p">:</span> 1182 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Fzero:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Fwid:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1183 <span class="k">else</span><span class="p">:</span> 1184 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Fsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Fcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1185 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Smag'</span><span class="p">:</span> 1186 <span class="n">equivs</span> <span class="o">=</span> <span class="p">[[],[],[],</span> <span class="p">[],[],[]]</span> 1187 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'MXsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'MYsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'MZsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1188 <span class="n">pfx</span><span class="o">+</span><span class="s">'MXcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'MYcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="n">pfx</span><span class="o">+</span><span class="s">'MZcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1189 <span class="n">phaseDict</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">names</span><span class="p">,</span><span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">])))</span> 1190 <span class="k">if</span> <span class="n">wave</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 1191 <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="nb">len</span><span class="p">(</span><span class="n">equivs</span><span class="p">)):</span> 1192 <span class="k">if</span> <span class="n">uId</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> 1193 <span class="n">phaseVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> 1194 <span class="n">equivs</span><span class="p">[</span><span class="n">uId</span><span class="p">[</span><span class="n">j</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">append</span><span class="p">([</span><span class="n">names</span><span class="p">[</span><span class="n">j</span><span class="p">],</span><span class="n">uCoef</span><span class="p">[</span><span class="n">j</span><span class="p">]])</span> 1195 <span class="k">for</span> <span class="n">equiv</span> <span class="ow">in</span> <span class="n">equivs</span><span class="p">:</span> 1196 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">equiv</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> 1197 <span class="n">name</span> <span class="o">=</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> 1198 <span class="n">coef</span> <span class="o">=</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> 1199 <span class="k">for</span> <span class="n">eqv</span> <span class="ow">in</span> <span class="n">equiv</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span> 1200 <span class="n">eqv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">/=</span> <span class="n">coef</span> 1201 <span class="n">G2mv</span><span class="o">.</span><span class="n">StoreEquivalence</span><span class="p">(</span><span class="n">name</span><span class="p">,</span><span class="n">equiv</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span> 1202 <span class="n">maxSSwave</span><span class="p">[</span><span class="n">pfx</span><span class="p">][</span><span class="n">Stype</span><span class="p">]</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">maxSSwave</span><span class="p">[</span><span class="n">pfx</span><span class="p">][</span><span class="n">Stype</span><span class="p">],</span><span class="n">iw</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> 1098 1203 <span class="n">textureData</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'SH Texture'</span><span class="p">]</span> 1099 1204 <span class="k">if</span> <span class="n">textureData</span><span class="p">[</span><span class="s">'Order'</span><span class="p">]:</span> … … 1115 1220 <span class="n">PrintBLtable</span><span class="p">(</span><span class="n">BLtable</span><span class="p">)</span> 1116 1221 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">''</span> 1117 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">SGtext</span><span class="p">:</span> <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1222 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">SSGtext</span><span class="p">):</span> <span class="c">#if superstructure</span> 1223 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">SSGtext</span><span class="p">:</span> <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1224 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">SSGtable</span><span class="p">):</span> 1225 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">SSGtable</span><span class="p">:</span> 1226 <span class="n">line</span> <span class="o">=</span> <span class="s">' </span><span class="si">%s</span><span class="s"> '</span><span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> 1227 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1228 <span class="k">else</span><span class="p">:</span> 1229 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' ( 1) </span><span class="si">%s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">SSGtable</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 1230 <span class="k">else</span><span class="p">:</span> 1231 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">SGtext</span><span class="p">:</span> <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1232 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">SGtable</span><span class="p">):</span> 1233 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">SGtable</span><span class="p">:</span> 1234 <span class="n">line</span> <span class="o">=</span> <span class="s">' </span><span class="si">%s</span><span class="s"> '</span><span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> 1235 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1236 <span class="k">else</span><span class="p">:</span> 1237 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' ( 1) </span><span class="si">%s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">SGtable</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 1118 1238 <span class="n">PrintRBObjects</span><span class="p">(</span><span class="n">resRBData</span><span class="p">,</span><span class="n">vecRBData</span><span class="p">)</span> 1119 1239 <span class="n">PrintAtoms</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">Atoms</span><span class="p">)</span> 1120 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">'</span><span class="se">\n</span><span class="s"> Unit cell: a ='</span><span class="p">,</span><span class="s">'</span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span><span class="s">' b ='</span><span class="p">,</span><span class="s">'</span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span><span class="s">' c ='</span><span class="p">,</span><span class="s">'</span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span> \ 1121 <span class="s">' alpha ='</span><span class="p">,</span><span class="s">'</span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">4</span><span class="p">]),</span><span class="s">' beta ='</span><span class="p">,</span><span class="s">'</span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">5</span><span class="p">]),</span><span class="s">' gamma ='</span><span class="p">,</span> \ 1122 <span class="s">'</span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">6</span><span class="p">]),</span><span class="s">' volume ='</span><span class="p">,</span><span class="s">'</span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">7</span><span class="p">]),</span><span class="s">' Refine?'</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> 1240 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 1241 <span class="n">PrintWaves</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">Atoms</span><span class="p">)</span> 1242 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">'</span><span class="se">\n</span><span class="s"> Unit cell: a = </span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span><span class="s">' b = </span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span><span class="s">' c = </span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span> \ 1243 <span class="s">' alpha = </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">4</span><span class="p">]),</span><span class="s">' beta = </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">5</span><span class="p">]),</span><span class="s">' gamma = </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">6</span><span class="p">]),</span> \ 1244 <span class="s">' volume = </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">7</span><span class="p">]),</span><span class="s">' Refine?'</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> 1245 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">SSGtext</span><span class="p">):</span> <span class="c">#if superstructure</span> 1246 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">'</span><span class="se">\n</span><span class="s"> Modulation vector: mV0 = </span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">Vec</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="s">' mV1 = </span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">Vec</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span> \ 1247 <span class="s">' mV2 = </span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">Vec</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span><span class="s">' max mod. index = </span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">maxH</span><span class="p">),</span><span class="s">' Refine?'</span><span class="p">,</span><span class="n">vRef</span> 1123 1248 <span class="n">PrintTexture</span><span class="p">(</span><span class="n">textureData</span><span class="p">)</span> 1124 1249 <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">RestraintDict</span><span class="p">:</span> … … 1127 1252 1128 1253 <span class="k">elif</span> <span class="n">PawleyRef</span><span class="p">:</span> 1254 <span class="k">if</span> <span class="n">Print</span><span class="p">:</span> 1255 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">'</span><span class="se">\n</span><span class="s"> Phase name: '</span><span class="p">,</span><span class="n">General</span><span class="p">[</span><span class="s">'Name'</span><span class="p">]</span> 1256 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="mi">135</span><span class="o">*</span><span class="s">'-'</span> 1257 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">''</span> 1258 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">SSGtext</span><span class="p">):</span> <span class="c">#if superstructure</span> 1259 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">SSGtext</span><span class="p">:</span> <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1260 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">SSGtable</span><span class="p">):</span> 1261 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">SSGtable</span><span class="p">:</span> 1262 <span class="n">line</span> <span class="o">=</span> <span class="s">' </span><span class="si">%s</span><span class="s"> '</span><span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> 1263 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1264 <span class="k">else</span><span class="p">:</span> 1265 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' ( 1) </span><span class="si">%s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">SSGtable</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 1266 <span class="k">else</span><span class="p">:</span> 1267 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">SGtext</span><span class="p">:</span> <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1268 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">SGtable</span><span class="p">):</span> 1269 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">SGtable</span><span class="p">:</span> 1270 <span class="n">line</span> <span class="o">=</span> <span class="s">' </span><span class="si">%s</span><span class="s"> '</span><span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> 1271 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1272 <span class="k">else</span><span class="p">:</span> 1273 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' ( 1) </span><span class="si">%s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">SGtable</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 1274 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">'</span><span class="se">\n</span><span class="s"> Unit cell: a = </span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span><span class="s">' b = </span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span><span class="s">' c = </span><span class="si">%.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span> \ 1275 <span class="s">' alpha = </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">4</span><span class="p">]),</span><span class="s">' beta = </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">5</span><span class="p">]),</span><span class="s">' gamma = </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">6</span><span class="p">]),</span> \ 1276 <span class="s">' volume = </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">7</span><span class="p">]),</span><span class="s">' Refine?'</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> 1277 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">SSGtext</span><span class="p">):</span> <span class="c">#if superstructure</span> 1278 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">'</span><span class="se">\n</span><span class="s"> Modulation vector: mV0 = </span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">Vec</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="s">' mV1 = </span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">Vec</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span> \ 1279 <span class="s">' mV2 = </span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">Vec</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span><span class="s">' max mod. index = </span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">maxH</span><span class="p">),</span><span class="s">' Refine?'</span><span class="p">,</span><span class="n">vRef</span> 1129 1280 <span class="n">pawleyVary</span> <span class="o">=</span> <span class="p">[]</span> 1130 1281 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">refl</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">PawleyRef</span><span class="p">):</span> 1131 <span class="n">phaseDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'PWLref:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> <span class="o">=</span> <span class="n">refl</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> 1132 <span class="n">pawleyLookup</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">refl</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">refl</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">refl</span><span class="p">[</span><span class="mi">2</span><span class="p">])]</span> <span class="o">=</span> <span class="n">i</span> 1133 <span class="k">if</span> <span class="n">refl</span><span class="p">[</span><span class="mi">5</span><span class="p">]:</span> 1282 <span class="n">phaseDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'PWLref:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span> <span class="o">=</span> <span class="n">refl</span><span class="p">[</span><span class="mi">6</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> 1283 <span class="k">if</span> <span class="n">im</span><span class="p">:</span> 1284 <span class="n">pawleyLookup</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">refl</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">refl</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">refl</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">refl</span><span class="p">[</span><span class="mi">3</span><span class="p">])]</span> <span class="o">=</span> <span class="n">i</span> 1285 <span class="k">else</span><span class="p">:</span> 1286 <span class="n">pawleyLookup</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">refl</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">refl</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">refl</span><span class="p">[</span><span class="mi">2</span><span class="p">])]</span> <span class="o">=</span> <span class="n">i</span> 1287 <span class="k">if</span> <span class="n">refl</span><span class="p">[</span><span class="mi">5</span><span class="o">+</span><span class="n">im</span><span class="p">]:</span> 1134 1288 <span class="n">pawleyVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="s">'PWLref:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> 1135 <span class="n">GetPawleyConstr</span><span class="p">(</span><span class="n">SGData</span><span class="p">[</span><span class="s">'SGLaue'</span><span class="p">],</span><span class="n">PawleyRef</span><span class="p">,</span><span class="n"> pawleyVary</span><span class="p">)</span> <span class="c">#does G2mv.StoreEquivalence</span>1289 <span class="n">GetPawleyConstr</span><span class="p">(</span><span class="n">SGData</span><span class="p">[</span><span class="s">'SGLaue'</span><span class="p">],</span><span class="n">PawleyRef</span><span class="p">,</span><span class="n">im</span><span class="p">,</span><span class="n">pawleyVary</span><span class="p">)</span> <span class="c">#does G2mv.StoreEquivalence</span> 1136 1290 <span class="n">phaseVary</span> <span class="o">+=</span> <span class="n">pawleyVary</span> 1137 1291 1138 <span class="k">return</span> <span class="n">Natoms</span><span class="p">,</span><span class="n">atomIndx</span><span class="p">,</span><span class="n">phaseVary</span><span class="p">,</span><span class="n">phaseDict</span><span class="p">,</span><span class="n">pawleyLookup</span><span class="p">,</span><span class="n">FFtables</span><span class="p">,</span><span class="n">BLtables</span> 1292 <span class="k">return</span> <span class="n">Natoms</span><span class="p">,</span><span class="n">atomIndx</span><span class="p">,</span><span class="n">phaseVary</span><span class="p">,</span><span class="n">phaseDict</span><span class="p">,</span><span class="n">pawleyLookup</span><span class="p">,</span><span class="n">FFtables</span><span class="p">,</span><span class="n">BLtables</span><span class="p">,</span><span class="n">maxSSwave</span> 1139 1293 </div> 1140 1294 <div class="viewcode-block" id="cellFill"><a class="viewcode-back" href="../GSASIIstruc.html#GSASIIstrIO.cellFill">[docs]</a><span class="k">def</span> <span class="nf">cellFill</span><span class="p">(</span><span class="n">pfx</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">sigDict</span><span class="p">):</span> … … 1358 1512 <span class="n">line</span> <span class="o">+=</span> <span class="s">' Mx My Mz'</span> 1359 1513 <span class="k">elif</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'macromolecular'</span><span class="p">:</span> 1360 <span class="n">line</span> <span class="o">=</span> <span class="s">' res no residuechain '</span><span class="o">+</span><span class="n">line</span>1514 <span class="n">line</span> <span class="o">=</span> <span class="s">' res no residue chain '</span><span class="o">+</span><span class="n">line</span> 1361 1515 <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomPtrs'</span><span class="p">]</span> 1362 1516 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">line</span> 1363 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'nuclear'</span><span class="p">:</span> 1364 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="mi">135</span><span class="o">*</span><span class="s">'-'</span> 1365 <span class="n">fmt</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">:</span><span class="s">'</span><span class="si">%7s</span><span class="s">'</span><span class="p">,</span><span class="mi">1</span><span class="p">:</span><span class="s">'</span><span class="si">%7s</span><span class="s">'</span><span class="p">,</span><span class="mi">3</span><span class="p">:</span><span class="s">'</span><span class="si">%10.5f</span><span class="s">'</span><span class="p">,</span><span class="mi">4</span><span class="p">:</span><span class="s">'</span><span class="si">%10.5f</span><span class="s">'</span><span class="p">,</span><span class="mi">5</span><span class="p">:</span><span class="s">'</span><span class="si">%10.5f</span><span class="s">'</span><span class="p">,</span><span class="mi">6</span><span class="p">:</span><span class="s">'</span><span class="si">%8.3f</span><span class="s">'</span><span class="p">,</span><span class="mi">10</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span> 1366 <span class="mi">11</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="mi">12</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="mi">13</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="mi">14</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="mi">15</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="mi">16</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">}</span> 1367 <span class="n">noFXsig</span> <span class="o">=</span> <span class="p">{</span><span class="mi">3</span><span class="p">:[</span><span class="mi">10</span><span class="o">*</span><span class="s">' '</span><span class="p">,</span><span class="s">'</span><span class="si">%10s</span><span class="s">'</span><span class="p">],</span><span class="mi">4</span><span class="p">:[</span><span class="mi">10</span><span class="o">*</span><span class="s">' '</span><span class="p">,</span><span class="s">'</span><span class="si">%10s</span><span class="s">'</span><span class="p">],</span><span class="mi">5</span><span class="p">:[</span><span class="mi">10</span><span class="o">*</span><span class="s">' '</span><span class="p">,</span><span class="s">'</span><span class="si">%10s</span><span class="s">'</span><span class="p">],</span><span class="mi">6</span><span class="p">:[</span><span class="mi">8</span><span class="o">*</span><span class="s">' '</span><span class="p">,</span><span class="s">'</span><span class="si">%8s</span><span class="s">'</span><span class="p">]}</span> 1368 <span class="k">for</span> <span class="n">atyp</span> <span class="ow">in</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomTypes'</span><span class="p">]:</span> <span class="c">#zero composition</span> 1369 <span class="n">General</span><span class="p">[</span><span class="s">'NoAtoms'</span><span class="p">][</span><span class="n">atyp</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.</span> 1370 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 1371 <span class="n">General</span><span class="p">[</span><span class="s">'NoAtoms'</span><span class="p">][</span><span class="n">at</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="o">+=</span> <span class="n">at</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span><span class="o">*</span><span class="nb">float</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="mi">8</span><span class="p">])</span> <span class="c">#new composition</span> 1372 <span class="n">name</span> <span class="o">=</span> <span class="n">fmt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">+</span><span class="n">fmt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">+</span><span class="s">':'</span> 1517 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="mi">135</span><span class="o">*</span><span class="s">'-'</span> 1518 <span class="n">fmt</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">:</span><span class="s">'</span><span class="si">%7s</span><span class="s">'</span><span class="p">,</span><span class="n">ct</span><span class="p">:</span><span class="s">'</span><span class="si">%7s</span><span class="s">'</span><span class="p">,</span><span class="n">cx</span><span class="p">:</span><span class="s">'</span><span class="si">%10.5f</span><span class="s">'</span><span class="p">,</span><span class="n">cx</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span><span class="s">'</span><span class="si">%10.5f</span><span class="s">'</span><span class="p">,</span><span class="n">cx</span><span class="o">+</span><span class="mi">2</span><span class="p">:</span><span class="s">'</span><span class="si">%10.5f</span><span class="s">'</span><span class="p">,</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">:</span><span class="s">'</span><span class="si">%8.3f</span><span class="s">'</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span> 1519 <span class="n">cia</span><span class="o">+</span><span class="mi">2</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">3</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">4</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">5</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">6</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">7</span><span class="p">:</span><span class="s">'</span><span class="si">%8.5f</span><span class="s">'</span><span class="p">}</span> 1520 <span class="n">noFXsig</span> <span class="o">=</span> <span class="p">{</span><span class="n">cx</span><span class="p">:[</span><span class="mi">10</span><span class="o">*</span><span class="s">' '</span><span class="p">,</span><span class="s">'</span><span class="si">%10s</span><span class="s">'</span><span class="p">],</span><span class="n">cx</span><span class="o">+</span><span class="mi">1</span><span class="p">:[</span><span class="mi">10</span><span class="o">*</span><span class="s">' '</span><span class="p">,</span><span class="s">'</span><span class="si">%10s</span><span class="s">'</span><span class="p">],</span><span class="n">cx</span><span class="o">+</span><span class="mi">2</span><span class="p">:[</span><span class="mi">10</span><span class="o">*</span><span class="s">' '</span><span class="p">,</span><span class="s">'</span><span class="si">%10s</span><span class="s">'</span><span class="p">],</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">:[</span><span class="mi">8</span><span class="o">*</span><span class="s">' '</span><span class="p">,</span><span class="s">'</span><span class="si">%8s</span><span class="s">'</span><span class="p">]}</span> 1521 <span class="k">for</span> <span class="n">atyp</span> <span class="ow">in</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomTypes'</span><span class="p">]:</span> <span class="c">#zero composition</span> 1522 <span class="n">General</span><span class="p">[</span><span class="s">'NoAtoms'</span><span class="p">][</span><span class="n">atyp</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.</span> 1523 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 1524 <span class="n">General</span><span class="p">[</span><span class="s">'NoAtoms'</span><span class="p">][</span><span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="p">]]</span> <span class="o">+=</span> <span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">]</span><span class="o">*</span><span class="nb">float</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">5</span><span class="p">])</span> <span class="c">#new composition</span> 1525 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'macromolecular'</span><span class="p">:</span> 1526 <span class="n">name</span> <span class="o">=</span> <span class="s">' </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">:'</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">at</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">at</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">at</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> 1527 <span class="n">valstr</span> <span class="o">=</span> <span class="s">' values: '</span> 1528 <span class="n">sigstr</span> <span class="o">=</span> <span class="s">' sig : '</span> 1529 <span class="k">else</span><span class="p">:</span> 1530 <span class="n">name</span> <span class="o">=</span> <span class="n">fmt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span><span class="o">+</span><span class="n">fmt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="p">])</span><span class="o">+</span><span class="s">':'</span> 1373 1531 <span class="n">valstr</span> <span class="o">=</span> <span class="s">' values:'</span> 1374 1532 <span class="n">sigstr</span> <span class="o">=</span> <span class="s">' sig :'</span> 1375 <span class="k">for</span> <span class="n">ind</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> 1533 <span class="k">for</span> <span class="n">ind</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">cx</span><span class="p">,</span><span class="n">cx</span><span class="o">+</span><span class="mi">4</span><span class="p">):</span> 1534 <span class="n">sigind</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">ind</span><span class="p">)</span> 1535 <span class="n">valstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ind</span><span class="p">])</span> 1536 <span class="k">if</span> <span class="n">sigind</span> <span class="ow">in</span> <span class="n">atomsSig</span><span class="p">:</span> 1537 <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">atomsSig</span><span class="p">[</span><span class="n">sigind</span><span class="p">])</span> 1538 <span class="k">else</span><span class="p">:</span> 1539 <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">noFXsig</span><span class="p">[</span><span class="n">ind</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">noFXsig</span><span class="p">[</span><span class="n">ind</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> 1540 <span class="k">if</span> <span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="p">]</span> <span class="o">==</span> <span class="s">'I'</span><span class="p">:</span> 1541 <span class="n">valstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span> 1542 <span class="k">if</span> <span class="s">'</span><span class="si">%d</span><span class="s">:</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="ow">in</span> <span class="n">atomsSig</span><span class="p">:</span> 1543 <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">atomsSig</span><span class="p">[</span><span class="s">'</span><span class="si">%d</span><span class="s">:</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">)])</span> 1544 <span class="k">else</span><span class="p">:</span> 1545 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">8</span><span class="o">*</span><span class="s">' '</span> 1546 <span class="k">else</span><span class="p">:</span> 1547 <span class="n">valstr</span> <span class="o">+=</span> <span class="mi">8</span><span class="o">*</span><span class="s">' '</span> 1548 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">8</span><span class="o">*</span><span class="s">' '</span> 1549 <span class="k">for</span> <span class="n">ind</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">cia</span><span class="o">+</span><span class="mi">2</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">7</span><span class="p">):</span> 1376 1550 <span class="n">sigind</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">ind</span><span class="p">)</span> 1377 <span class="n">valstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ind</span><span class="p">])</span> 1378 <span class="k">if</span> <span class="n">sigind</span> <span class="ow">in</span> <span class="n">atomsSig</span><span class="p">:</span> 1551 <span class="n">valstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ind</span><span class="p">])</span> 1552 <span class="k">if</span> <span class="n">sigind</span> <span class="ow">in</span> <span class="n">atomsSig</span><span class="p">:</span> 1379 1553 <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">atomsSig</span><span class="p">[</span><span class="n">sigind</span><span class="p">])</span> 1380 1554 <span class="k">else</span><span class="p">:</span> 1381 <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">noFXsig</span><span class="p">[</span><span class="n">ind</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">noFXsig</span><span class="p">[</span><span class="n">ind</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>1382 <span class="k">if</span> <span class="n">at</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">==</span> <span class="s">'I'</span><span class="p">:</span>1383 <span class="n">valstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="mi">10</span><span class="p">])</span>1384 <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':10'</span> <span class="ow">in</span> <span class="n">atomsSig</span><span class="p">:</span>1385 <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">atomsSig</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':10'</span><span class="p">])</span>1386 <span class="k">else</span><span class="p">:</span>1387 1555 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">8</span><span class="o">*</span><span class="s">' '</span> 1388 <span class="k">else</span><span class="p">:</span> 1389 <span class="n">valstr</span> <span class="o">+=</span> <span class="mi">8</span><span class="o">*</span><span class="s">' '</span> 1390 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">8</span><span class="o">*</span><span class="s">' '</span> 1391 <span class="k">for</span> <span class="n">ind</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><span class="mi">13</span><span class="p">,</span><span class="mi">14</span><span class="p">,</span><span class="mi">15</span><span class="p">,</span><span class="mi">16</span><span class="p">]:</span> 1392 <span class="n">sigind</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">ind</span><span class="p">)</span> 1393 <span class="n">valstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ind</span><span class="p">])</span> 1394 <span class="k">if</span> <span class="n">sigind</span> <span class="ow">in</span> <span class="n">atomsSig</span><span class="p">:</span> 1395 <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">fmt</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">%</span><span class="p">(</span><span class="n">atomsSig</span><span class="p">[</span><span class="n">sigind</span><span class="p">])</span> 1396 <span class="k">else</span><span class="p">:</span> 1397 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">8</span><span class="o">*</span><span class="s">' '</span> 1398 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">name</span> 1399 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">valstr</span> 1400 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">sigstr</span> 1556 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">name</span> 1557 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">valstr</span> 1558 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">sigstr</span> 1559 1560 <span class="k">def</span> <span class="nf">PrintWavesAndSig</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">Atoms</span><span class="p">,</span><span class="n">wavesSig</span><span class="p">):</span> 1561 <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomPtrs'</span><span class="p">]</span> 1562 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">'</span><span class="se">\n</span><span class="s"> Modulation waves'</span> 1563 <span class="n">names</span> <span class="o">=</span> <span class="p">{</span><span class="s">'Sfrac'</span><span class="p">:[</span><span class="s">'Fsin'</span><span class="p">,</span><span class="s">'Fcos'</span><span class="p">,</span><span class="s">'Fzero'</span><span class="p">,</span><span class="s">'Fwid'</span><span class="p">],</span><span class="s">'Spos'</span><span class="p">:[</span><span class="s">'Xsin'</span><span class="p">,</span><span class="s">'Ysin'</span><span class="p">,</span><span class="s">'Zsin'</span><span class="p">,</span><span class="s">'Xcos'</span><span class="p">,</span><span class="s">'Ycos'</span><span class="p">,</span><span class="s">'Zcos'</span><span class="p">,</span><span class="s">'Tzero'</span><span class="p">,</span><span class="s">'Xslope'</span><span class="p">,</span><span class="s">'Yslope'</span><span class="p">,</span><span class="s">'Zslope'</span><span class="p">],</span> 1564 <span class="s">'Sadp'</span><span class="p">:[</span><span class="s">'U11sin'</span><span class="p">,</span><span class="s">'U22sin'</span><span class="p">,</span><span class="s">'U33sin'</span><span class="p">,</span><span class="s">'U12sin'</span><span class="p">,</span><span class="s">'U13sin'</span><span class="p">,</span><span class="s">'U23sin'</span><span class="p">,</span><span class="s">'U11cos'</span><span class="p">,</span><span class="s">'U22cos'</span><span class="p">,</span> 1565 <span class="s">'U33cos'</span><span class="p">,</span><span class="s">'U12cos'</span><span class="p">,</span><span class="s">'U13cos'</span><span class="p">,</span><span class="s">'U23cos'</span><span class="p">],</span><span class="s">'Smag'</span><span class="p">:[</span><span class="s">'MXsin'</span><span class="p">,</span><span class="s">'MYsin'</span><span class="p">,</span><span class="s">'MZsin'</span><span class="p">,</span><span class="s">'MXcos'</span><span class="p">,</span><span class="s">'MYcos'</span><span class="p">,</span><span class="s">'MZcos'</span><span class="p">]}</span> 1566 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="mi">135</span><span class="o">*</span><span class="s">'-'</span> 1567 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 1568 <span class="n">AtomSS</span> <span class="o">=</span> <span class="n">at</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s">'SS1'</span><span class="p">]</span> 1569 <span class="n">waveType</span> <span class="o">=</span> <span class="n">AtomSS</span><span class="p">[</span><span class="s">'waveType'</span><span class="p">]</span> 1570 <span class="k">for</span> <span class="n">Stype</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'Sfrac'</span><span class="p">,</span><span class="s">'Spos'</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">,</span><span class="s">'Smag'</span><span class="p">]:</span> 1571 <span class="n">Waves</span> <span class="o">=</span> <span class="n">AtomSS</span><span class="p">[</span><span class="n">Stype</span><span class="p">]</span> 1572 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">Waves</span><span class="p">):</span> 1573 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' atom: </span><span class="si">%s</span><span class="s">, site sym: </span><span class="si">%s</span><span class="s">, type: </span><span class="si">%s</span><span class="s"> wave type: </span><span class="si">%s</span><span class="s">:'</span> \ 1574 <span class="o">%</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span><span class="n">at</span><span class="p">[</span><span class="n">cs</span><span class="p">],</span><span class="n">Stype</span><span class="p">,</span><span class="n">waveType</span><span class="p">)</span> 1575 <span class="n">line</span> <span class="o">=</span> <span class="s">''</span> 1576 <span class="k">for</span> <span class="n">iw</span><span class="p">,</span><span class="n">wave</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Waves</span><span class="p">):</span> 1577 <span class="n">stiw</span> <span class="o">=</span> <span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iw</span><span class="p">)</span> 1578 <span class="n">namstr</span> <span class="o">=</span> <span class="s">' names :'</span> 1579 <span class="n">valstr</span> <span class="o">=</span> <span class="s">' values:'</span> 1580 <span class="n">sigstr</span> <span class="o">=</span> <span class="s">' esds :'</span> 1581 <span class="k">if</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Spos'</span><span class="p">:</span> 1582 <span class="n">nt</span> <span class="o">=</span> <span class="mi">6</span> 1583 <span class="n">ot</span> <span class="o">=</span> <span class="mi">0</span> 1584 <span class="k">if</span> <span class="n">waveType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'Sawtooth'</span><span class="p">,</span><span class="s">'ZigZag'</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">iw</span><span class="p">:</span> 1585 <span class="n">nt</span> <span class="o">=</span> <span class="mi">4</span> 1586 <span class="n">ot</span> <span class="o">=</span> <span class="mi">6</span> 1587 <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="n">nt</span><span class="p">):</span> 1588 <span class="n">name</span> <span class="o">=</span> <span class="n">names</span><span class="p">[</span><span class="s">'Spos'</span><span class="p">][</span><span class="n">j</span><span class="o">+</span><span class="n">ot</span><span class="p">]</span> 1589 <span class="n">namstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> 1590 <span class="n">valstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">j</span><span class="p">])</span> 1591 <span class="k">if</span> <span class="n">name</span><span class="o">+</span><span class="n">stiw</span> <span class="ow">in</span> <span class="n">wavesSig</span><span class="p">:</span> 1592 <span class="n">sigstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">wavesSig</span><span class="p">[</span><span class="n">name</span><span class="o">+</span><span class="n">stiw</span><span class="p">])</span> 1593 <span class="k">else</span><span class="p">:</span> 1594 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">12</span><span class="o">*</span><span class="s">' '</span> 1595 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Sfrac'</span><span class="p">:</span> 1596 <span class="n">ot</span> <span class="o">=</span> <span class="mi">0</span> 1597 <span class="k">if</span> <span class="s">'Crenel'</span> <span class="ow">in</span> <span class="n">waveType</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">iw</span><span class="p">:</span> 1598 <span class="n">ot</span> <span class="o">=</span> <span class="mi">2</span> 1599 <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">2</span><span class="p">):</span> 1600 <span class="n">name</span> <span class="o">=</span> <span class="n">names</span><span class="p">[</span><span class="s">'Sfrac'</span><span class="p">][</span><span class="n">j</span><span class="o">+</span><span class="n">ot</span><span class="p">]</span> 1601 <span class="n">namstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">names</span><span class="p">[</span><span class="s">'Sfrac'</span><span class="p">][</span><span class="n">j</span><span class="o">+</span><span class="n">ot</span><span class="p">])</span> 1602 <span class="n">valstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">j</span><span class="p">])</span> 1603 <span class="k">if</span> <span class="n">name</span><span class="o">+</span><span class="n">stiw</span> <span class="ow">in</span> <span class="n">wavesSig</span><span class="p">:</span> 1604 <span class="n">sigstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">wavesSig</span><span class="p">[</span><span class="n">name</span><span class="o">+</span><span class="n">stiw</span><span class="p">])</span> 1605 <span class="k">else</span><span class="p">:</span> 1606 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">12</span><span class="o">*</span><span class="s">' '</span> 1607 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Sadp'</span><span class="p">:</span> 1608 <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">12</span><span class="p">):</span> 1609 <span class="n">name</span> <span class="o">=</span> <span class="n">names</span><span class="p">[</span><span class="s">'Sadp'</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> 1610 <span class="n">namstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%10s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">names</span><span class="p">[</span><span class="s">'Sadp'</span><span class="p">][</span><span class="n">j</span><span class="p">])</span> 1611 <span class="n">valstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%10.6f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">j</span><span class="p">])</span> 1612 <span class="k">if</span> <span class="n">name</span><span class="o">+</span><span class="n">stiw</span> <span class="ow">in</span> <span class="n">wavesSig</span><span class="p">:</span> 1613 <span class="n">sigstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%10.6f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">wavesSig</span><span class="p">[</span><span class="n">name</span><span class="o">+</span><span class="n">stiw</span><span class="p">])</span> 1614 <span class="k">else</span><span class="p">:</span> 1615 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">10</span><span class="o">*</span><span class="s">' '</span> 1616 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Smag'</span><span class="p">:</span> 1617 <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">6</span><span class="p">):</span> 1618 <span class="n">name</span> <span class="o">=</span> <span class="n">names</span><span class="p">[</span><span class="s">'Smag'</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> 1619 <span class="n">namstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">names</span><span class="p">[</span><span class="s">'Smag'</span><span class="p">][</span><span class="n">j</span><span class="p">])</span> 1620 <span class="n">valstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">j</span><span class="p">])</span> 1621 <span class="k">if</span> <span class="n">name</span><span class="o">+</span><span class="n">stiw</span> <span class="ow">in</span> <span class="n">wavesSig</span><span class="p">:</span> 1622 <span class="n">sigstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">wavesSig</span><span class="p">[</span><span class="n">name</span><span class="o">+</span><span class="n">stiw</span><span class="p">])</span> 1623 <span class="k">else</span><span class="p">:</span> 1624 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">12</span><span class="o">*</span><span class="s">' '</span> 1625 1626 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">namstr</span> 1627 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">valstr</span> 1628 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">sigstr</span> 1629 1401 1630 1402 1631 <span class="k">def</span> <span class="nf">PrintRBObjPOAndSig</span><span class="p">(</span><span class="n">rbfx</span><span class="p">,</span><span class="n">rbsx</span><span class="p">):</span> … … 1540 1769 <span class="n">SGData</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">]</span> 1541 1770 <span class="n">Atoms</span> <span class="o">=</span> <span class="n">Phase</span><span class="p">[</span><span class="s">'Atoms'</span><span class="p">]</span> 1542 <span class="n">AtLookup</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span> 1771 <span class="k">if</span> <span class="n">Atoms</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">General</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'doPawley'</span><span class="p">):</span> 1772 <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomPtrs'</span><span class="p">]</span> 1773 <span class="n">AtLookup</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">Atoms</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">)</span> 1543 1774 <span class="n">cell</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'Cell'</span><span class="p">]</span> 1544 1775 <span class="n">pId</span> <span class="o">=</span> <span class="n">Phase</span><span class="p">[</span><span class="s">'pId'</span><span class="p">]</span> … … 1581 1812 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">ptstr</span> 1582 1813 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">sigstr</span> 1814 <span class="n">ik</span> <span class="o">=</span> <span class="mi">6</span> <span class="c">#for Pawley stuff below</span> 1815 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 1816 <span class="n">ik</span> <span class="o">=</span> <span class="mi">7</span> 1817 <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="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'SuperVec'</span><span class="p">]</span> 1818 <span class="k">if</span> <span class="n">vRef</span><span class="p">:</span> 1819 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' New modulation vector:'</span> 1820 <span class="n">namstr</span> <span class="o">=</span> <span class="s">' names :'</span> 1821 <span class="n">ptstr</span> <span class="o">=</span> <span class="s">' values:'</span> 1822 <span class="n">sigstr</span> <span class="o">=</span> <span class="s">' esds :'</span> 1823 <span class="k">for</span> <span class="n">var</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'mV0'</span><span class="p">,</span><span class="s">'mV1'</span><span class="p">,</span><span class="s">'mV2'</span><span class="p">]:</span> 1824 <span class="n">namstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="n">var</span><span class="p">)</span> 1825 <span class="n">ptstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12.6f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">parmDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="n">var</span><span class="p">])</span> 1826 <span class="k">if</span> <span class="n">pfx</span><span class="o">+</span><span class="n">var</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1827 <span class="n">sigstr</span> <span class="o">+=</span> <span class="s">'</span><span class="si">%12.6f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">sigDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="n">var</span><span class="p">])</span> 1828 <span class="k">else</span><span class="p">:</span> 1829 <span class="n">sigstr</span> <span class="o">+=</span> <span class="mi">12</span><span class="o">*</span><span class="s">' '</span> 1830 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">namstr</span> 1831 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">ptstr</span> 1832 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">sigstr</span> 1583 1833 1584 1834 <span class="n">General</span><span class="p">[</span><span class="s">'Mass'</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.</span> … … 1587 1837 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">refl</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">pawleyRef</span><span class="p">):</span> 1588 1838 <span class="n">key</span> <span class="o">=</span> <span class="n">pfx</span><span class="o">+</span><span class="s">'PWLref:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> 1589 <span class="n">refl</span><span class="p">[</span><span class=" mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>1839 <span class="n">refl</span><span class="p">[</span><span class="n">ik</span><span class="p">]</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> 1590 1840 <span class="k">if</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1591 <span class="n">refl</span><span class="p">[</span><span class=" mi">7</span><span class="p">]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>1841 <span class="n">refl</span><span class="p">[</span><span class="n">ik</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> 1592 1842 <span class="k">else</span><span class="p">:</span> 1593 <span class="n">refl</span><span class="p">[</span><span class=" mi">7</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>1843 <span class="n">refl</span><span class="p">[</span><span class="n">ik</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span> 1594 1844 <span class="k">else</span><span class="p">:</span> 1595 1845 <span class="n">VRBIds</span> <span class="o">=</span> <span class="n">RBIds</span><span class="p">[</span><span class="s">'Vector'</span><span class="p">]</span> … … 1610 1860 <span class="n">PrintRBObjTorAndSig</span><span class="p">(</span><span class="n">rbsx</span><span class="p">)</span> 1611 1861 <span class="n">atomsSig</span> <span class="o">=</span> <span class="p">{}</span> 1612 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'nuclear'</span><span class="p">:</span> <span class="c">#this needs macromolecular variant!</span> 1613 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 1614 <span class="n">names</span> <span class="o">=</span> <span class="p">{</span><span class="mi">3</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Ax:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="mi">4</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Ay:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="mi">5</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Az:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="mi">6</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Afrac:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> 1615 <span class="mi">10</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AUiso:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="mi">11</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU11:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="mi">12</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU22:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="mi">13</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU33:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> 1616 <span class="mi">14</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU12:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="mi">15</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU13:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="mi">16</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU23:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)}</span> 1617 <span class="k">for</span> <span class="n">ind</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> 1862 <span class="n">wavesSig</span> <span class="o">=</span> <span class="p">{}</span> 1863 <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomPtrs'</span><span class="p">]</span> 1864 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">at</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 1865 <span class="n">names</span> <span class="o">=</span> <span class="p">{</span><span class="n">cx</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Ax:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">cx</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Ay:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">cx</span><span class="o">+</span><span class="mi">2</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Az:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Afrac:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> 1866 <span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AUiso:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">cia</span><span class="o">+</span><span class="mi">2</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU11:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">cia</span><span class="o">+</span><span class="mi">3</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU22:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">cia</span><span class="o">+</span><span class="mi">4</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU33:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> 1867 <span class="n">cia</span><span class="o">+</span><span class="mi">5</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU12:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">cia</span><span class="o">+</span><span class="mi">6</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU13:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="n">cia</span><span class="o">+</span><span class="mi">7</span><span class="p">:</span><span class="n">pfx</span><span class="o">+</span><span class="s">'AU23:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)}</span> 1868 <span class="k">for</span> <span class="n">ind</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">cx</span><span class="p">,</span><span class="n">cx</span><span class="o">+</span><span class="mi">4</span><span class="p">):</span> 1869 <span class="n">at</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]]</span> 1870 <span class="k">if</span> <span class="n">ind</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">cx</span><span class="p">,</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">):</span> 1871 <span class="n">name</span> <span class="o">=</span> <span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'A'</span><span class="p">,</span><span class="s">'dA'</span><span class="p">)</span> 1872 <span class="k">else</span><span class="p">:</span> 1873 <span class="n">name</span> <span class="o">=</span> <span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span> 1874 <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1875 <span class="n">atomsSig</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">ind</span><span class="p">)]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> 1876 <span class="k">if</span> <span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="p">]</span> <span class="o">==</span> <span class="s">'I'</span><span class="p">:</span> 1877 <span class="n">at</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">]]</span> 1878 <span class="k">if</span> <span class="n">names</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1879 <span class="n">atomsSig</span><span class="p">[</span><span class="s">'</span><span class="si">%d</span><span class="s">:</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">)]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">1</span><span class="p">]]</span> 1880 <span class="k">else</span><span class="p">:</span> 1881 <span class="k">for</span> <span class="n">ind</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">cia</span><span class="o">+</span><span class="mi">2</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">):</span> 1618 1882 <span class="n">at</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]]</span> 1619 <span class="k">if</span> <span class="n">ind</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> 1620 <span class="n">name</span> <span class="o">=</span> <span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'A'</span><span class="p">,</span><span class="s">'dA'</span><span class="p">)</span> 1621 <span class="k">else</span><span class="p">:</span> 1622 <span class="n">name</span> <span class="o">=</span> <span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span> 1623 <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1624 <span class="n">atomsSig</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">ind</span><span class="p">)]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> 1625 <span class="k">if</span> <span class="n">at</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">==</span> <span class="s">'I'</span><span class="p">:</span> 1626 <span class="n">at</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="mi">10</span><span class="p">]]</span> 1627 <span class="k">if</span> <span class="n">names</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1628 <span class="n">atomsSig</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':10'</span><span class="p">]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="mi">10</span><span class="p">]]</span> 1629 <span class="k">else</span><span class="p">:</span> 1630 <span class="k">for</span> <span class="n">ind</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><span class="mi">13</span><span class="p">,</span><span class="mi">14</span><span class="p">,</span><span class="mi">15</span><span class="p">,</span><span class="mi">16</span><span class="p">]:</span> 1631 <span class="n">at</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]]</span> 1632 <span class="k">if</span> <span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1633 <span class="n">atomsSig</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">ind</span><span class="p">)]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]]</span> 1634 <span class="n">ind</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomTypes'</span><span class="p">]</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> 1635 <span class="n">General</span><span class="p">[</span><span class="s">'Mass'</span><span class="p">]</span> <span class="o">+=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomMass'</span><span class="p">][</span><span class="n">ind</span><span class="p">]</span><span class="o">*</span><span class="n">at</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span><span class="o">*</span><span class="n">at</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> 1883 <span class="k">if</span> <span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1884 <span class="n">atomsSig</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">ind</span><span class="p">)]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">names</span><span class="p">[</span><span class="n">ind</span><span class="p">]]</span> 1885 <span class="n">ind</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomTypes'</span><span class="p">]</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">at</span><span class="p">[</span><span class="n">ct</span><span class="p">])</span> 1886 <span class="n">General</span><span class="p">[</span><span class="s">'Mass'</span><span class="p">]</span> <span class="o">+=</span> <span class="n">General</span><span class="p">[</span><span class="s">'AtomMass'</span><span class="p">][</span><span class="n">ind</span><span class="p">]</span><span class="o">*</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">]</span><span class="o">*</span><span class="n">at</span><span class="p">[</span><span class="n">cx</span><span class="o">+</span><span class="mi">5</span><span class="p">]</span> 1887 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 1888 <span class="n">AtomSS</span> <span class="o">=</span> <span class="n">at</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s">'SS1'</span><span class="p">]</span> 1889 <span class="n">waveType</span> <span class="o">=</span> <span class="n">AtomSS</span><span class="p">[</span><span class="s">'waveType'</span><span class="p">]</span> 1890 <span class="k">for</span> <span class="n">Stype</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'Sfrac'</span><span class="p">,</span><span class="s">'Spos'</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">,</span><span class="s">'Smag'</span><span class="p">]:</span> 1891 <span class="n">Waves</span> <span class="o">=</span> <span class="n">AtomSS</span><span class="p">[</span><span class="n">Stype</span><span class="p">]</span> 1892 <span class="k">for</span> <span class="n">iw</span><span class="p">,</span><span class="n">wave</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Waves</span><span class="p">):</span> 1893 <span class="n">stiw</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="s">':'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iw</span><span class="p">)</span> 1894 <span class="k">if</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Spos'</span><span class="p">:</span> 1895 <span class="k">if</span> <span class="n">waveType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'ZigZag'</span><span class="p">,</span><span class="s">'Sawtooth'</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">iw</span><span class="p">:</span> 1896 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Tzero:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Xslope:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Yslope:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Zslope:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1897 <span class="k">else</span><span class="p">:</span> 1898 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Xsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Ysin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Zsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1899 <span class="s">'Xcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Ycos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Zcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1900 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Sadp'</span><span class="p">:</span> 1901 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">'U11sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'U22sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'U33sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1902 <span class="s">'U12sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'U13sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'U23sin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1903 <span class="s">'U11cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'U22cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'U33cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1904 <span class="s">'U12cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'U13cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'U23cos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1905 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Sfrac'</span><span class="p">:</span> 1906 <span class="k">if</span> <span class="s">'Crenel'</span> <span class="ow">in</span> <span class="n">waveType</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">iw</span><span class="p">:</span> 1907 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Fzero:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Fwid:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1908 <span class="k">else</span><span class="p">:</span> 1909 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Fsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'Fcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1910 <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Smag'</span><span class="p">:</span> 1911 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">'MXsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'MYsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'MZsin:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span> 1912 <span class="s">'MXcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'MYcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">,</span><span class="s">'MZcos:'</span><span class="o">+</span><span class="n">stiw</span><span class="p">]</span> 1913 <span class="k">for</span> <span class="n">iname</span><span class="p">,</span><span class="n">name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">names</span><span class="p">):</span> 1914 <span class="n">AtomSS</span><span class="p">[</span><span class="n">Stype</span><span class="p">][</span><span class="n">iw</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">iname</span><span class="p">]</span> <span class="o">=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="n">name</span><span class="p">]</span> 1915 <span class="k">if</span> <span class="n">pfx</span><span class="o">+</span><span class="n">name</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span> 1916 <span class="n">wavesSig</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">sigDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="n">name</span><span class="p">]</span> 1917 1636 1918 <span class="n">PrintAtomsAndSig</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">Atoms</span><span class="p">,</span><span class="n">atomsSig</span><span class="p">)</span> 1919 <span class="k">if</span> <span class="n">General</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 1920 <span class="n">PrintWavesAndSig</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">Atoms</span><span class="p">,</span><span class="n">wavesSig</span><span class="p">)</span> 1921 1637 1922 1638 1923 <span class="n">textureData</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">'SH Texture'</span><span class="p">]</span> … … 1772 2057 <span class="n">cell</span> <span class="o">=</span> <span class="n">Phases</span><span class="p">[</span><span class="n">phase</span><span class="p">][</span><span class="s">'General'</span><span class="p">][</span><span class="s">'Cell'</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span> 1773 2058 <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">cell</span><span class="p">)</span> 2059 <span class="k">if</span> <span class="n">Phases</span><span class="p">[</span><span class="n">phase</span><span class="p">][</span><span class="s">'General'</span><span class="p">][</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 2060 <span class="n">SSGData</span> <span class="o">=</span> <span class="n">Phases</span><span class="p">[</span><span class="n">phase</span><span class="p">][</span><span class="s">'General'</span><span class="p">][</span><span class="s">'SSGData'</span><span class="p">]</span> 2061 <span class="n">Vec</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">maxH</span> <span class="o">=</span> <span class="n">Phases</span><span class="p">[</span><span class="n">phase</span><span class="p">][</span><span class="s">'General'</span><span class="p">][</span><span class="s">'SuperVec'</span><span class="p">]</span> 1774 2062 <span class="n">pId</span> <span class="o">=</span> <span class="n">Phases</span><span class="p">[</span><span class="n">phase</span><span class="p">][</span><span class="s">'pId'</span><span class="p">]</span> 1775 2063 <span class="n">histoList</span> <span class="o">=</span> <span class="n">HistoPhase</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span> … … 1801 2089 <span class="n">hapVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="n">item</span><span class="p">)</span> 1802 2090 <span class="n">names</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">HStrainNames</span><span class="p">(</span><span class="n">SGData</span><span class="p">)</span> 2091 <span class="n">HSvals</span> <span class="o">=</span> <span class="p">[]</span> 1803 2092 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">names</span><span class="p">):</span> 1804 2093 <span class="n">hapDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">hapData</span><span class="p">[</span><span class="s">'HStrain'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">i</span><span class="p">]</span> 2094 <span class="n">HSvals</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">hapDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="n">name</span><span class="p">])</span> 1805 2095 <span class="k">if</span> <span class="n">hapData</span><span class="p">[</span><span class="s">'HStrain'</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="n">i</span><span class="p">]:</span> 1806 2096 <span class="n">hapVary</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pfx</span><span class="o">+</span><span class="n">name</span><span class="p">)</span> 2097 <span class="n">DIJS</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">HStrainVals</span><span class="p">(</span><span class="n">HSvals</span><span class="p">,</span><span class="n">SGData</span><span class="p">)</span> 1807 2098 <span class="n">controlDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">'poType'</span><span class="p">]</span> <span class="o">=</span> <span class="n">hapData</span><span class="p">[</span><span class="s">'Pref.Ori.'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> 1808 2099 <span class="k">if</span> <span class="n">hapData</span><span class="p">[</span><span class="s">'Pref.Ori.'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s">'MD'</span><span class="p">:</span> … … 1866 2157 <span class="n">PrintHStrain</span><span class="p">(</span><span class="n">hapData</span><span class="p">[</span><span class="s">'HStrain'</span><span class="p">],</span><span class="n">SGData</span><span class="p">)</span> 1867 2158 <span class="k">if</span> <span class="n">hapData</span><span class="p">[</span><span class="s">'Babinet'</span><span class="p">][</span><span class="s">'BabA'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 1868 <span class="n">PrintBabinet</span><span class="p">(</span><span class="n">hapData</span><span class="p">[</span><span class="s">'Babinet'</span><span class="p">])</span> 1869 <span class="n">HKLd</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">G2lat</span><span class="o">.</span><span class="n">GenHLaue</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">))</span> 2159 <span class="n">PrintBabinet</span><span class="p">(</span><span class="n">hapData</span><span class="p">[</span><span class="s">'Babinet'</span><span class="p">])</span> 1870 2160 <span class="k">if</span> <span class="n">resetRefList</span><span class="p">:</span> 1871 2161 <span class="n">refList</span> <span class="o">=</span> <span class="p">[]</span> 1872 2162 <span class="n">Uniq</span> <span class="o">=</span> <span class="p">[]</span> 1873 2163 <span class="n">Phi</span> <span class="o">=</span> <span class="p">[]</span> 1874 <span class="k">for</span> <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">d</span> <span class="ow">in</span> <span class="n">HKLd</span><span class="p">:</span> 1875 <span class="n">ext</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">uniq</span><span class="p">,</span><span class="n">phi</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GenHKLf</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">],</span><span class="n">SGData</span><span class="p">)</span> 1876 <span class="n">mul</span> <span class="o">*=</span> <span class="mi">2</span> <span class="c"># for powder overlap of Friedel pairs</span> 1877 <span class="k">if</span> <span class="n">ext</span><span class="p">:</span> 1878 <span class="k">continue</span> 1879 <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> 1880 <span class="n">pos</span> <span class="o">=</span> <span class="mf">2.0</span><span class="o">*</span><span class="n">asind</span><span class="p">(</span><span class="n">wave</span><span class="o">/</span><span class="p">(</span><span class="mf">2.0</span><span class="o">*</span><span class="n">d</span><span class="p">))</span><span class="o">+</span><span class="n">Zero</span> 1881 <span class="k">if</span> <span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="n">pos</span> <span class="o"><</span> <span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 1882 <span class="n">refList</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span> 1883 <span class="c">#... sig,gam,fotsq,fctsq, phase,icorr,prfo,abs,ext</span> 1884 <span class="n">Uniq</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">uniq</span><span class="p">)</span> 1885 <span class="n">Phi</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span> 1886 <span class="k">elif</span> <span class="s">'T'</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> 1887 <span class="n">pos</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><span class="o">*</span><span class="n">d</span><span class="o">+</span><span class="n">inst</span><span class="p">[</span><span class="s">'difA'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">d</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="n">inst</span><span class="p">[</span><span class="s">'difB'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span><span class="o">/</span><span class="n">d</span><span class="o">+</span><span class="n">Zero</span> 1888 <span class="k">if</span> <span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="n">pos</span> <span class="o"><</span> <span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 1889 <span class="n">wave</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><span class="o">*</span><span class="n">d</span><span class="o">/</span><span class="p">(</span><span class="mf">252.816</span><span class="o">*</span><span class="n">inst</span><span class="p">[</span><span class="s">'fltPath'</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> 1890 <span class="n">refList</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span> 1891 <span class="c"># ... sig,gam,fotsq,fctsq, phase,icorr,alp,bet,wave, prfo,abs,ext</span> 1892 <span class="n">Uniq</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">uniq</span><span class="p">)</span> 1893 <span class="n">Phi</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span> 1894 <span class="n">Histogram</span><span class="p">[</span><span class="s">'Reflection Lists'</span><span class="p">][</span><span class="n">phase</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s">'RefList'</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">refList</span><span class="p">),</span><span class="s">'FF'</span><span class="p">:{},</span><span class="s">'Type'</span><span class="p">:</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> 2164 <span class="k">if</span> <span class="n">Phases</span><span class="p">[</span><span class="n">phase</span><span class="p">][</span><span class="s">'General'</span><span class="p">][</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 2165 <span class="n">ifSuper</span> <span class="o">=</span> <span class="bp">True</span> 2166 <span class="n">HKLd</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">G2lat</span><span class="o">.</span><span class="n">GenSSHLaue</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">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> 2167 <span class="n">HKLd</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">sortArray</span><span class="p">(</span><span class="n">HKLd</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> 2168 <span class="k">for</span> <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">d</span> <span class="ow">in</span> <span class="n">HKLd</span><span class="p">:</span> 2169 <span class="n">ext</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">uniq</span><span class="p">,</span><span class="n">phi</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GenHKLf</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">],</span><span class="n">SGData</span><span class="p">)</span> <span class="c">#is this right for SS refl.??</span> 2170 <span class="n">mul</span> <span class="o">*=</span> <span class="mi">2</span> <span class="c"># for powder overlap of Friedel pairs</span> 2171 <span class="k">if</span> <span class="n">m</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">ext</span><span class="p">:</span> 2172 <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> 2173 <span class="n">pos</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">inst</span><span class="p">,</span><span class="n">d</span><span class="p">)</span> 2174 <span class="k">if</span> <span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="n">pos</span> <span class="o"><</span> <span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 2175 <span class="n">refList</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span> 2176 <span class="c">#... sig,gam,fotsq,fctsq, phase,icorr,prfo,abs,ext</span> 2177 <span class="n">Uniq</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">uniq</span><span class="p">)</span> 2178 <span class="n">Phi</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span> 2179 <span class="k">elif</span> <span class="s">'T'</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> 2180 <span class="n">pos</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">inst</span><span class="p">,</span><span class="n">d</span><span class="p">)</span> 2181 <span class="k">if</span> <span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="n">pos</span> <span class="o"><</span> <span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 2182 <span class="n">wave</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><span class="o">*</span><span class="n">d</span><span class="o">/</span><span class="p">(</span><span class="mf">252.816</span><span class="o">*</span><span class="n">inst</span><span class="p">[</span><span class="s">'fltPath'</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> 2183 <span class="n">refList</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span> 2184 <span class="c"># ... sig,gam,fotsq,fctsq, phase,icorr,alp,bet,wave, prfo,abs,ext</span> 2185 <span class="n">Uniq</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">uniq</span><span class="p">)</span> 2186 <span class="n">Phi</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span> 2187 <span class="k">else</span><span class="p">:</span> 2188 <span class="n">ifSuper</span> <span class="o">=</span> <span class="bp">False</span> 2189 <span class="n">HKLd</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">G2lat</span><span class="o">.</span><span class="n">GenHLaue</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">))</span> 2190 <span class="n">HKLd</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">sortArray</span><span class="p">(</span><span class="n">HKLd</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> 2191 <span class="k">for</span> <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">d</span> <span class="ow">in</span> <span class="n">HKLd</span><span class="p">:</span> 2192 <span class="n">ext</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">uniq</span><span class="p">,</span><span class="n">phi</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GenHKLf</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">],</span><span class="n">SGData</span><span class="p">)</span> 2193 <span class="n">mul</span> <span class="o">*=</span> <span class="mi">2</span> <span class="c"># for powder overlap of Friedel pairs</span> 2194 <span class="k">if</span> <span class="n">ext</span><span class="p">:</span> 2195 <span class="k">continue</span> 2196 <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> 2197 <span class="n">pos</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">inst</span><span class="p">,</span><span class="n">d</span><span class="p">)</span> 2198 <span class="k">if</span> <span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="n">pos</span> <span class="o"><</span> <span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 2199 <span class="n">refList</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span> 2200 <span class="c">#... sig,gam,fotsq,fctsq, phase,icorr,prfo,abs,ext</span> 2201 <span class="n">Uniq</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">uniq</span><span class="p">)</span> 2202 <span class="n">Phi</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span> 2203 <span class="k">elif</span> <span class="s">'T'</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> 2204 <span class="n">pos</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">inst</span><span class="p">,</span><span class="n">d</span><span class="p">)</span> 2205 <span class="k">if</span> <span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="n">pos</span> <span class="o"><</span> <span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 2206 <span class="n">wave</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><span class="o">*</span><span class="n">d</span><span class="o">/</span><span class="p">(</span><span class="mf">252.816</span><span class="o">*</span><span class="n">inst</span><span class="p">[</span><span class="s">'fltPath'</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> 2207 <span class="n">refList</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="n">wave</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span> 2208 <span class="c"># ... sig,gam,fotsq,fctsq, phase,icorr,alp,bet,wave, prfo,abs,ext</span> 2209 <span class="n">Uniq</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">uniq</span><span class="p">)</span> 2210 <span class="n">Phi</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span> 2211 <span class="n">Histogram</span><span class="p">[</span><span class="s">'Reflection Lists'</span><span class="p">][</span><span class="n">phase</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s">'RefList'</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">refList</span><span class="p">),</span><span class="s">'FF'</span><span class="p">:{},</span><span class="s">'Type'</span><span class="p">:</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><span class="s">'Super'</span><span class="p">:</span><span class="n">ifSuper</span><span class="p">}</span> 1895 2212 <span class="k">elif</span> <span class="s">'HKLF'</span> <span class="ow">in</span> <span class="n">histogram</span><span class="p">:</span> 1896 2213 <span class="n">inst</span> <span class="o">=</span> <span class="n">Histogram</span><span class="p">[</span><span class="s">'Instrument Parameters'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> … … 2208 2525 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' Final refinement RF, RF^2 = </span><span class="si">%.2f%%</span><span class="s">, </span><span class="si">%.2f%%</span><span class="s"> on </span><span class="si">%d</span><span class="s"> reflections'</span> \ 2209 2526 <span class="o">%</span><span class="p">(</span><span class="n">Histogram</span><span class="p">[</span><span class="s">'Residuals'</span><span class="p">][</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Rf'</span><span class="p">],</span><span class="n">Histogram</span><span class="p">[</span><span class="s">'Residuals'</span><span class="p">][</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Rf^2'</span><span class="p">],</span><span class="n">Histogram</span><span class="p">[</span><span class="s">'Residuals'</span><span class="p">][</span><span class="n">pfx</span><span class="o">+</span><span class="s">'Nref'</span><span class="p">])</span> 2527 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' Bragg intensity sum = </span><span class="si">%.3g</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">Histogram</span><span class="p">[</span><span class="s">'Residuals'</span><span class="p">][</span><span class="n">pfx</span><span class="o">+</span><span class="s">'sumInt'</span><span class="p">])</span> 2210 2528 2211 2529 <span class="k">if</span> <span class="n">pfx</span><span class="o">+</span><span class="s">'Scale'</span> <span class="ow">in</span> <span class="n">PhFrExtPOSig</span><span class="p">:</span> … … 2584 2902 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">ptstr</span> 2585 2903 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="n">sigstr</span> 2904 <span class="n">sumBk</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">Histogram</span><span class="p">[</span><span class="s">'sumBk'</span><span class="p">])</span> 2905 <span class="k">print</span> <span class="o">>></span><span class="n">pFile</span><span class="p">,</span><span class="s">' Background sums: empirical </span><span class="si">%.3g</span><span class="s">, Debye </span><span class="si">%.3g</span><span class="s">, peaks </span><span class="si">%.3g</span><span class="s">, Total </span><span class="si">%.3g</span><span class="s">'</span> \ 2906 <span class="o">%</span><span class="p">(</span><span class="n">sumBk</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">sumBk</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">sumBk</span><span class="p">[</span><span class="mi">2</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">sumBk</span><span class="p">))</span> 2586 2907 2587 2908 <span class="k">def</span> <span class="nf">PrintInstParmsSig</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">instSig</span><span class="p">):</span>
Note: See TracChangeset
for help on using the changeset viewer.