Table of Contents

準備

以下のソフトを事前にインストールしてください。

tcshなどはaptで手に入ります。

$ sudo apt install tcsh

手順

有料ソフトなので、当然ですが事前に購入する必要があります。

商用だと50万円くらいしますが、アカデミック版は5万円くらいで買えます。

コンパイル(Ubuntu18.04 + WIEN2k_19.1 + Intel Parallel Studio XE 2019)

配布されているプログラムをコンパイルします。 WIEN2k-Registered Users

  1. Specify a system
    1. [Selection:] LI
    2. Specify compiler and linker options
      1. [Your compiler:] ifort
      2. [Your compiler:] cc (Intelコンパイラは非推奨)
      3. Specify LIBXC settings
        1. [Would you like to use LIBXC (that you have installed)? (y,N):] n
      4. Specify FFTW settings
        1. [Do you want to use FFTW (recommended, but for sequential code not required)? (Y,n):] y
        2. [Do you want to automatically search for FFTW installations? (Y,n):] y
        3. [Please specify a comma separated list of directories to search! (If no list is entered, /usr/local and /opt will be searched as default):] /usr/local/
        4. [Please specify whether you want to use FFTW3 (default) or FFTW2 (FFTW3 / FFTW2):] fftw3
        5. [Do you want to use a FFTW version from the list above? (Y,n):] y
        6. [Please enter the line number of the chosen version or enter 0 to manually specify your choice!:] Enter
        7. [Please specify the target achitecture of your FFTW library (e.g. lib64) or accept present choice (enter):] lib
        8. [Please specify the name of your FFTW library or accept present choice (enter):] Enter
        9. [Is this correct? (Y,n):] y
        10. [Selection:] s
  2. Configure Parallel Execution
    1. [Shared Memory Architecture? (y/N):] y
    2. [(like taskset -c). Enter N / your_specific_command:] n
    3. [Do you have MPI, ScaLAPACK, ELPA, or FFTW installed and intend to run finegrained parallel? … (y/N)] y
    4. [Your compiler:] mpiifort
    5. Specify ScaLAPACK settings
      1. [Do you want to use a present ScaLAPACK installation? (Y,n):] y
      2. [Do you want to use the MKL version of ScaLAPACK? (Y,n):] y
      3. [Do you use Intel MPI? (Y,n):] y
      4. [Is this correct? (Y,n):] y
    6. Specify ELPA settings
      1. [Do you want to use ELPA? (y,N):] n
    7. Configure parallel execution
      1. [Please specify your parallel compiler options or accept the recommendations (Enter - default)!:] Enter
      2. [Please specify your MPIRUN command or accept the recommendations (Enter - default)!:] Enter
      3. [Selection:] S
  3. (Re-)Dimension parameters
    1. [Selection:] Q
  4. Compile/Recompile programs
    1. [Selection:] A
  5. Perl Path
    1. [Please enter the full path of the perl program:] /usr/bin/perl
  6. Temp Path
    1. [Please enter the full path to your temporary directory:] /tmp

補足

FFTW3とのリンクでエラーが出ることがあります(以下は 3ddens でコケる例)

ifort -o ./3ddens modules.o fft_modules.o fftpack_helpers.o 3ddens.o setfft2.o stern.o rotdef.o rotato.o rotat.o charge.o calculate_neighbours.o ylm.o radial.o sum.o interp.o gener.o vnorm.o latgen.o rotate.o reduc.o write_xsf.o write_stm.o primitive_cell.o read_struct.o atom_sphere_dens.o  -L/usr/local/fftw3/lib -lfftw3  -O -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -traceback -assume buffered_io -I/opt/intel/oneapi/mkl/latest/include -DFFTW3 -I/usr/local/fftw3/include  -qopenmp
/usr/local/fftw3/lib/libfftw3.a(apiplan.o):(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
/usr/local/fftw3/lib/libfftw3.a(execute-dft.o):(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
/usr/local/fftw3/lib/libfftw3.a(mapflags.o):(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
/usr/local/fftw3/lib/libfftw3.a(plan-dft-3d.o):(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
/usr/local/fftw3/lib/libfftw3.a(plan-dft.o):(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
/usr/local/fftw3/lib/libfftw3.a(plan-many-dft.o):(.eh_frame+0x11): more undefined references to `__gxx_personality_v0' follow
Makefile:64: recipe for target '3ddens' failed
make: *** [3ddens] Error 1
make: *** No rule to make target 'complex'.  Stop.

siteconfigを再び起動してコンパイラのオプションに -lstdc++ を追加してください。

参考

ユーザーごとの設定

$ cd /path/to/WIEN2k/
$ ./userconfig_lapw
  1. editor shall be: vim
  2. Set editor to vim (Y/n): y
  3. DATA directory: /home/username/WIEN2kdata
  4. Set DATA directory to /home/username/WIEN2kdata (Y/n): y
  5. scratch directory: Enter
  6. Set scratch directory to working directory: y
  7. Specify your program to read pdf files (default is acroread) (on some Linux systems use xpdf): evince
  8. Set PDFREADER to evince (Y/n): y
  9. How many cores do you want to use by default (4): (パソコンのコア数を入力。コマンドnprocで調べられる)
  10. Set OMP_NUM_THREADS to コア数 (Y/n): y
  11. Do you want to continue (Y/n)?: y
  12. Edit .rhosts file now? (y/N): n