Installation of CyGutz¶
Prerequisites¶
CyGutz consists of programs, executables, and scripts, written in Fortran90, c (c++) and Python2.7. Before you start the installation, you must make sure that the following packages are installed in your system.
- Linux
- Fortran, C, CXX compiler and blas/lapack library.
The following have been tested.
- ifort, icc, icpc, and mkl (recommended)
- gcc, g++, gfortran >= 4.8 and openblas.
- MPI
- Intel MPI, (mpiifort, mpiicc, mpiicpc, mpirun, etc. Check https://software.intel.com/en-us/qualify-for-free-software)
- open MPI (mpif90, mpicc, mpicxx, mpirun, etc. Check https://www.open-mpi.org/)
- HDF5 library (sequential version, compiled using the same Fortran90 compiler with flags enable-fortran and enable-fortran2003. To configure, using line like ./configure –prefix=prefix CC=icc FC=ifort CXX=icpc –enable-fortran –enable-fortran2003. Check for details at https://www.hdfgroup.org/HDF5/release/obtain5.html)
- python = 2.7
- future >= 0.16.0
- numpy >= 1.5.0
- scipy >= 0.9.0
- h5py >= 2.5.0
- matplotlib >= 1.4.3
- ase >= 3.3.1 (https://wiki.fysik.dtu.dk/ase/install.html)
- pyspglib >= 1.7.2 (https://atztogo.github.io/spglib/python-spglib.html#python-spglib)
- pymatgen >= 3.3.5 (http://pymatgen.org/#guided-install)
A very convenient way to install python and the related packages is Anaconda (https://www.continuum.io/downloads).
Build and install¶
The compilation ans installation consist of three simple steps:
Download CyGutz here at https://github.com/yaoyongxin/CyGutz, unzip it and cd to that directory (
CyGutz-master
). You may simply type:$ wget https://codeload.github.com/yaoyongxin/CyGutz/zip/master $ unzip master $ cd CyGutz-master
Choose a
Makefile.in
file in directorytemplate_makefile.in
. Check and make sure the path to compilers, their options, and libraries are correctly. For example, you may type:$ cp template_makefile.in/Makefile.in.intelmpi_ifort_hal2011 Makefile.in $ vi ./Makefile.in
Run the following command at the top directory to install it:
$ # Optional, clean any previous installation. $ make clean && make clean_bin $ ./install.sh $ # Get the environment variable ${WIEN_GUTZ_ROOT2} $ # for the first-time installation. $ source ~/.bashrc
Explanations on the scripts and Makefile.in¶
- By default,
${WIEN_GUTZ_ROOT2}=${HOME}/WIEN_GUTZ/bin2
will be set in your .bashrc file. - Key executables, such as
CyGutz
,exe_spci
, and python scripts are located at${WIEN_GUTZ_ROOT2}
. - In
Makefile.in
file:- Use sequential version of mkl, so set
MKL_LIB = -mkl=sequential
inMakefile.in
. - The base path of the hdf5 library has to be set correctly.
For instance,
HDF5_BASE = /home/ykent/OPT/lib/hdf5-1.8.15-intel/
- Use sequential version of mkl, so set