Changeset 1077 for trunk/sphinxdocs/build/html/_modules/GSASIIpwd.html
- Timestamp:
- Oct 3, 2013 1:11:47 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/sphinxdocs/build/html/_modules/GSASIIpwd.html ¶
r957 r1077 59 59 <span class="sd">'''</span> 60 60 <span class="c">########### SVN repository information ###################</span> 61 <span class="c"># $Date: 2013- 06-11 10:58:44 -0400 (Tue, 11 Jun2013) $</span>61 <span class="c"># $Date: 2013-10-01 15:40:19 -0500 (Tue, 01 Oct 2013) $</span> 62 62 <span class="c"># $Author: vondreele $</span> 63 <span class="c"># $Revision: 945$</span>63 <span class="c"># $Revision: 1073 $</span> 64 64 <span class="c"># $URL: https://subversion.xor.aps.anl.gov/pyGSAS/trunk/GSASIIpwd.py $</span> 65 <span class="c"># $Id: GSASIIpwd.py 945 2013-06-11 14:58:44Z vondreele $</span>65 <span class="c"># $Id: GSASIIpwd.py 1073 2013-10-01 20:40:19Z vondreele $</span> 66 66 <span class="c">########### SVN repository information ###################</span> 67 67 <span class="kn">import</span> <span class="nn">sys</span> … … 78 78 79 79 <span class="kn">import</span> <span class="nn">GSASIIpath</span> 80 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">"$Revision: 945$"</span><span class="p">)</span>80 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">"$Revision: 1073 $"</span><span class="p">)</span> 81 81 <span class="kn">import</span> <span class="nn">GSASIIlattice</span> <span class="kn">as</span> <span class="nn">G2lat</span> 82 82 <span class="kn">import</span> <span class="nn">GSASIIspc</span> <span class="kn">as</span> <span class="nn">G2spc</span> … … 491 491 <span class="k">return</span> <span class="n">widths</span><span class="p">,</span><span class="n">fmin</span><span class="p">,</span><span class="n">fmax</span> 492 492 </div> 493 <div class="viewcode-block" id="getFWHM"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getFWHM">[docs]</a><span class="k">def</span> <span class="nf">getFWHM</span><span class="p">(</span><span class="n"> TTh</span><span class="p">,</span><span class="n">Inst</span><span class="p">):</span>493 <div class="viewcode-block" id="getFWHM"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getFWHM">[docs]</a><span class="k">def</span> <span class="nf">getFWHM</span><span class="p">(</span><span class="n">pos</span><span class="p">,</span><span class="n">Inst</span><span class="p">):</span> 494 494 <span class="s">'needs a doc string'</span> 495 495 <span class="n">sig</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">Th</span><span class="p">,</span><span class="n">U</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="n">W</span><span class="p">:</span> <span class="mf">1.17741</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mf">0.001</span><span class="p">,</span><span class="n">U</span><span class="o">*</span><span class="n">tand</span><span class="p">(</span><span class="n">Th</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="n">V</span><span class="o">*</span><span class="n">tand</span><span class="p">(</span><span class="n">Th</span><span class="p">)</span><span class="o">+</span><span class="n">W</span><span class="p">))</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span> 496 <span class="n">sigTOF</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">dsp</span><span class="p">,</span><span class="n">S0</span><span class="p">,</span><span class="n">S1</span><span class="p">,</span><span class="n">Sq</span><span class="p">:</span> <span class="n">S0</span><span class="o">+</span><span class="n">S1</span><span class="o">*</span><span class="n">dsp</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="n">Sq</span><span class="o">*</span><span class="n">dsp</span> 496 497 <span class="n">gam</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">Th</span><span class="p">,</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span> <span class="p">(</span><span class="n">X</span><span class="o">/</span><span class="n">cosd</span><span class="p">(</span><span class="n">Th</span><span class="p">)</span><span class="o">+</span><span class="n">Y</span><span class="o">*</span><span class="n">tand</span><span class="p">(</span><span class="n">Th</span><span class="p">))</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span> 497 <span class="n">gamFW</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">s</span><span class="p">,</span><span class="n">g</span><span class="p">:</span> <span class="n">math</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">s</span><span class="o">**</span><span class="mi">5</span><span class="o">+</span><span class="mf">2.69269</span><span class="o">*</span><span class="n">s</span><span class="o">**</span><span class="mi">4</span><span class="o">*</span><span class="n">g</span><span class="o">+</span><span class="mf">2.42843</span><span class="o">*</span><span class="n">s</span><span class="o">**</span><span class="mi">3</span><span class="o">*</span><span class="n">g</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="mf">4.47163</span><span class="o">*</span><span class="n">s</span><span class="o">**</span><span class="mi">2</span><span class="o">*</span><span class="n">g</span><span class="o">**</span><span class="mi">3</span><span class="o">+</span><span class="mf">0.07842</span><span class="o">*</span><span class="n">s</span><span class="o">*</span><span class="n">g</span><span class="o">**</span><span class="mi">4</span><span class="o">+</span><span class="n">g</span><span class="o">**</span><span class="mi">5</span><span class="p">)</span><span class="o">/</span><span class="mf">5.</span><span class="p">)</span> 498 <span class="n">s</span> <span class="o">=</span> <span class="n">sig</span><span class="p">(</span><span class="n">TTh</span><span class="o">/</span><span class="mf">2.</span><span class="p">,</span><span class="n">Inst</span><span class="p">[</span><span class="s">'U'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'V'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'W'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="mf">100.</span> 499 <span class="n">g</span> <span class="o">=</span> <span class="n">gam</span><span class="p">(</span><span class="n">TTh</span><span class="o">/</span><span class="mf">2.</span><span class="p">,</span><span class="n">Inst</span><span class="p">[</span><span class="s">'X'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'Y'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="mf">100.</span> 500 <span class="k">return</span> <span class="n">gamFW</span><span class="p">(</span><span class="n">g</span><span class="p">,</span><span class="n">s</span><span class="p">)</span> 498 <span class="n">gamTOF</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">dsp</span><span class="p">,</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span> <span class="n">X</span><span class="o">*</span><span class="n">dsp</span><span class="o">+</span><span class="n">Y</span><span class="o">*</span><span class="n">dsp</span><span class="o">**</span><span class="mi">2</span> 499 <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> 500 <span class="n">s</span> <span class="o">=</span> <span class="n">sig</span><span class="p">(</span><span class="n">pos</span><span class="o">/</span><span class="mf">2.</span><span class="p">,</span><span class="n">Inst</span><span class="p">[</span><span class="s">'U'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'V'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'W'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="mf">100.</span> 501 <span class="n">g</span> <span class="o">=</span> <span class="n">gam</span><span class="p">(</span><span class="n">pos</span><span class="o">/</span><span class="mf">2.</span><span class="p">,</span><span class="n">Inst</span><span class="p">[</span><span class="s">'X'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'Y'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="mf">100.</span> 502 <span class="k">else</span><span class="p">:</span> 503 <span class="n">dsp</span> <span class="o">=</span> <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">0</span><span class="p">]</span> 504 <span class="n">s</span> <span class="o">=</span> <span class="n">sigTOF</span><span class="p">(</span><span class="n">dsp</span><span class="p">,</span><span class="n">Inst</span><span class="p">[</span><span class="s">'sig-0'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'sig-1'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'sig-q'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span> 505 <span class="n">g</span> <span class="o">=</span> <span class="n">gamTOF</span><span class="p">(</span><span class="n">dsp</span><span class="p">,</span><span class="n">Inst</span><span class="p">[</span><span class="s">'X'</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Inst</span><span class="p">[</span><span class="s">'Y'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span> 506 <span class="k">return</span> <span class="n">getgamFW</span><span class="p">(</span><span class="n">g</span><span class="p">,</span><span class="n">s</span><span class="p">)</span> 507 </div> 508 <div class="viewcode-block" id="getgamFW"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getgamFW">[docs]</a><span class="k">def</span> <span class="nf">getgamFW</span><span class="p">(</span><span class="n">g</span><span class="p">,</span><span class="n">s</span><span class="p">):</span> 509 <span class="s">'needs a doc string'</span> 510 <span class="n">gamFW</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">s</span><span class="p">,</span><span class="n">g</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">s</span><span class="o">**</span><span class="mi">5</span><span class="o">+</span><span class="mf">2.69269</span><span class="o">*</span><span class="n">s</span><span class="o">**</span><span class="mi">4</span><span class="o">*</span><span class="n">g</span><span class="o">+</span><span class="mf">2.42843</span><span class="o">*</span><span class="n">s</span><span class="o">**</span><span class="mi">3</span><span class="o">*</span><span class="n">g</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="mf">4.47163</span><span class="o">*</span><span class="n">s</span><span class="o">**</span><span class="mi">2</span><span class="o">*</span><span class="n">g</span><span class="o">**</span><span class="mi">3</span><span class="o">+</span><span class="mf">0.07842</span><span class="o">*</span><span class="n">s</span><span class="o">*</span><span class="n">g</span><span class="o">**</span><span class="mi">4</span><span class="o">+</span><span class="n">g</span><span class="o">**</span><span class="mi">5</span><span class="p">)</span><span class="o">/</span><span class="mf">5.</span><span class="p">)</span> 511 <span class="k">return</span> <span class="n">gamFW</span><span class="p">(</span><span class="n">g</span><span class="p">,</span><span class="n">s</span><span class="p">)</span> 501 512 </div> 502 513 <div class="viewcode-block" id="getFCJVoigt"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getFCJVoigt">[docs]</a><span class="k">def</span> <span class="nf">getFCJVoigt</span><span class="p">(</span><span class="n">pos</span><span class="p">,</span><span class="n">intens</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">shl</span><span class="p">,</span><span class="n">xdata</span><span class="p">):</span> … … 535 546 <span class="k">break</span> 536 547 <span class="k">if</span> <span class="n">bakType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'chebyschev'</span><span class="p">,</span><span class="s">'cosine'</span><span class="p">]:</span> 537 <span class="k">for</span> <span class="n">iBak</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nBak</span><span class="p">):</span> 548 <span class="n">dt</span> <span class="o">=</span> <span class="n">xdata</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> 549 <span class="k">for</span> <span class="n">iBak</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nBak</span><span class="p">):</span> 538 550 <span class="n">key</span> <span class="o">=</span> <span class="n">pfx</span><span class="o">+</span><span class="s">'Back:'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">iBak</span><span class="p">)</span> 539 551 <span class="k">if</span> <span class="n">bakType</span> <span class="o">==</span> <span class="s">'chebyschev'</span><span class="p">:</span> 540 <span class="n">yb</span> <span class="o">+=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class=" n">xdata</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">**</span><span class="n">iBak</span>552 <span class="n">yb</span> <span class="o">+=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="p">(</span><span class="n">xdata</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">/</span><span class="n">dt</span><span class="o">-</span><span class="mf">1.</span><span class="p">)</span><span class="o">**</span><span class="n">iBak</span> 541 553 <span class="k">elif</span> <span class="n">bakType</span> <span class="o">==</span> <span class="s">'cosine'</span><span class="p">:</span> 542 554 <span class="n">yb</span> <span class="o">+=</span> <span class="n">parmDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">*</span><span class="n">npcosd</span><span class="p">(</span><span class="n">xdata</span><span class="o">*</span><span class="n">iBak</span><span class="p">)</span> … … 620 632 621 633 <span class="k">if</span> <span class="n">bakType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'chebyschev'</span><span class="p">,</span><span class="s">'cosine'</span><span class="p">]:</span> 634 <span class="n">dt</span> <span class="o">=</span> <span class="n">xdata</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> 622 635 <span class="k">for</span> <span class="n">iBak</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nBak</span><span class="p">):</span> 623 636 <span class="k">if</span> <span class="n">bakType</span> <span class="o">==</span> <span class="s">'chebyschev'</span><span class="p">:</span> 624 <span class="n">dydb</span><span class="p">[</span><span class="n">iBak</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class=" n">xdata</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">**</span><span class="n">iBak</span>637 <span class="n">dydb</span><span class="p">[</span><span class="n">iBak</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="p">(</span><span class="n">xdata</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">/</span><span class="n">dt</span><span class="o">-</span><span class="mf">1.</span><span class="p">)</span><span class="o">**</span><span class="n">iBak</span> 625 638 <span class="k">elif</span> <span class="n">bakType</span> <span class="o">==</span> <span class="s">'cosine'</span><span class="p">:</span> 626 639 <span class="n">dydb</span><span class="p">[</span><span class="n">iBak</span><span class="p">]</span> <span class="o">=</span> <span class="n">npcosd</span><span class="p">(</span><span class="n">xdata</span><span class="o">*</span><span class="n">iBak</span><span class="p">)</span>
Note: See TracChangeset
for help on using the changeset viewer.