ADF: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
m (add to Category:ComputationalChemistry)
 
(83 intermediate revisions by 6 users not shown)
Line 1: Line 1:
==Introduction==
<languages />
ADF (The Amsterdam Density Functional package) is a software for first-principles electronic structure calculations. It is particularly popular in the research areas of homogeneous and heterogeneous catalysis, inorganic chemistry, heavy element chemistry, various types of spectroscopy, and biochemistry.


BAND, also called ADF-BAND, is the name of a software package closely related to ADF. BAND can be used to study periodic systems: solids, surfaces, slabs, polymers, and reactions on surfaces. BAND is a part of ADF package here.
<translate>
[[Category:Software]][[Category:ComputationalChemistry]]
==Introduction== <!--T:2-->
'''Important:''' ADF has been renamed to AMS since the 2020 version. Significant changes such as the input and output formats have been made in the new AMS. Please refer to [[AMS]] for more information.


==Running ADF on Graham==
<!--T:46-->
ADF 2016.106 and 2017.207 are installed on Graham cluster and available through the modules system. You can load them using either of.
The [https://www.scm.com/ SCM (Software for Chemistry and Materials) Amsterdam Modeling Suite] originally 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.


[name@server $] module load adf/2016.106
<!--T:4-->
Compute Canada users have access to the following products:
*ADF
*ADF-GUI
*BAND
*BAND-GUI
*DFTB
*ReaxFF
*COSMO-RS
*QE-GUI
*NBO6


[name@server $] module load adf/2017.207
==Running SCM on Graham== <!--T:6-->
The <code>adf</code> module is installed only on [[Graham]] due to license restrictions. To check what versions are available use the <code>module spider</code> command as follows:


===Job Submission===
<!--T:8-->
[name@server $] module spider adf


<!--T:10-->
For module commands, please see [[Utiliser des modules/en|Using modules]].
===Job submission=== <!--T:12-->
<!--T:14-->
Graham uses the Slurm scheduler; for details about submitting jobs, see [[Running jobs]].
Graham uses the Slurm scheduler; for details about submitting jobs, see [[Running jobs]].


The following example is a full-node ADF job script, mysub.sh:
====Single ADF or BAND run==== <!--T:16-->
 
This mysub.sh script is for a whole-node job. The last two lines load version 2019.305 and call ADF directly.
</translate>
{{File
{{File
   |name=mysub.sh
   |name=mysub.sh
   |lang="bash"
   |lang="bash"
   |contents=
   |contents=
#!/bin/bash
#!/bin/bash
#SBATCH --nodes=1 --ntasks-per-node=32  # 1 node with 32 cpus, you can modify it
#SBATCH --nodes=1 --ntasks-per-node=32  # 1 node with 32 cpus, you can modify it
#SBATCH --mem-per-cpu=2G                # memory, should be <4G for full node job
#SBATCH --mem=0                        # request all memory on node
#SBATCH --time=00-03:00                # time (DD-HH:MM)
#SBATCH --time=00-03:00                # time (DD-HH:MM)
#SBATCH --output=adf_test.log           # output .log file
#SBATCH --output=adf_test-%j.log       # output file


module load adf/2017.207
module unload openmpi
ADF adf_test.inp               # ADF command
module load adf/2019.305
ADF adf_test.inp
}}
}}
<translate>


The following is an example for the input file, adf_test.inp:
<!--T:18-->
This is the input file used in the script:
</translate>
{{File
{{File
   |name=adf_test.inp
   |name=adf_test.inp
Line 56: Line 81:
  End Input
  End Input
}}
}}
<translate>
====Multiple ADF or BAND runs==== <!--T:20-->
<!--T:22-->
Multiple calculations can be combined into a single job by creating a input file such as this:
</translate>
{{File
  |name=GO_H2O.run
  |lang="bash"
  |contents=
#!/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
}}
<translate>
<!--T:24-->
The following slurm script is identical to the one used for a single run (mysub.sh), except the last line calls the GO_H2O.run script, instead of ADF.
</translate>
{{File
  |name=GO_H2O.sh
  |lang="bash"
  |contents=
#!/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 unload openmpi
module load adf/2019.305
bash GO_H2O.run                        # run the shell script
}}
<translate>
===Examples=== <!--T:26-->
Example input/output for ADF can be found on Graham under
/home/jemmyhu/tests/test_ADF/2019.305/test_adf/
<!--T:28-->
The same procedure applies to BAND jobs, see band_test.inp and band_test.sh examples under
/home/jemmyhu/tests/test_ADF/2019.305/test_band/
==Running SCM-GUI== <!--T:30-->
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.
===Graham=== <!--T:32-->
<!--T:34-->
ADF can be run interactively in graphical mode on a Graham compute node (3hr time limit) over TigerVNC with these steps:
<!--T:35-->
# [[VNC#Setup|Install a TigerVNC]] client on your desktop
# [[VNC#Compute_Nodes|Connect]] to a compute node with vncviewer
# <code>module load adf</code>
# <code>adfinput</code>
===Gra-vdi=== <!--T:36-->
<!--T:38-->
Adf can be run interactively in graphical mode on gra-vdi (no connection time limit) over TigerVNC with these steps:
<!--T:40-->
# [[VNC#Setup|Install a TigerVNC]] client on your desktop
# [[VNC#VDI_Nodes|Connect]] to gra-vdi.computecanada.ca with vncviewer
# <code>module load clumod</code>
# <code>module load adf</code>
# <code>adfinput</code>


===Examples===
<!--T:42-->
Examples for adf_test can be found on Graham under
A tutorial pdf showing how to install, connect and run ADF-GUI using TigerVNC on gra-vdi can be found  
/home/jemmyhu/tests/test_ADF/2017.207/test_adf/
[https://www.sharcnet.ca/~jemmyhu/TigerVNC-for-ADF-GUI.pdf here].


Some user may do multi-step ADF runs within one job, see GO_H2O.run and GO_H2O.sh examples under
===Locally=== <!--T:44-->
/home/jemmyhu/tests/test_ADF/2017.207/test_adf/
SCM has a separate license to run ADF-GUI on a local desktop machine. If you are interested contact [mailto:license@scm.com license@scm.com] to purchase your own license.  


The same procedure applies to BAND job, see band_test.inp and band_test.sh examples under
</translate>
/home/jemmyhu/tests/test_ADF/2017.207/test_band

Latest revision as of 13:24, 19 July 2022

Other languages:

Introduction

Important: ADF has been renamed to AMS since the 2020 version. Significant changes such as the input and output formats have been made in the new AMS. Please refer to AMS for more information.

The SCM (Software for Chemistry and Materials) Amsterdam Modeling Suite originally 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 SCM on Graham

The adf module is installed only on Graham due to license restrictions. To check what versions are available use the module spider command as follows:

[name@server $] module spider adf

For module commands, please see Using modules.

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 2019.305 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 unload openmpi
module load adf/2019.305
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

Multiple calculations can be combined into a single job by creating a input file 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 slurm script is identical to the one used for a single run (mysub.sh), except 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 unload openmpi
module load adf/2019.305
bash GO_H2O.run                         # run the shell script


Examples

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

/home/jemmyhu/tests/test_ADF/2019.305/test_adf/

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

/home/jemmyhu/tests/test_ADF/2019.305/test_band/

Running SCM-GUI

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.

Graham

ADF can be run interactively in graphical mode on a Graham compute node (3hr time limit) over TigerVNC with these steps:

  1. Install a TigerVNC client on your desktop
  2. Connect to a compute node with vncviewer
  3. module load adf
  4. adfinput

Gra-vdi

Adf can be run interactively in graphical mode on gra-vdi (no connection time limit) over TigerVNC with these steps:

  1. Install a TigerVNC client on your desktop
  2. Connect to gra-vdi.computecanada.ca with vncviewer
  3. module load clumod
  4. module load adf
  5. adfinput

A tutorial pdf showing how to install, connect and run ADF-GUI using TigerVNC on gra-vdi can be found here.

Locally

SCM has a separate license to run ADF-GUI on a local desktop machine. If you are interested contact license@scm.com to purchase your own license.