MOLGW

Description

MOLGW is a code that implements the many-body perturbtation theory (MBPT) to describe the excited electronic states in finite systems (atoms, molecules, clusters). It most importantly implements the GW approximation for the self-energy and the Bethe-Salpeter equation for the optical excitations.

User instructions

MOLGW is installed as a module. It depends on several other modules and can be added along with its dependencies to the environment using

$ module load intel mkl openmpi libxc libint molgw/1.F

Documentation is available at the MOLGW website.

License

GNU General Public License (v3).

Admin notes

The configuration is set in the file my_machine.arch. I compiled as follows:

cd src
module load intel mkl openmpi libxc libint
cat<<EOF > my_machine.arch
OPENMP=

# Parallel MPI SCALAPACK compilation
FC=mpif90 -fpp

CPPFLAGS= -DHAVE_LIBXC -DHAVE_MPI -DHAVE_SCALAPACK

CC=mpicc
CXX=mpicxx
FCOPTS= -O3
CCOPTS= -O3

LAPACK= -mkl=sequential

SCALAPACK= -L{MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 -lpthread -lm
EOF
make

The resulting executable (parent directory) could then be copied into the common directory structure for modules.