Changeset 1998 for sphinxdocs/build/html/_modules/G2phase_CIF.html
- Timestamp:
- Oct 10, 2015 9:59:34 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sphinxdocs/build/html/_modules/G2phase_CIF.html
r1832 r1998 51 51 <span class="c"># -*- coding: utf-8 -*-</span> 52 52 <span class="c">########### SVN repository information ###################</span> 53 <span class="c"># $Date: 2015- 03-25 15:42:15 -0500 (Wed, 25 Mar2015) $</span>54 <span class="c"># $Author: vondreele$</span>55 <span class="c"># $Revision: 1 762$</span>53 <span class="c"># $Date: 2015-10-05 14:05:04 -0500 (Mon, 05 Oct 2015) $</span> 54 <span class="c"># $Author: toby $</span> 55 <span class="c"># $Revision: 1985 $</span> 56 56 <span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/imports/G2phase_CIF.py $</span> 57 <span class="c"># $Id: G2phase_CIF.py 1 762 2015-03-25 20:42:15Z vondreele$</span>57 <span class="c"># $Id: G2phase_CIF.py 1985 2015-10-05 19:05:04Z toby $</span> 58 58 <span class="c">########### SVN repository information ###################</span> 59 59 <span class="sd">'''</span> … … 80 80 <span class="kn">import</span> <span class="nn">GSASIIpy3</span> <span class="kn">as</span> <span class="nn">G2p3</span> 81 81 <span class="kn">import</span> <span class="nn">GSASIIpath</span> 82 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">"$Revision: 1 762$"</span><span class="p">)</span>82 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">"$Revision: 1985 $"</span><span class="p">)</span> 83 83 <span class="kn">import</span> <span class="nn">CifFile</span> <span class="kn">as</span> <span class="nn">cif</span> <span class="c"># PyCifRW from James Hester</span> 84 84 … … 224 224 <span class="n">atomkeys</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">atomloop</span><span class="o">.</span><span class="n">keys</span><span class="p">()]</span> 225 225 <span class="k">if</span> <span class="ow">not</span> <span class="n">blk</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'_atom_site_type_symbol'</span><span class="p">):</span> 226 <span class="bp">self</span><span class="o">.</span><span class="n">isodistort_warnings</span> <span class="o">+=</span> <span class="s">'</span><span class="se">\n</span><span class="s"> lack of atom types prevents ISODISTORT processing'</span>226 <span class="bp">self</span><span class="o">.</span><span class="n">isodistort_warnings</span> <span class="o">+=</span> <span class="s">'</span><span class="se">\n</span><span class="s">atom types are missing. </span><span class="se">\n</span><span class="s"> Check & revise atom types as needed'</span> 227 227 <span class="k">if</span> <span class="n">blk</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'_atom_site_aniso_label'</span><span class="p">):</span> 228 228 <span class="n">anisoloop</span> <span class="o">=</span> <span class="n">blk</span><span class="o">.</span><span class="n">GetLoop</span><span class="p">(</span><span class="s">'_atom_site_aniso_label'</span><span class="p">)</span> 229 229 <span class="n">anisokeys</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">anisoloop</span><span class="o">.</span><span class="n">keys</span><span class="p">()]</span> 230 <span class="n">anisolabels</span> <span class="o">=</span> <span class="n">blk</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'_atom_site_aniso_label'</span><span class="p">)</span> 230 231 <span class="k">else</span><span class="p">:</span> 231 232 <span class="n">anisoloop</span> <span class="o">=</span> <span class="bp">None</span> 232 233 <span class="n">anisokeys</span> <span class="o">=</span> <span class="p">[]</span> 234 <span class="n">anisolabels</span> <span class="o">=</span> <span class="p">[]</span> 233 235 <span class="bp">self</span><span class="o">.</span><span class="n">Phase</span><span class="p">[</span><span class="s">'Atoms'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span> 234 236 <span class="n">G2AtomDict</span> <span class="o">=</span> <span class="p">{</span> <span class="s">'_atom_site_type_symbol'</span> <span class="p">:</span> <span class="mi">1</span><span class="p">,</span> … … 254 256 <span class="k">if</span> <span class="n">col</span> <span class="o">>=</span> <span class="mi">3</span><span class="p">:</span> 255 257 <span class="n">atomlist</span><span class="p">[</span><span class="n">col</span><span class="p">]</span> <span class="o">=</span> <span class="n">cif</span><span class="o">.</span><span class="n">get_number_with_esd</span><span class="p">(</span><span class="n">val</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 258 <span class="k">if</span> <span class="n">col</span> <span class="o">>=</span> <span class="mi">11</span><span class="p">:</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">=</span> <span class="s">'A'</span> <span class="c"># if any Aniso term is defined, set flag</span> 256 259 <span class="k">elif</span> <span class="n">col</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> 257 260 <span class="n">atomlist</span><span class="p">[</span><span class="n">col</span><span class="p">]</span> <span class="o">=</span> <span class="n">val</span> … … 261 264 <span class="n">atomlist</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">=</span> <span class="s">'A'</span> 262 265 <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">'_atom_site_u_iso_or_equiv'</span><span class="p">:</span> 263 <span class="n">atomlist</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span> <span class="o">=</span><span class="n">cif</span><span class="o">.</span><span class="n">get_number_with_esd</span><span class="p">(</span><span class="n">val</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 266 <span class="n">uisoval</span> <span class="o">=</span><span class="n">cif</span><span class="o">.</span><span class="n">get_number_with_esd</span><span class="p">(</span><span class="n">val</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 267 <span class="k">if</span> <span class="n">uisoval</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span> <span class="o">=</span> <span class="n">uisoval</span> 264 268 <span class="k">if</span> <span class="ow">not</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span> 265 <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">):</span> 266 <span class="n">typ</span> <span class="o">=</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()[:</span><span class="n">i</span><span class="p">]</span> 267 <span class="k">if</span> <span class="n">G2elem</span><span class="o">.</span><span class="n">CheckElement</span><span class="p">(</span><span class="n">typ</span><span class="p">):</span> 268 <span class="n">atomlist</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">typ</span> 269 <span class="k">if</span> <span class="ow">not</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">'Xe'</span> 270 <span class="n">ulbl</span> <span class="o">=</span> <span class="s">'_atom_site_aniso_label'</span> 271 <span class="k">if</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">==</span> <span class="s">'A'</span> <span class="ow">and</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">in</span> <span class="n">blk</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">ulbl</span><span class="p">):</span> 272 <span class="k">for</span> <span class="n">val</span><span class="p">,</span><span class="n">key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">anisoloop</span><span class="o">.</span><span class="n">GetKeyedPacket</span><span class="p">(</span><span class="n">ulbl</span><span class="p">,</span><span class="n">atomlist</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> 273 <span class="n">anisokeys</span><span class="p">):</span> 269 <span class="n">typ</span> <span class="o">=</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s">'0123456789-+'</span><span class="p">)</span> 270 <span class="k">if</span> <span class="n">G2elem</span><span class="o">.</span><span class="n">CheckElement</span><span class="p">(</span><span class="n">typ</span><span class="p">):</span> 271 <span class="n">atomlist</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">typ</span> 272 <span class="k">if</span> <span class="ow">not</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> 273 <span class="n">atomlist</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">'Xe'</span> 274 <span class="bp">self</span><span class="o">.</span><span class="n">warnings</span> <span class="o">+=</span> <span class="s">' Atom type '</span><span class="o">+</span><span class="n">typ</span><span class="o">+</span><span class="s">' not recognized; Xe assumed</span><span class="se">\n</span><span class="s">'</span> 275 <span class="k">if</span> <span class="n">atomlist</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">in</span> <span class="n">anisolabels</span><span class="p">:</span> <span class="c"># does this atom have aniso values in separate loop?</span> 276 <span class="n">atomlist</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> <span class="o">=</span> <span class="s">'A'</span> <span class="c"># set the aniso flag</span> 277 <span class="k">for</span> <span class="n">val</span><span class="p">,</span><span class="n">key</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span> <span class="c"># load the values</span> 278 <span class="n">anisoloop</span><span class="o">.</span><span class="n">GetKeyedPacket</span><span class="p">(</span><span class="s">'_atom_site_aniso_label'</span><span class="p">,</span><span class="n">atomlist</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> 279 <span class="n">anisokeys</span><span class="p">):</span> 274 280 <span class="n">col</span> <span class="o">=</span> <span class="n">G2AtomDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> 275 281 <span class="k">if</span> <span class="n">col</span><span class="p">:</span>
Note: See TracChangeset
for help on using the changeset viewer.