Amsterdam Density Functional program system

A description of the quantum chemistry and material science package ADF/BAND

General Information:

The ADF software is a DFT-only first-principles electronic structure calculations program system, and consists of a rich variety of packages.

Online info from vendor:

Homepage: http://www.scm.com Documentation: http://www.scm.com/Doc

The support people in NOTUR, do not provide trouble shooting guides anymore, due to a national agreement that it is better for the community as a whole to add to the community info/knowledge pool where such is made available. For ADF/BAND we advise to search in general documentation, sending emails to support(either notur or scm) or trying the ADF mailing list (see http://www.scm.com/Support for more info).

Citation

When publishing results obtained with the referred software referred, please do check the developers web page in order to find the correct citation(s).

License information:

The license of ADF/Band is commercial.

NOTUR holds a national license of the ADF program system, making usage of ADF/BAND available for all academic scientists in Norway.

We have a national license for the following packages:

  • ADF & ADFGUI
  • BAND &BANDGUI
  • CRS
  • DFTB & DFTBGUI
  • GUI
  • REAXFF & REAXFFGUI
  • NBO6 (on Stallo only, but machine license available for all users of Stallo).

Please note that this is an academic type license; meaning that research institutes not being part of Norwegian Universities must provide their own license to be able to use and publish results obtained with this code on NOTUR installlations.

is software for first-principles electronic structure calculations. The program suite shows good scaling behaviour, and we have tested in the 80-160 core region but not beyond. For statements from vendor related to scaling, please visit their home page as shown on top of this page.

(link to general info about license policy notur when available; currently contact: www.sigma2.no)

Usage

We generally advise to run ADF on more than one node, unless you do know that your particular problem does not make the code scale well.

Use

$ module avail adf

to see which versions of ADF are available. Use

$ module load ADF

or

$ module load ADF/<version> # i.e 2014.10 (default)

to get access to ADF.

First run of ADF/BAND:

To get download the jobscript example(s), type the following:

Copy the contents of this folder to your home directory.

Then, submit the job by typing:

Compare the energy of adf_caffeine.out with the Bond Energy = -156.75317227 eV in adf_example_correct_stallo.output. The energy should ideally be identical or close to identical. When this is the case, you may alter variables in the shell script as much as you like to adapt to your own jobs. Good luck.

  • NB: ADF is installed as precompiled binaries, they come with their own mpi (intel MPI). So if you are not using the provided runscript example, please make sure that the default openmpi is swapped with the default intel-MPI module.
  • On Stallo, we holds the nbo6 plug in license that allows users of adf to produce files that can be read with the nb06 software.

ADF input example:

title Caffeine for scale testing
integration  6.0
units
length angstrom
end
symmetry  Nosym
atoms cartesian
C     1.179579     0.000000    -0.825950
C     2.359623     0.000000     0.016662
C     2.346242     0.000000     1.466600
N     1.092573     0.000000     2.175061
C     0.000000     0.000000     1.440000
N     0.000000     0.000000     0.000000
N     3.391185     0.000000     1.965657
C     4.217536     0.000000     1.154419
N     3.831536     0.000000     0.062646
C     4.765176    -0.384157    -0.964164
C     1.058378    -0.322767     3.578004
O    -1.345306     0.000000     1.827493
C    -1.260613    -0.337780    -0.608570
O     1.192499     0.000000    -2.225890
H    -1.997518    -0.535233     0.168543
H    -1.598963     0.492090    -1.227242
H    -1.138698    -1.225644    -1.227242
H     0.031688    -0.271264     3.937417
H     1.445570    -1.329432     3.728432
H     1.672014     0.388303     4.129141
H     4.218933    -0.700744    -1.851470
H     5.400826     0.464419    -1.212737
H     5.381834    -1.206664    -0.604809
H     5.288201     0.000000     1.353412
end

BASIS
Type TZ2P
End

geometry
end
scf
end
unrestricted

charge 0 0

xc
gga PW91
end

noprint frag sfo

endinput

ADF runscrip example:

#!/bin/bash -l
################### ADF Job Batch Script Example ###################
# Section for defining queue-system variables:
#-------------------------------------
# This script asks for a given set of cores. Stallo has got 16 or 20 cores/node,
# asking for something that adds up to both is our general recommodation (80, 160 etc)
# Runtime for this job is 59 minutes; syntax is hh:mm:ss. 
# Memory not set since you are using full node, 
# it can be specified pr core, virtual or total pr job (be carefull).   
#-------------------------------------
# SLURM-section 
#SBATCH --job-name=adf_runex
#SBATCH --ntasks=40
#SBATCH --time=00:59:00
#SBATCH --mem-per-cpu=1GB
#SBATCH --output=adf_runex.log
#SBATCH --mail-type=ALL
#SBATCH --exclusive
#SBATCH --partition=multinode
######################################
# Section for defining job variables and settings:
#-------------------------------------
# Area for defining variables:

input=caffeine # Name of input without extention 
extention=adf # We use the same naming scheme as the software default
cores=40  # Number of cores potentially used by mpi engine in submit procedure

#-------------------------------

# We load all the default program system settings with module load:

module load notur 
module load ADF/2014.10

# Check other available versions with "module avail adf"

#-------------------------------

# Now we create working directory and temporary scratch for the job(s):
# Necessary variables are defined in the notur and the software modules.

mkdir -p $SCM_TMPDIR

# Preparing and moving inputfiles to tmp:

cd $SUBMITDIR
cp $input.adf $SCM_TMPDIR
cd $SCM_TMPDIR

# In case necessary, set SCM_IOBUFFERSIZE
#export SCM_IOBUFFERSIZE=1024

######################################
# Section for running the program and cleaning up:
#-------------------------------------

# Running the program:

time adf  -n $cores < $input.adf > adf_$input.out

# Cleaning up and moving files back to home/submitdir:
# Make sure to move all essential files 
# specific for the given job/software.

cp adf_$input.out $SUBMITDIR/adf_$input.out
cp TAPE21 $SUBMITDIR/$input.t21

mkdir $USERWORK/$input.${BATCHNUM}.res
mv $SCM_TMPDIR/* $USERWORK/$input.${BATCHNUM}.res

# To zip some of the output might be a good idea!
#gzip $input.t21
#mv $input.t21.gz $SUBMITDIR/

# Investigate potentially other files to keep:
echo `pwd`
echo `ls -ltr`

# ALLWAYS clean up after yourself. Please do uncomment the following line
#cd $SUBMITDIR
#rm  $SCM_TMPDIR/*
#rmdir $SCM_TMPDIR


echo "Job finished at"
date
################### Job Ended ###################
exit 0