Compiling NWCHEM under Ubuntu with MPICH support

Note: Some code are written in the csh shell (setenv ) but should be written in bash (export ="name")

  1. Install required packages:
    sudo apt-get install python-dev gfortran libopenblas-dev libopenmpi-dev openmpi-bin tcsh make

  2. Set environment variables at a /home/$USER/.nwchem_login file containing
    export USE_MPI=y
    export NWCHEM_TARGET=LINUX64
    export USE_PYTHONCONFIG=y
    export PYTHONVERSION=2.7
    export PYTHONHOME=/usr
    export BLASOPT="-lopenblas -lpthread -lrt"
    export BLAS_SIZE=4
    export USE_64TO32=y

setenv NWCHEM_TOP /nwchem
setenv NWCHEM_TARGET LINUX64
setenv NWCHEM_MODULES all

Common environmental variables for building with MPI are:
– The following environment variables need to be set when NWChem is compiled with MPI:
setenv USE_MPI y
setenv USE_MPIF y
setenv USE_MPIF4 y
setenv MPI_LOC /openmpi-1.4.3 (for example, if you are using OpenMPI)
setenv MPI_LIB /openmpi-1.4.3/lib
setenv MPI_INCLUDE /openmpi-1.4.3/include
setenv LIBMPI "-lmpi_f90 -lmpi_f77 -lmpi -lpthread"

adding one of the following blocks according to the implemented MPI:
MPICH:
setenv MPI_LOC /usr/local #location of mpich installation
setenv MPI_LIB $MPI_LOC/lib
setenv MPI_INCLUDE $MPI_LOC/include
setenv LIBMPI "-lfmpich -lmpich -lpmpich"

MPICH2:
setenv MPI_LOC /usr/local #location of mpich2 installation
setenv MPI_LIB $MPI_LOC/lib
setenv MPI_INCLUDE $MPI_LOC/include
setenv LIBMPI "-lmpich -lopa -lmpl -lrt -lpthread"

OpenMPI:
setenv MPI_LOC /usr/local #location of openmpi installation
setenv MPI_LIB $MPI_LOC/lib
setenv MPI_INCLUDE $MPI_LOC/include
setenv LIBMPI "-lmpi_f90 -lmpi_f77 -lmpi -ldl -Wl,--export-dynamic -lnsl -lutil"

  1. Source the .nwchem_login file at the .bashrc file:
    source .nwchem_login

  2. Compile the software:
    make nwchem_config NWCHEM_MODULES="all python"
    make 64_to_32
    make

    or:
    cd $NWCHEM_TOP/src
    make nwchem_config
    make FC=gfortran >& make.log


Note:
Sometimes a default.nwchemrc file at the user home directory is required to list the directories NWChem should use:
nwchem_basis_library /usr/local/NWChem/data/libraries/
nwchem_nwpw_library /usr/local/NWChem/data/libraryps/
ffield amber
amber_1 /usr/local/NWChem/data/amber_s/
amber_2 /usr/local/NWChem/data/amber_q/
amber_3 /usr/local/NWChem/data/amber_x/
amber_4 /usr/local/NWChem/data/amber_u/
spce /usr/local/NWChem/data/solvents/spce.rst
charmm_s /usr/local/NWChem/data/charmm_s/
charmm_x /usr/local/NWChem/data/charmm_x/

Edit the .bashrc file to include
source nwchem_default

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s