Step I. Make.inc編集

Choose reasonable (e.g., ifort_mpi, ifort_mpit) in MAKEINC/ and copy it to the root directory, lm-7.0betaK001/. Here is some details of ( *_mpi is to generat MPI versions, lmf-MPI and lmfgw-MPI. *_mpik is for another type of MPI versions lmf-MPIK and lmfgw-MPIK; see below). You have to edit to fit to your machine. Don't change Makefiles in the root directory and sub directories.

lmf-MPI: mpi in hamiltonian construction (The number of processors can't be more than number of atoms).

lmf-MPIK: k-parallel.

Also see MarksOrginalDoc/MPI-instructions-for-lmf.

  • Set CPP switch
You can use './ {fortran compilar}', where {fortran compilar} is your fortran compiler, e.g. ifort, to get cpp switches (CPP_SW, which isn't category_token, is defined in
  • Set libraries
You need to set BLAS LAPACK, and fftw-3 (fftw-2 does not work. See ). For MPI, you can use blacs and scalacpack [Then you have to set -DBLACS in CPP_SW. But we are not sure whether -DBLACS accelerate calculations or not).
  • compiler options
We think you can usually use the options as it is in, but it might be necessary to change it if something strange.
For large FTMESH, a parameter to specify the real space mesh for smooth charge density, numerical precision in a bessel funciton generator becomes problematic (ropbes.f ropyln.f). For example, FTMESH=36 for SrTiO3 is too large. Then less optimization like -O0 can give better numerical presicision. However, the difference (of optimization switch) appears little when you use FEMESH=20 (this already give good accuracy) or so. So it is better not to use too large FTMESH, or GMAX.

Step II. Type make 編集

Type 'make'. It compiles source codes, and link them. After it finishes, you will have programs = lmf lmfa lmfgw lmdos lmchk lmf2gw lm67 rdcmd fplot plbnds pldos . (Do "grep programs" to check it).

lmfa : an atom program. Needed to set up initial condition for lmf.

lmf : a full-potential PAW(MTO+APW) program

lmfgw , lmf2gw : for GW calculation. See GW manuals

lmdos : required to plot partial DOS.

lmchk : a crystal structure checker. It also generates reasonable MT radius with --getwsr switch

lm67 : an utility to convert an old ctrl file into the one with a new format for ver.7.

rdcmd : needed for "make check"

fplot,plbnds,pldos : Plot utilities.

It can generate postscript files for DOS and BAND. A little difficult to use. Not well documented. Look into FPLOTdir directory (This is Mark's FPLOT3.28.tar.gz, but is slightly modified.

We assume that you will copy all of them , and a script to your bin/ directory. (See an install section of Makefile).

To make lmf-MPI, copy MAKINC/*_mpi to To make lmf-MPIK, copy MAKINC/*_mpik to Then "make" will generate lmf-MPI and lmfgw-MPI (or *-MPIK).

Step.III. TEST of the programs 編集

You can perform an installation test by 'make check' (a test for lmf). If it does not show "FAIL" anywhere, and show "all tests PASSED (copt te zrt co cr3si6 fe cu srtio3 felz gasls gdn eras c crn)" at the end of test (a few tests requires long time), your installation has been succeeded. Neglect messeges as "mv: Command not found. cp: `./ctrl.crn' and `./ctrl.crn' are the same file", and so on.

You can also peform a check of the slatsm library only by 'make check' in the slatsm/ directory.