Package: edrixs
An open source toolkit for simulating RIXS spectra based on exact diagonalization (ED) for strongly correlated materials.It is developedas part ofCOMSCOPE projectin the Center for Computational Material Spectroscopy and Design, Brookhaven National LaboratoryFree software: GNU General Public License Version 3Documentation:https://nsls-ii.github.io/edrixs.Launch aMyBinder Sessionto try the code.FeaturesED solverXAS spectraRIXS spectraHow to citeIf 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 inelasticx-rayscattering, Y.L. Wang, G. Fabbris, M.P.M. Dean and G. Kotliar,Computer Physics Communications,243, 151 (2019),arXiv:1812.05735.Install via Anaconda (only Linux now)$condacreate--nameedrixs_envpython=3.7$condaactivateedrixs_env$condainstall-cconda-forgeedrixsRun edrixs in dockerTo 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 thedockerapplication are available.
Follow these steps to use the docker image:Install thedockerapplication on your system andlearn 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$dockerpulledrixs/edrixs# pull latest version$dockerrun-it-p8888:8888-urixs-w/home/rixs-v/dir/on/your/host/os:/home/rixs/dataedrixs/edrixsit will take a while to pull the image fromDocker Hubfor the first time, while, it will launch the local one very fast at the next time.-p8888:8888maps container’s port 8888 to host port 8888.-urixmeans using a default userrixsto login the Ubuntu Linux, the password isrixs.-v/dir/on/your/host/os:/home/rixs/datmeans mounting the directory/dir/on/your/host/osfrom your host OS to/home/rixs/dataon the Ubuntu Linux in the container.After launching the container, you will seedataandedrixs_examplesin/home/rixsdirectory. If you want to save the data from edrixs calculations to your host system, you need to work in/home/rixs/datadirectory.$cd/home/rixs/data$cp-r../edrixs_examples.$Playwithedrixs...Note that any changes outside/home/rixs/datawill be lost when this container stops. You can only use your host OS to make interactive plots. Usesudoapt-getinstallto install softwares if they are needed.Typeexitin the container to exit. You can delete all the stopped containers by$dockerrm$(dockerps-a-q)You can delete the edrixs image by$dockerrmiedrixs/edrixsInstall from sourceRequired tools and librariesFortran compiler: gfortran and ifort are supportedMPI environment: openmpi and mpich are testedmpif90 (binding with gfortran or ifort) and mpicc (binding with gcc)Python3BLAS and LAPACK: gfortran+OpenBLAS or ifort+MKLarpack-ng (with mpi enabled)NumpyScipySympyMatplotlibmpi4pySphinxNumpydocBe sure to compile OpenBLAS, arpack-ng, mpi4py and edrixs with the same (MPI) Fortran compiler.Install Fortran parts of edrixs$cdsrc$makeF90=mpif90LIBS="-L/usr/local/lib -lopenblas -lparpack -larpack"$makeinstallwhere, you may need to changeF90andLIBSaccording to your specific environment. There will be problems when using gfortran with MKL, so we recommendgfortran+OpenBLASorifort+MKL.libedrixsfortran.awill be generated, which will be used when building python interface. The executable.xfiles will be installed inedrixs/bindirectory and add the following line in.bashrcor.bash_profilefile,exportPATH=/root_dir_of_edrixs/edrixs/bin:$PATHInstall Python parts of edrixsBe sure to first makelibedrixsfortran.ain src.$pythonsetup.pyconfig_fc--f77exec=mpif90--f90exec=mpif90build_ext\--libraries=openblas,parpack,arpack--library-dirs=/usr/lib:/usr/local/lib:/opt/local/lib\--link-objects=./src/libedrixsfortran.a$pipinstall.where,--library-dirsares the paths to search--libraries, please set it according to your environments.Please see ouronline documentationfor more details of installation.