高效配置空间采样器
项目描述
HECSS
高效配置空间采样器
HECSS是一个基于Metropolis-Hastings算法的概率分布采样配置空间采样器的马尔可夫链蒙特卡罗方法。它提供了一种创建热力学平衡系统表示的替代方法,而无需运行成本高昂的分子动力学模拟。代码的理论基础在SciPost Phys. 10, 129 (2021)中介绍(在文档的背景中有简短摘要)。更详细的示例包括在LAMMPS和VASP教程中。
如果您在发表的科研中使用此软件,请在您的出版物中引用上述论文(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)
安装
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
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪一个,请了解更多关于安装软件包的信息。