NWCHem on Ubuntu Linux

This article has been written as instruction for my friend how to run NWChem.

What is NWChem?

From Wikipedia:

NWChem is an ab initio computational chemistry software package which also includes quantum chemical and molecular dynamics functionality. It was designed to run on high-performance parallel supercomputers as well as conventional workstation clusters. It aims to be scalable both in its ability to treat large problems efficiently, and in its usage of available parallel computing resources.

Why should I use NWChem?

Because it can handle:
  • Biomolecules, nanostructures, and solid-state
  • From quantum to classical, and all combinations
  • Gaussian basis functions or plane-waves
  • Scaling from one to thousands of processors
  • Properties and relativity

Before NWChem compilation

apt-get install build-essential gfortran

NWChem compilation

tar -xvzf ../Nwchem-6.0.tar.gz 
cd nwchem-6.0/
export NWCHEM_TOP=`pwd`
cd src/
export FC=gfortran
make nwchem_config NWCHEM_MODULES=all
cd ../bin/LINUX64/

After running nwchem you probably get segfault (are you sure you have X windows session available?). Installation can be done using make install command executed in nwchem-6.0/src/

Additional notes

  • Use Intel compiler when you have Pentium4/Xeon (+30-40% performance gain) or PentiumIII/AMD (+10-20% performance gain).
  • pgf77 (Portland Group Compiler) is not fully supported
  • GNU fortran compiler (g77) on x64 is not encouraged because of the NWChem default use of 64-bit integers on 64-bit architectures


  1. Thanks for you post. I've got this problem, I think that is related with the machine's permissions. can you help me please with this problem?

    make[1]: atención: se fuerza a -jN en el submake: se deshabilita el modo de servidor de tareas.
    gfortran -c -fdefault-integer-8 -Wextra -Wuninitialized -g -O -I. -I/home/buendia/Documentos/nwchem-6.0/src/include -I/home/buendia/Documentos/nwchem-6.0/src/tools/include -DEXT_INT -DLINUX -DLINUX64 -DGFORTRAN -DCHKUNDFLW -DGCC4 -DPARALLEL_DIAG -DBASIS_LIBRARY="'/home/buendia/Documentos/nwchem-6.0/src'" basis.F
    gfortran -c -fdefault-integer-8 -Wextra -Wuninitialized -g -O -I. -I/home/buendia/Documentos/nwchem-6.0/src/include -I/home/buendia/Documentos/nwchem-6.0/src/tools/include -DEXT_INT -DLINUX -DLINUX64 -DGFORTRAN -DCHKUNDFLW -DGCC4 -DPARALLEL_DIAG -DBASIS_LIBRARY="'/home/buendia/Documentos/nwchem-6.0/src'" bas_input.F
    bas_input.F: In function ‘bas_ecce_print_basis’:
    bas_input.F:1275: warning: ‘irexp’ may be used uninitialized in this function
    Assembler messages:
    Fatal error: can't create bas_input.o: Permission denied
    make[1]: *** [/home/buendia/Documentos/nwchem-6.0/lib/LINUX64/libnwcutil.a(bas_input.o)] Error 1
    make[1]: *** Se espera a que terminen otras tareas....
    Assembler messages:
    Fatal error: can't create basis.o: Permission denied
    make[1]: *** [/home/buendia/Documentos/nwchem-6.0/lib/LINUX64/libnwcutil.a(basis.o)] Error 1
    make: *** [libraries] Error 1

  2. @Christian:

    Your problems are probably related to your directory permissions, try running before compilation

    chmod -R 777 nwchem-6.0

    maybe it will fix your problems. If it won;t fix it, try run compilation as root user.

    Currently I can't investigate your problem, sorry :(.

  3. Backtrace for this error:
    #0 0xB749C163
    #1 0xB749C800
    #2 0xB773AD27
    #3 0xB72A5C4A
    #4 0xB72AC2AE
    #5 0xA42A334 in setstate
    #6 0xA429AAE in setstate
    #7 0xA32548B in setstate
    #8 0xA2D63B5 in setstate
    #9 0x816F8F8
    #10 0x809D903
    #11 0xB7278A82
    #12 0x816D955
    Segmentation fault (core dumped)
    khalid@khalid-MSH61PI-SI:~$ i have this problem in nwchem running

    1. Hello do you have your Xorg session available? If yes it's probably bug in NWChem. I'm not a NWChem developer so I can't help you - try send this bug report with details about your configuration to NWChem developers :(.


Post a Comment

Popular posts from this blog

How to generate user documentation from Perl script?

35 Google open-source projects that you probably don't know

Using perl to extract files from large directory structure