fullprof精细中子和x射线粉末衍射数据的可视化

magnetmatter的Python项目详细描述


fullprof精细中子(dmc::sinq::psi)和x射线粉末衍射数据的材料科学研究可视化。 已读取fullprof.prf、.out和.pcr文件,有关信息:

  • 优化参数,
  • 相位,
  • 表观晶体尺寸,
  • 相分数

被硬编码在“yobs”、“ycal”和“yobs ycal”的图形旁边。 保存两张图像:

  • 用改进的参数增强截断图。
  • 完整的图表没有干扰。
  • 两个图都显示在倒数空间中。
https://github.com/pgarbus/magnetmatter/blob/master/magnetmatter/plot_prf_examples/8nm_plain.png?raw=truehttps://github.com/pgarbus/magnetmatter/blob/master/magnetmatter/plot_prf_examples/8nm.png?raw=true

请参阅HOW SHOULD FILES BE ORGANIZED部分,了解如何组织文件。显示的示例文件夹可以下载。

目录:

安装

此安装假定您可以访问python3(版本>;3.6)。 如果在ubuntu/mactos上,python 2.7将被预先安装。然后使用“python3”和“pip3”来达到所有目的。否则“python”和“pip”就足够了。在命令提示符或终端中键入“python–version”,检查python安装的版本。

安装之前,请尝试

$ pip search magnetmatter

你应该看到

  • “磁物质.?.?)-fullprof精细中子和x射线粉末衍射数据可视化“

现在继续安装

$ pip install magnetmatter

现在请耐心等待“magnetmatter”的安装。 由于依赖项(如

  • “numpy”、“pandas”、“matplotlib”

如果缺少,则安装。

如何使用

在终端中启动python或使用您喜欢的编辑器。然后键入

>>> import magnetmatter as mm

立即键入

>>> path = r"C:\give\a\valid\path\to\folder\with\datasubfolders\"  # Windows
>>> path = r"C:/give/a/valid/path/to/folder/with/datasubfolders/"  # Linux
>>> mm.plot_prf(path)

默认情况下printsize=“two_in_docx”和xlim=(2.8,3.6)。 xlim参数(倒数空间中的值)截断增强图。 默认打印尺寸约为8厘米(两个图适合于DOX文件)。 其他选项包括:

>>> mm.plot_prf(path, xlim = (2.8,3.6)) # default!
>>> mm.plot_prf(path, xlim = (1.0,2.0)) # show 1 to 2 invers Ã… in enhanced graph
>>> mm.plot_prf(path, xlim = None) # Enhanced graph is not truncated
>>> mm.plot_prf(path, printsize = "one_in_docx") # 15 cm wide
>>> mm.plot_prf(path, printsize = "two_in_ppt")  # 17 cm wide
>>> mm.plot_prf(path, printsize = "one_in_ppt")  # 32 cm wide

文件以.png格式保存在“path”文件夹中。

如何组织文件

脚本进入每个子文件夹并查找.out、.pcr和.prf文件。 如果没有找到这样的文件(或者确实找到了多个文件),脚本将跳过相应的文件夹。 注意“备份”文件夹不是必需的。我喜欢手头有一份未腐败的PCR。

下面的示例可以从here下载。

|./
|   CoKa_BB_ISx.irf
|   CoKa_PB_ISxmm.irf
|   17nm.png
|   8nm.png
|
|---17nm
|   |   size_bigger_10nm.dat
|   |   size_bigger_10nm.ras
|   |   size_bigger_10nm_Theta_2-Theta.asc
|   |   size_bigger_10nm_Theta_2-Theta.raw
|   |   _gFe2O3_Fe3O4_.out
|   |   _gFe2O3_Fe3O4_.pcr
|   |   _gFe2O3_Fe3O4_.prf
|   |   _gFe2O3_Fe3O4_.sum
|   |   _gFe2O3_Fe3O4_1.fst
|   |   _gFe2O3_Fe3O4_1.mic
|   |   _gFe2O3_Fe3O4_2.fst
|   |   _gFe2O3_Fe3O4_2.mic
|   |
|   `---backup
|           _gFe2O3_Fe3O4_.pcr
|
`---8nm
    |   size_smaller_10nm.dat
    |   size_smaller_10nm.ras
    |   size_smaller_10nm_Theta_2-Theta.asc
    |   size_smaller_10nm_Theta_2-Theta.raw
    |   _gFe2O3_Fe3O4_.out
    |   _gFe2O3_Fe3O4_.pcr
    |   _gFe2O3_Fe3O4_.prf
    |   _gFe2O3_Fe3O4_.sum
    |   _gFe2O3_Fe3O4_1.fst
    |   _gFe2O3_Fe3O4_1.mic
    |   _gFe2O3_Fe3O4_2.fst
    |   _gFe2O3_Fe3O4_2.mic
    |
    `---backup
            _gFe2O3_Fe3O4_.pcr

PCR文件的新格式

新的fullprof.pcr格式是预期的。 使用fullprof工具栏确保您具有此格式:

  • 单击“edpcr”
  • 单击“输出”
  • 松开“PCR中单个模式的经典输出格式”。

phasename的乳胶格式

下面是一个来自.pcr文件的阶段示例。注意,phasename由“$gamma$-fe$2$o$3$”给出。 dollarsigns表示应该对包含from dollarsigns的字符使用乳胶格式。

!-------------------------------------------------------------------------------
!  Data for PHASE number:   1  ==> Current R_Bragg for Pattern#  1:     3.75
!-------------------------------------------------------------------------------
$\gamma$-Fe$_2$O$_3$
!
!Nat Dis Ang Jbt Isy Str Furth        ATZ     Nvk More
  8   0   0   0   0   0   0       1703.3091   0   0
!Contributions (0/1) of this phase to the  1 patterns
1
!Irf Npr Jtyp  Nsp_Ref Ph_Shift for Pattern#  1
  0   7    0      0      0
! Pr1    Pr2    Pr3   Brind.   Rmua   Rmub   Rmuc     for Pattern#  1
 0.000  0.000  1.000  1.000  0.000  0.000  0.000
!
!
P 43 21 2                <--Space group symbol
!Atom   Typ       X        Y        Z     Biso       Occ     In Fin N_t Spc /Codes
Fe1    Fe      0.74400  0.99600  0.12000  0.10000   1.00000   0   0   0    0
      0.00       0.00     0.00     0.00     0.00
Fe2    Fe      0.62000  0.62000  0.00000  0.10000   0.50000   0   0   0    0
      0.00       0.00     0.00     0.00     0.00
Fe3    Fe      0.36400  0.86700 -0.01600  0.10000   1.00000   0   0   0    0
      0.00       0.00     0.00     0.00     0.00
Fe4    Fe      0.14000  0.14000  0.00000  0.10000   0.16650   0   0   0    0
      0.00       0.00     0.00     0.00     0.00
O1     O       0.61500  0.86900 -0.01400  0.10000   1.00000   0   0   0    0
      0.00       0.00     0.00     0.00     0.00
O2     O       0.11900  0.37700 -0.00500  0.10000   1.00000   0   0   0    0
      0.00       0.00     0.00     0.00     0.00
O3     O       0.13700  0.86100  0.00700  0.10000   1.00000   0   0   0    0
      0.00       0.00     0.00     0.00     0.00
O4     O       0.38300  0.63100 -0.00300  0.10000   1.00000   0   0   0    0
      0.00       0.00     0.00     0.00     0.00
!-------> Profile Parameters for Pattern #  1
!  Scale        Shape1      Bov      Str1      Str2      Str3   Strain-Model
  0.90441E-03   0.00000   2.25111   0.00000   0.00000   0.00000       0
  111.00000     0.000   151.000     0.000     0.000     0.000
!       U         V          W           X          Y        GauSiz   LorSiz Size-Model
  0.000000   0.000000   0.000000   0.00000     0.380097    0.00000   0.0000     0
  0.000000   0.000000   0.000000   0.00000   131.000       0.00000   0.0000
!     a          b         c        alpha      beta       gamma      #Cell Info
  8.362284   8.362284   8.319425  90.000000  90.000000  90.000000
  11.00000   11.00000   61.00000    0.00000    0.00000    0.00000
!  Pref1    Pref2      Asy1     Asy2     Asy3     Asy4      S_L      D_L
  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.02957  0.02957
  0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00

存储库

源代码和示例可以在GitHub找到。

待办事项

  • 如果打印失败,请打印.dat/.xye文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java New Relic cpu使用情况Heroku应用程序   数学为什么在Java中,两个相同的数字以略微不同的形式书写会产生两种不同的结果   java如何用不同的宽度在彼此内部绘制圆?   键入数组时for循环和for each循环之间的java差异   java选定菜单文本颜色   java CollappingToolbarLayout EnterAlways Collapsed不起作用   java字符串处理中间3个字母   用于生成XML签名的每个元素上的java SOAP头xmlns:ds   java写入文件/大量字节失败   java以编程方式读取队列的参数   java如何使用webdriver在弹出消息中选择元素?   java Json数组对象通过控制器[Spring Boot]传递到模型   java如何创建应用程序。生成EAR文件时代码中的xml?   java我尝试将一些值设置为整数数组,但这些值不会保持不变   java Android Studio:缺少SDK   如何使用java在RESTWeb服务中下载不同类型的文件   Java堆与平衡树   java需要一种在扫雷游戏中随机放置地雷的方法的帮助   java如何在适配器类外部更新RecyclerView适配器