Skip to content

Latest commit

 

History

History
100 lines (77 loc) · 3.52 KB

README_Install.org

File metadata and controls

100 lines (77 loc) · 3.52 KB

install ecalj (checked 2024feb)

How to install

Step 1. Get ecalj package and get tools.

tools and libraries

We may need to install following tools and libraries. It dependes on systems. Here is a case of ubuntu and gfortran.

sudo apt-get update
sudo apt-get install git gitk gfortran mpich csh bash tcsh gawk emacs numpy matplotlib
sudo apt-get -y install intel-mkl

Some memos here.

  • etags is automatically installed when you install emacs in the latest ubuntu.
  • We need python 3 (usually already in ubuntu. Type \>python (ctrl+D for quit)).
  • git makes things easier. Especiall for version up. >git diff at ecalj/ shows orginal and your modification.

Get ecalj package

git clone https://github.com/tkotani/ecalj.git # Get source code  

After you did the above git clone command, a directory ecalj/ appears. We can check history of ecalj by “>gitk –all” at ecalj/ directory after you got git clone.

Steps 2 InstallAll

Do

FC=gfortran ./InstallAll

at ecalj/. If you see “OK! All passed!”, you have succeeded. (FC=foobar can be ifort or nvfortran) In advance, set BINDIR in the InstallAll. We copy all binaries to BINDIR.

Set command path BINDIR. For example, write

PATH="~/bin/:$PATH"

in your .bashrc.

Install VEST and getsyml

We have to install VESTA and make sure that ‘viewvesta’ command works. You need to read GetSyml/README.org to install getsyml.py. It is useful to get Brillowin zone plot and symmetry line plot in it. Generated syml.* is used for the band plot in ecalj. (syml is a little strange… we will fix)

Additinal memo

When InstallAll have finished, we have all required binaries and shell scripts in your ~/bin/ directory, or somewhere else where BINDIR specified in InstallAll

Clean up by CleanAll:

If something wrong, run “./CleanAll” at ecalj/ and redo installation. Look into CleanAll.

Compilar bug: In cases, we have troubles due to the compilar.

Usually we use -O2 in CMakeList.txt. But we may need to use -O1 or -O0 for some files to avoid compilar bugs. We may set some conditional compilation setteings.

openmpi failed on ubuntu22. I obseved that gfortran+openmpi failed for ubuntu22. Use mpich.

But I don’t know cucrrent status.

Souce codes, Test, make system are under SRC/

SRC/ ├── TestInstall : Root of Install test ├── exec : CMakeLists.txt and scripts ├── main : All main *.f90 ├── subroutines : All subrouitnes. *.f90. main_foobar.f90 are main routines, essentially. └── wanniergw : Maxloc Wannier related source codes *.f90 Wannier part is separated because we will throw it away, because we are moving to MTO-based localized basis (MLO).

All fortran codes are in main/ subrouitnes/ and wanniergw/ We have a CMakeLists.txt which generates Makefile. Look into it.

Install test system at ecalj/SRC/TestInstall.

We have a test system with make at ecalj/SRC/TestInstall. Look into Makefile, which is the main contrller for test. At each directory such as TestInstall/copt/, we have makefile, which is called from ecalj/SRC/TestInstall/Makefile

Set your starting files and result for test at TestInstall/foobar/*, and write TestInstall/foobar/makefile. And register the test to TestInstall/Makefile.

To test all of binaries, just do >make all >make lmall !tests only LDA part. >make gwall !tests only GW part.