电子能带结构重构与参数化的集成计算框架

fuller的Python项目详细描述


富勒

License

基于概率机器学习的电子带结构重构和参数化综合计算框架

简介

这个Python包包含一组工具,用于根据光电发射光谱数据重建和参数化电子带结构(EBS)。它实现了中介绍的马尔可夫随机场模型 Xian & Stimper et al. (2020)在TensorFlow中。在

安装方法

最新版本的软件包可以通过pip安装

pip install --upgrade git+https://github.com/mpes-kit/fuller.git

或者,下载存储库并运行

^{pr2}$

直接从PyPI安装

pip install fuller

要求

除了requirements.txt文件中指定的包之外,tensorflow是必需的。安装说明可以在official webpage找到。该软件包只与CPU和GPU支持的框架版本一起工作。目前,仅支持TensorFlow1(1.14以后的版本),但我们正在努力将其移植到TensorFlow2。在

示例数据集

作为证明方法有效性的模型系统,我们研究了半导体二硒化钨(WSe2)的三维光电发射数据。它解决了沿x轴和y轴的动量(kx和ky)和能量。在

重建

WSe2的14个价带在数据集中都是可见的。用HSE06混合交换相关函数进行DFT计算。结果如下图所示。在

Valence bands of tungsten diselenide reconstructed using MRF model

文件

提供完整的API文档here。在

预处理和重建

等级MrfRec

MrfRec类对于重建和预处理数据是非常重要的。要重建EBS,请创建一个MrfRec对象,并使用其方法执行算法并绘制结果。这里,我们列出了类中最重要的方法。有关如何使用该类的进一步说明,请查看示例文件夹中的mpes_reconstruction_mrf.ipynb笔记本。在

初始化
def__init__(E,kx=None,ky=None,I=None,E0=None,eta=0.1,includeCurv=False,etaCurv=0.1):...
  • E:能量为1D numpy数组
  • kx:沿x轴的动量为1D numpy数组,如果None设置为0
  • ky:沿y轴的动量为1D numpy数组,如果None设置为0
  • I:根据动量(行)和能量(列)测量的强度,如果None生成
  • E0:如果NoneE的中位数,则带结构能量值的初始猜测
  • eta:相邻相互作用项的标准差
  • includeCurv:标志,如果在优化过程中包含真曲率项
  • etaCurv:曲率项的标准偏差
iter_段落
defiter_para(num_epoch=1,updateLogP=False,use_gpu=True,disable_tqdm=False,graph_reset=False):...

因此,马尔可夫随机场模型的并行优化可以用来重构电子器件 乐队。在

  • num_epoch:要执行的时段数
  • updateLogP:标志,如果真logP每半个epoch更新一次(需要更多的计算)
  • use_gpu:标志,如果真gpu用于计算(如果可用)
  • disable_tqdm:标志,优化过程中不显示进度条
  • graph_reset:标志,如果真张量流图在计算后被重置以减少内存需求
正常化
defnormalizeI(kernel_size=None,n_bins=128,clip_limit=0.01,use_gpu=True,threshold=1e-6):...

它执行多维对比度限制自适应直方图均衡化(MCLAHE),在Stimper et al. 2019中介绍。该方法是TensorFlow implementation of the ^{} function的包装器。在

  • kernel_size:内核大小的元组,维数为x的1/8如果None
  • n_bins:直方图中要使用的存储单元数
  • clip_limit:直方图均衡化中要忽略的相对强度限制
  • use_gpu:标志,如果真gpu用于计算(如果可用)
  • threshold:低于该阈值的强度值设置为零

引文

如果您在自己的项目中使用此包,请引用为

R. P. Xian, V. Stimper, M. Zacharias, S. Dong, M. Dendzik, S. Beaulieu, B. Schölkopf, M. Wolf, L. Rettig, C. Carbogno, S. Bauer, and R. Ernstorfer, "A machine learning route between band mapping and band structure," arXiv:2005.10210, 2020.

Bibtex代码

@article{Xian2020,
    author={R. P. Xian and V. Stimper and M. Zacharias and S. Dong and M. Dendzik and S. Beaulieu and
            B. Schölkopf and M. Wolf and L. Rettig and C. Carbogno and S. Bauer and R. Ernstorfer},
    journal={arXiv:2005.10210},
    title={A machine learning route between band mapping and band structure},
    year={2020},
}

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

推荐PyPI第三方库


热门话题
java SimpleFramework和工厂方法   Java适当地处理异常   java单例类不起作用   java小程序和Swing在eclipse中不显示组件   多个键上的java Redisson FastRemove不起作用   java验证请求正文不等于模式   在Java中从URL读取数据   eche RecyclerView项的java Set自定义字体   string Java如何从Date获取HH:mm:ss   当Java应用程序落后于负载均衡器时,在某些URL上强制使用SSL   使用esapi时发生java错误   java使用流根据第二个列表中的值更新一个列表中的对象   组织。openqa。硒。Java中的NoTouchElementException WebDriver?   从JSON字符串Java创建CSV文件