跳转到主要内容

高效配置空间采样器

项目描述

HECSS

高效配置空间采样器

PVersion Badge PDownloads Badge CVersion Badge Downloads Badge License Badge

HECSS是一个基于Metropolis-Hastings算法的概率分布采样配置空间采样器的马尔可夫链蒙特卡罗方法。它提供了一种创建热力学平衡系统表示的替代方法,而无需运行成本高昂的分子动力学模拟。代码的理论基础在SciPost Phys. 10, 129 (2021)中介绍(在文档背景中有简短摘要)。更详细的示例包括在LAMMPSVASP教程中。

如果您在发表的科研中使用此软件,请在您的出版物中引用上述论文(BibTeX)。

一个非常简短的例子

使用asap3包中的LAMMPS势和OpenKIM数据库的最小示例。在这里,我们将对300K的3C-SiC晶体进行热力学分布采样。我们首先导入所需的模块,定义晶体和能量/力计算器,运行采样器,最后绘制能量分布图。

#asap
from ase.build import bulk
import asap3
from hecss.core import HECSS, select_asap_model
from hecss.monitor import plot_stats

然后我们定义在计算中使用的晶体和相互作用模型。在这种情况下,我们使用SiC晶体在闪锌矿结构中的3x3x3超胞,并使用来自OpenKIM数据库的LAMMPS势和计算器的ASAP3实现来描述相互作用。

#asap
# model = 'Tersoff_LAMMPS_ErhartAlbe_2005_SiC__MO_903987585848_003'
model = select_asap_model('SiC')
cryst = bulk('SiC', crystalstructure='zincblende', a=4.38120844, cubic=True).repeat((3,3,3))
cryst.set_calculator(asap3.OpenKIMcalculator(model))

然后我们定义采样器参数(N -- 样本数量,T -- 温度)并运行它。

#asap
T = 300
N = 1_000
samples = HECSS(cryst, asap3.OpenKIMcalculator(model), T).generate(N)

最后,我们绘制结果能量分布的直方图,它对应于热平衡分布。

#asap
plot_stats(samples, T)

png

安装

HECSS软件包可在pypi和conda-forge上找到,此外,该软件包还存在于我的个人anaconda频道(jochym)中。安装简单,但需要安装其他一些软件包。软件包管理器会自动处理这些依赖关系。

使用pip安装

建议在专用虚拟环境中进行安装,例如。

python3 -m venv venv
. venv/bin/activate

然后使用pip进行安装

pip install hecss

使用conda安装

使用conda进行的安装也应针对专用或某些其他非基本环境执行。要创建专用环境,您可以调用conda create

conda create -n hecss -c conda-forge hecss

或者您可以在某个工作环境中安装venv

conda install -n venv -c conda-forge hecss

示例数据存档

示例子目录可以从源存储库直接下载:hecss-examples.zip

源代码

源代码发布在Gitlab hecss存储库中。您可以使用git访问它(推荐,尤其是如果您想为开发做出贡献)

git clone https://gitlab.com/jochym/hecss.git

或者您可以将整个发行版作为zip存档下载:hecss.zip

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪一个,请了解更多关于安装软件包的信息。

源分布

hecss-0.5.0.2.tar.gz (34.5 kB 查看散列值)

上传时间:

构建分布

hecss-0.5.0.2-py3-none-any.whl (32.7 kB 查看散列值)

上传时间: Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面