ADF

From Alliance Doc
Revision as of 16:36, 20 December 2018 by Jemmyhu (talk | contribs)
Jump to navigation Jump to search
Other languages:

Introduction

The ADF (Amsterdam Density Functional) Modeling Suite offers powerful computational chemistry tools for many research areas such as homogeneous and heterogeneous catalysis, inorganic chemistry, heavy element chemistry, various types of spectroscopy, and biochemistry.

Compute Canada users have access to the following products:

  • ADF
  • ADF-GUI
  • BAND
  • BAND-GUI
  • DFTB
  • ReaxFF
  • COSMO-RS
  • QE-GUI
  • NBO6

Running ADF on Graham

ADF are installed only on Graham due to license restrictions. To check what versions are available on Graham, use the module spider adf command, for example

 [name@server $] module spider adf

For module commands, please see Using modules.

 [name@server $] module load adf/2017.207

Job Submission

Graham uses the Slurm scheduler; for details about submitting jobs, see Running jobs.

Single ADF or BAND run

This mysub.sh script is for a whole-node job. The last two lines load version 2017.207 and call ADF directly.

File : mysub.sh

#!/bin/bash
#SBATCH --nodes=1 --ntasks-per-node=32  # 1 node with 32 cpus, you can modify it
#SBATCH --mem=0                         # request all memory on node
#SBATCH --time=00-03:00                 # time (DD-HH:MM)
#SBATCH --output=adf_test-%j.log        # output file

module load adf/2017.207
ADF adf_test.inp


This is the input file used in the script:

File : adf_test.inp

Title WATER Geometry Optimization with Delocalized Coordinates

 Atoms
    O             0.000000     0.000000     0.000000
    H             0.000000    -0.689440    -0.578509
    H             0.000000     0.689440    -0.578509
 End

 Basis
 Type TZP
 Core Small
 End

 Geometry
  Optim Deloc
  Converge 0.0000001
 End

 End Input



Multiple ADF or BAND runs within one input file

Multiple calculations can be combined into a single job by creating a script such as this:

File : GO_H2O.run

#!/bin/bash
if test -z "$SCM_TESTOUTPUT" ; then SCM_TESTOUTPUT=GO_H2O.out; fi

$ADFBIN/adf << eor > $SCM_TESTOUTPUT
Title WATER Geometry Optimization with Delocalized Coordinates

Atoms
   O             0.000000     0.000000     0.000000
   H             0.000000    -0.689440    -0.578509
   H             0.000000     0.689440    -0.578509
End

Basis
Type TZP
Core Small
End

Geometry
 Optim Deloc
 Converge 0.0000001
End

End Input
eor

rm TAPE21 logfile
$ADFBIN/adf << eor >> $SCM_TESTOUTPUT
Title WATER Geometry Optimization in Cartesians with new optimizer

Atoms
    O             0.000000     0.000000     0.000000
    H             0.000000    -0.689440    -0.578509
    H             0.000000     0.689440    -0.578509
End

Basis
 Type TZP
 Core Small
End

Geometry
  Optim Cartesian
  Branch New
  Converge 0.0000001
End

End Input
eor

rm TAPE21 logfile
$ADFBIN/adf << eor >> $SCM_TESTOUTPUT
Title WATER Geometry Optimization with Internal Coordinates

Atoms    Z-Matrix
 1. O   0 0 0
 2. H   1 0 0   rOH
 3. H   1 2 0   rOH  theta
End

Basis
 Type TZP
 Core Small
End

GeoVar
 rOH=0.9
 theta=100
End
Geometry
  Converge 0.0000001
End

End Input
eor

rm TAPE21 logfile
$ADFBIN/adf << eor >> $SCM_TESTOUTPUT
Title WATER   optimization with (partial) specification of Hessian

Atoms    Z-Matrix
 1. O   0 0 0
 2. H   1 0 0   rOH
 3. H   1 2 0   rOH  theta
End

GeoVar
 rOH=0.9
 theta=100
End
HessDiag  rad=1.0  ang=0.1

Fragments
 H   t21.H
 O   t21.O
End

Geometry
  Converge 0.0000001
End

End Input
eor

rm TAPE21 logfile
$ADFBIN/adf << eor >> $SCM_TESTOUTPUT
Title WATER Geometry Optimization in Cartesians

Geometry
  Optim Cartesian
  Converge 0.0000001
End

Define
 rOH=0.9
 theta=100
End

Atoms    Z-Matrix
 1. O   0 0 0
 2. H   1 0 0   rOH
 3. H   1 2 0   rOH theta
End

Fragments
 H   t21.H
 O   t21.O
End

End Input
eor

mv TAPE21 H2O.t21


The following script is identical to the one used for a single run (mysub.sh), except that the last line calls the GO_H2O.run script, instead of ADF.

File : GO_H2O.sh

#!/bin/bash
#SBATCH --nodes=1 --ntasks-per-node=32  # 1 node with 32 cpus, you can modify it
#SBATCH --mem=0                         # request all memory on node
#SBATCH --time=00-03:00                 # time (DD-HH:MM)
#SBATCH --output=GO_H2O_%j.log          # output file

module load adf/2017.207
./GO_H2O.run                            # run the shell script


Examples

Example input/output for ADF can be found on Graham under

/home/jemmyhu/tests/test_ADF/2017.207/test_adf/

The same procedure applies to BAND jobs, see band_test.inp and band_test.sh examples under

/home/jemmyhu/tests/test_ADF/2017.207/test_band

Running ADF-GUI on Graham

Rendering over an SSH connection with X11 forwarding is very slow for GUI applications such as ADF-GUI. We recommend you use VNC to connect if you will be running ADF-GUI on Graham.

Example for how to install, connect and run ADF-GUI using TigerVNC has been given in TigerVNC-for-ADF-GUI

Running ADF-GUI locally

A license to install ADF-GUI on your local machine is available to all academics in Canada. The license is valid until 2019-01-01.

Getting started with ADF2017 GUI is easy: just download, install and run.

Download

  • Email us to ask for the ID and Password to the SCM download site. Download the right binary for your machine.

Install

  • Windows: run the exe with Administrator privileges, accepting all defaults.
  • Mac: open the dmg and drag the ADF2017.xxx item to the Applications directory.
  • Linux : follow the instructions in the Linux Quick Start guide.

Run

  • Windows: double-click the ADFjobs shortcut
  • Mac: run the ADF2017.xxx application
  • Linux: set up your environment, run $ADFBIN/adfjobs

You will be prompted for your username, password, and email address when you first use ADF. After you submit your correct details, a license will automatically be retrieved and installed. This license will allow you to run the purchased ADF modules. If you get a license error please send the error message to license@scm.com.
See these video tutorials on using ADF-GUI.