WIEN2k Installation Parallelization Compile Recompile Packages

1) WIEN2K allows perform electronic structure calculation of solid using DFT( Density Function Theory)-DFT simulation-written in Fortran - Calculate Electronically Structure - Physical Properties.
2)it is based on Full-potential (linearized) augmented plane-wave ((L)APW) + local orbitals (lo)
3)it is independent Fortran90 programs, which are link together via C-shell script(csh).
4) The files are specified by "case."type and it is required that all files reside in a sub directory ./case.
5) We can create different working Environment to quick change different calculation.

INSTALLATION
Requirement Software to be installed
6) Intel ifort compiler
Intel MKL library - includes (blas,lapack,scalapack,FFT(Fast Fourier Transform)
1)parallelization
2)Maintain the Oustanding performance for multicore and multiprocessor.
7) a)perl 5 or higher
b)emacs or another Editor
c)ghostscript(jpg support) -- Display or Printing Document Pages,
d)gnuplot(png support) -- generate 2D or 3D plot of functional data.
e)www-browser
f)pdfreader
g)Tcl/TK-Toolkit (for Xcrysden only) - used for 1-D,2-D, & 3D-Plots
h)MPI + SCALAPACK (For grain parallelization)
i)FFTW-2.1.5 (MPI-version for fine grain Parallelization)

8.1)tar -xvf wien2k 00.tar
gunzip *.gz
chmod +x ./expand_lapw
./expand_lapw
This will expand all files and copies various shell-scripts. In $WIENROOT/SRC you find the postscript version of the user’s guide (160 pages). Proceed with reading chapter "Installation". You can then configure and compile WIEN using:
./siteconfig_lapw
using Siteconfig_lapw we set (scalapack)library path and ld flags and configure or compile the programs.
After successfully installation, every user should run:
./userconfig_lapw
Used to maintain the User Environment Variable.

13)LAPW - Linearize Augmented Planewave
14)compile.msg- we can monitor error message.
after examine error message recompile using make. For
Globally recompile use ./siteconfig_lapw
15)For User Configuration.
run #userconfig_lapw
a)PATH to WIEN2k
b)stacksize to "unlimited"
c)add aliases
d)Environment Variable ($WIENROOT,$SCRATCH).
16)lapw0_mpi; lapw1_mpi, lapw2_mpi,
lapw2c mpi are created using
#make para (lapw0) and
#make rp;
#make cp to globally compile or make use the ./siteconfig_lapws
17)Good Performance depends on Highly Optimized BLAS.
Higher Optimization (-O3).
18)we2web -p [port_number]login Username/password we can maintain the same username & password for linux login.
19)NMATMAX- Maximum Matrix size,
NUME - Maximum Number of Eigenvalues.
20)SSH-Tunnel(Port Forwarding) use the following Command
SSH -fNL 2000:localhost_host:7890 user@remote_host
2000 Soruce Port Number
7890 Destination Port Number.
-f just go to the background before execute the command.
-L [bind_address:]port:host:hostport]
-N Not Execute Remote /command useful for Forwarding Ports.
$ssh -f -L 1234:localhost:6667 server.example.com sleep 10
$irc -c ’#users’ -p 1234 pinky 127.0.0.1
21)w2web File in Your Home Directory
.w2web/hostname/conf
.w2web/hostname/logs
.w2web/hostname/sessions.
password file conf/w2web.users
22) Initialize a calculation - init_lapw
Run scf-cycle - run_lapw

After the Installation to start the wi2n2k Calculation
1) To start the user Interface
w2web [ -p ] 7890
if port 7890 already use by some other process.
then use in-between Port number 1024 to 65536
2) Connecting to w2web
http://hostname_where_w2web_runs:7890
3) To confirm w2web is running or not.
ps -ef | grep w2we
4) Folder Architecture
./SRC (scripts, ug.ps)
./SRC_aim (programs)
SRC_templates (example inputs)
SRC_usersguide_html (HTML-version of UG)
example_struct_files (examples)
 

WIEN2K Parallelization Environment
Wine2k can parallelize only lapw0,lapw1, lapw2,
To check the Parallel Execution.
For lapw0 use #testpara_lapw
lapw1 and lapw2 we can only check at the run time Environment,
For lapw1 use #testpara1_lapw
For lapw2 use #testpara2_lapw
SCF Life Cycle Parallelization
lapw0 -3%
lapw1 -75%
lapw2 -20%
LCORE -1%
Mixer -1% 

 These parallel Executions it will perform
./SRC_lapw0 (lapw0 Documents)
./SRC_lapw1 (lapw1 Documents)
./SRC_lapw2 (lapw2 Documents)
./SRC_lapw0/lapw0_mpi (lapw0 mpi binary file)
./SRC_lapw1/lapw1_mpi (lapw1 mpi binary file)
./SRC_lapw2/lapw2_mpi (lapw2 mpir binary file)

To run parallelization their mpi binary files(lapwx_mpi) should be there like above
or else we will get the error message
> Stop Error.
To find the Root cause or error for the problem to check file.
WIEN2K/SRC_lapwX/compile.msg 

ld: cannot find -lmkl
make[1]: *** [lapw0] Error 1
make[1]: Leaving directory `/opt/WIEN2K/SRC_lapw0'
make: *** [seq] Error 2
make: *** No rule to make target `complex'.  Stop.
If it is library not properly configured then we will get error message like.
ld: can not find -lmkl-scalapack
For these error specified the correct library option in
./siteconfig_lapw
Then for globally recompile the wien2k for all programs.</span>

Related post