基于ED的开源工具包,用于模拟RIXS光谱
项目描述
基于精确对角化(ED)的强关联材料RIXS光谱模拟的开源工具包。它作为布鲁克海文国家实验室计算材料光谱与设计中心COMSCOPE项目的一部分开发而成。COMSCOPE项目
免费软件:GNU通用公共许可证版本3
启动一个MyBinder会话来尝试代码。
特性
ED求解器
XAS光谱
RIXS光谱
如何引用
如果您使用EDRIXS代码进行了一些研究并希望发表您的大作,如果您能引用以下论文,我们将不胜感激:
EDRIXS:共振非弹性X射线散射光谱的开源工具包,王怡琳,法布里,迪恩和科蒂亚尔,《计算机物理通讯》,243,151(2019),https://doi.org/10.1016/j.cpc.2019.04.018,arXiv:1812.05735。
通过Anaconda安装(目前仅限Linux)
$ conda create --name edrixs_env python=3.7 $ conda activate edrixs_env $ conda install -c conda-forge edrixs
在docker中运行edrixs
为了让生活更轻松,我们基于Ubuntu Linux(18.04)为edrixs构建了一个docker镜像,因此您无需再为安装而烦恼。该docker镜像可以在任何安装了docker应用程序的操作系统上使用。按照以下步骤使用docker镜像
一旦docker运行起来,在您的宿主操作系统上创建一个存储数据的目录,然后启动一个容器来运行edrixs
$ mkdir /dir/on/your/host/os # A directory on your host OS $ docker pull edrixs/edrixs # pull latest version $ docker run -it -p 8888:8888 -u rixs -w /home/rixs -v /dir/on/your/host/os:/home/rixs/data edrixs/edrixs
第一次从Docker Hub拉取镜像可能需要一些时间,而下次则可以非常快地启动本地的镜像。
-p 8888:8888将容器的8888端口映射到宿主的8888端口。
-u rix意味着使用默认用户rixs登录Ubuntu Linux,密码是rixs。
-v /dir/on/your/host/os:/home/rixs/dat意味着将从宿主操作系统中的/dir/on/your/host/os目录挂载到容器中Ubuntu Linux的/home/rixs/data目录。
启动容器后,您将在/home/rixs目录下看到data和edrixs_examples。如果您想将edrixs计算的数据保存到宿主系统,您需要在工作在/home/rixs/data目录中。
$ cd /home/rixs/data $ cp -r ../edrixs_examples . $ Play with edrixs ...
请注意,当此容器停止时,除/home/rixs/data之外的任何更改都将丢失。您只能使用宿主操作系统来制作交互式绘图。如果需要,请使用sudo apt-get install安装软件。
在容器中输入exit退出。您可以通过以下方式删除所有已停止的容器
$ docker rm $(docker ps -a -q)
您可以通过以下方式删除edrixs镜像
$ docker rmi edrixs/edrixs
从源码安装
所需工具和库
Fortran编译器:支持gfortran和ifort
MPI环境:已测试openmpi和mpich
mpif90(与gfortran或ifort绑定)和mpicc(与gcc绑定)
Python3
BLAS和LAPACK:gfortran+OpenBLAS或ifort+MKL
arpack-ng(启用MPI)
Numpy
Scipy
Sympy
Matplotlib
mpi4py
Sphinx
Numpydoc
请确保使用相同的(MPI)Fortran编译器编译OpenBLAS、arpack-ng、mpi4py和edrixs。
安装edrixs的Fortran部分
$ cd src $ make F90=mpif90 LIBS="-L/usr/local/lib -lopenblas -lparpack -larpack" $ make install
在这里,您可能需要根据您的具体环境更改 F90 和 LIBS。使用 gfortran 与 MKL 时会遇到问题,因此我们建议使用 gfortran+OpenBLAS 或 ifort+MKL。将生成 libedrixsfortran.a,该文件将在构建 Python 接口时使用。可执行文件 .x 将安装到 edrixs/bin 目录,并在 .bashrc 或 .bash_profile 文件中添加以下行:
export PATH=/root_dir_of_edrixs/edrixs/bin:$PATH
安装 edrixs 的 Python 部分
请确保首先在 src 中创建 libedrixsfortran.a。
$ python setup.py config_fc --f77exec=mpif90 --f90exec=mpif90 build_ext \ --libraries=openblas,parpack,arpack --library-dirs=/usr/lib:/usr/local/lib:/opt/local/lib \ --link-objects=./src/libedrixsfortran.a $ pip install .
其中,--library-dirs 是搜索 --libraries 的路径,请根据您的环境设置。
有关安装的更多详细信息,请参阅我们的在线文档。
项目详情
edrixs-0.0.8.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 121cfb171423087013156390bd2b7187a046091fbeb7985099f48ebd74b6e69e |
|
MD5 | 900430b5d3aef3228c8b1fab1cf3cc9b |
|
BLAKE2b-256 | 2a6c4d3a712fc014fef5027d62a41331414bb49e1c578ce63733b2d620014ced |