An open source toolkit for simulating RIXS spectra based on ED
Project description
An open source toolkit for simulating RIXS spectra based on exact diagonalization (ED) for strongly correlated materials. It is developed as part of COMSCOPE project in the Center for Computational Material Spectroscopy and Design, Brookhaven National Laboratory
Free software: GNU General Public License Version 3
Documentation: https://nsls-ii.github.io/edrixs.
Launch a MyBinder Session to try the code.
Features
ED solver
XAS spectra
RIXS spectra
How to cite
If you are using the EDRIXS code to do some studies and would like to publish your great works, it would be really appreciated if you can cite the following paper:
EDRIXS: An open source toolkit for simulating spectra of resonant inelastic x-ray scattering, Y.L. Wang, G. Fabbris, M.P.M. Dean and G. Kotliar, Computer Physics Communications,243, 151 (2019), arXiv:1812.05735.
Install via Anaconda for Linux and macOS
$ conda create --name edrixs_env python=3.7 $ conda activate edrixs_env $ conda install -c conda-forge edrixs
Run edrixs in docker
To make life easier, we have built a docker image based on Ubuntu Linux (18.04) for edrixs, so you don’t need to struggle with the installation anymore. The docker image can be used on any OS as long as the docker application are available. Follow these steps to use the docker image:
Install the docker application on your system and learn how to use it.
Once the docker is running, create a directory to store data in your host OS and launch a container to run 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
it will take a while to pull the image from Docker Hub for the first time, while, it will launch the local one very fast at the next time.
-p 8888:8888 maps container’s port 8888 to host port 8888.
-u rix means using a default user rixs to login the Ubuntu Linux, the password is rixs.
-v /dir/on/your/host/os:/home/rixs/dat means mounting the directory /dir/on/your/host/os from your host OS to /home/rixs/data on the Ubuntu Linux in the container.
After launching the container, you will see data and edrixs_examples in /home/rixs directory. If you want to save the data from edrixs calculations to your host system, you need to work in /home/rixs/data directory.
$ cd /home/rixs/data $ cp -r ../edrixs_examples . $ Play with edrixs ...
Note that any changes outside /home/rixs/data will be lost when this container stops. You can only use your host OS to make interactive plots. Use sudo apt-get install to install softwares if they are needed.
Type exit in the container to exit. You can delete all the stopped containers by
$ docker rm $(docker ps -a -q)
You can delete the edrixs image by
$ docker rmi edrixs/edrixs
Install from source
Required tools and libraries
Fortran compiler: gfortran and ifort are supported
MPI environment: openmpi and mpich are tested
mpif90 (binding with gfortran or ifort) and mpicc (binding with gcc)
Python3
BLAS and LAPACK: gfortran+OpenBLAS or ifort+MKL
arpack-ng (with mpi enabled)
Numpy
Scipy
Sympy
Matplotlib
mpi4py
Sphinx
Numpydoc
Be sure to compile OpenBLAS, arpack-ng, mpi4py and edrixs with the same (MPI) Fortran compiler.
Install edrixs
$ pip install -v .
There will be problems when using gfortran with MKL, so we recommend gfortran+OpenBLAS or ifort+MKL. The executable .x files will be installed in the bin directory of the active python environment. The fortran library and compiled python extension are built using cmake which can be configured by setting the CMAKE_CONFIGURE_ARGS environment variable.
Please see our online documentation for more details of installation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for edrixs-0.1.0a1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 734099b8d355c71ce9d9d6e2bfef7d7b6e061409658e4f1d97df76b296acfac3 |
|
MD5 | 59835098be13407b6037c0ee0ed86929 |
|
BLAKE2b-256 | 550ebb68e5b5470e74ab469f03bb10f9475c85521f309c64696fa52e796721d9 |