Difference between revisions of "JUSTUS2/Software/Dalton"

From bwHPC Wiki
Jump to: navigation, search
m (bwHPC examples)
 
(80 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
{{Softwarepage|chem/dalton}}
{| width=600px class="wikitable"
 
  +
  +
{| width=760px class="wikitable"
 
|-
 
|-
 
! Description !! Content
 
! Description !! Content
Line 5: Line 7:
 
| module load
 
| module load
 
| chem/dalton
 
| chem/dalton
|-
 
| Availability
 
| [[bwUniCluster]]
 
 
|-
 
|-
 
| License
 
| License
  +
| GNU Lesser General Public License (LGPL).
| [http://www.daltonprogram.org/www/download.html License/Distribution policy] | [[#License| ...more infos here... ]]
 
 
|-
 
|-
 
| Citing
 
| Citing
  +
| [https://daltonprogram.org/citation/ Publications]
| [http://www.daltonprogram.org/www/download.html Citation Includes] | [http://www.daltonprogram.org/www/citation.html Dalton references]
 
 
|-
 
|-
 
| Links
 
| Links
| [http://www.daltonprogram.org/index.html Dalton Homepage] | [http://www.daltonprogram.org/www/resources/dalton2013manual.pdf Dalton 2013 Manual]
+
| [http://www.daltonprogram.org/index.html Homepage] | [https://daltonprogram.org/documentation/ Documentation]
 
|-
 
|-
 
| Graphical Interface
 
| Graphical Interface
 
| No
 
| No
 
|}
 
|}
= Description =
+
= Description =
The Dalton code is a powerful tool for a wide range of molecular properties at different levels of theory, whereas LSDalton is a linear-scaling HF and DFT code suitable for large molecular systems, now also with some CCSD capabilites.
 
<br>
 
General Features
 
* First- and second-order methods for geometry optimizations
 
* Robust second-order methods for locating transition states
 
* Constrained geometry optimizations; bonds, angles and dihedral angles can be fixed during optimizations
 
* General numerical derivatives that automatically makes use of the highest order analytical derivative available
 
* Vibrational analysis and vibrational averaging, including anharmonic effects
 
* HF and DFT code MPI parallel for direct Fock matrix constructions and for DFT integrations over grid points
 
* Effective core-potentials (ECPs)
 
* Multiscale models (continuum and QM/MM using PE)
 
* Most sections can exploit point-group symmetry D2h and subgroups
 
<br>
 
For more information on features please visit [http://www.daltonprogram.org/www/features.html Description of the Dalton program features] web page.
 
<br>
 
<br>
 
= Versions and Availability =
 
A list of versions currently available on all bwHPC-C5-Clusters can be obtained from the
 
<br>
 
<big>
 
   
  +
'''Dalton''' (named after [https://en.wikipedia.org/wiki/John_Dalton John Dalton]) is an ab initio quantum chemistry computer program designed to to allow convenient, automated determination of a large number of molecular properties based on an HF, HF-srDFT, DFT, MP2, CC, CI, MCSCF, or MC-srDFT reference wave function. For additional information on features please visit the [https://daltonprogram.org/features/ Description of the Dalton suite features] web page.
[https://cis-hpc.uni-konstanz.de/prod.cis/ Cluster Information System CIS]
 
   
</big>
 
{{#widget:Iframe
 
|url=https://cis-hpc.uni-konstanz.de/prod.cis/bwUniCluster/chem/dalton
 
|width=99%
 
|height=150
 
|border=0
 
}}
 
On the command line interface of any bwHPC cluster you'll get a list of available versions
 
by using the command 'module avail chem/dalton'.
 
<pre>
 
$ module avail chem/dalton
 
------------------------ /opt/bwhpc/common/modulefiles -------------------------
 
chem/dalton/2013
 
</pre>
 
<br>
 
 
= License =
 
Code is distributed freely to individuals, but require the users to agree to a personal licence agreement. Site licenses are available, on the condition that the site keeps the source code confidential. Additionally, benchmark licences, valid for a restricted period of time, are available.
 
<br>
 
== Obtaining a licence ==
 
A licence to use the Dalton programs can be obtained after filling in the
 
<br>
 
[http://daltonprogram.org/licence/ Dalton2015 Dalton Licence Application Form].
 
<br>
 
<br>
 
   
 
= Usage =
 
= Usage =
 
== Loading the module ==
 
== Loading the module ==
  +
See [[Software Modules]] documentation
You can load the default version of ''Dalton'' with the command:
 
<pre>
 
$ module load chem/dalton
 
</pre>
 
   
  +
== Input Files ==
The module will try to load modules it needs to function (e.g. compiler, mpi, numlibs).
 
  +
If loading the module fails, check if you have already loaded one of those modules,
 
  +
For information about how to construct input files (dalinp{.dal} [molinp{.mol} [potinp{.pot}]]) for Dalton, please consult the [https://daltonprogram.org/manuals/dalton2020manual.pdf vendor documentation].
but not in the version needed for Dalton.
 
  +
If you wish to load a specific (older) version (if available), you can do so using e.g.
 
  +
== Environment Variables ==
'module load chem/dalton/version' to load the version you desires.
 
  +
<pre>
 
  +
Environment variables understood by Dalton:
$ module avail chem/dalton
 
------------------------ /opt/bwhpc/common/modulefiles -------------------------
 
chem/dalton/2013
 
$ module load chem/dalton/2013
 
</pre>
 
== Program Binaries ==
 
You can find the Dalton binaries in the main folder of the Dalton system.
 
After loading the Dalton module ('module load chem/dalton/version') it's path is
 
also set to the local $PATH- and [[#Dalton-Specific Environments|$DALTON_BIN_DIR environments]].
 
<br>
 
$DALTON_BIN_DIR=/opt/bwhpc/common/chem/
 
 
<pre>
 
<pre>
  +
DALTON_TMPDIR : scratch directory
$ : Example with Dalton 2013
 
  +
DALTON_USE_GLOBAL_SCRATCH : use global scratch directory, do not copy any files to worker nodes
$ echo $DALTON_BIN_DIR
 
  +
DALTON_NODELIST : list of nodes, dalton.x will be copied to DALTON_TMPDIR on each node unless
/opt/bwhpc/common/chem/dalton/2013/bin
 
  +
DALTON_USE_GLOBAL_SCRATCH is defined
$ ls -F $DALTON_BIN_DIR
 
  +
DALTON_LAUNCHER : launcher for the dalton.x binary (if defined, -N flag not allowed)
basis/ DALTON.STAT GIT_HASH lsdalton.x* tools/
 
dalton* dalton.x* lsdalton* lslib_tester.x* VERSION
 
 
</pre>
 
</pre>
* A '/' at the end of a file name indicates a directory/folder.
 
* '*' is an executable file.
 
   
 
== Disk Usage ==
 
== Disk Usage ==
Scratch files are written to the current directory by default.
 
<font color=red>Please change to a local directory or to '''your local workspace''' (preferred) before starting your calculations.</font>
 
   
  +
Scratch files are written to <span style="background:#edeae2;margin:2px;padding:1px;border:1px dotted #808080">$SCRATCH</span> by default. This configuration option can be changed by setting the environment variable <span style="background:#edeae2;margin:2px;padding:1px;border:1px dotted #808080">$DALTON_TMPDIR</span> (e.g., to a dedicated [[workspace]]) before starting your calculations with Dalton.
'dalton_repo' is an example name of a repository you created by using the command 'ws_allocate'.
 
   
  +
= Examples =
  +
  +
As with all processes that require more than a few minutes to run, non-trivial compute jobs must be submitted to the cluster queuing system.
  +
  +
Example scripts are available in the directory <span style="background:#edeae2;margin:2px;padding:1px;border:1px dotted #808080">$DALTON_EXA_DIR</span>:
 
<pre>
 
<pre>
  +
$ module load chem/dalton # load module
$ cd $(ws_find dalton_repo)
 
  +
$ ls $DALTON_EXA_DIR # show content of directory $DALTON_EXA_DIR
['your-id'-dalton_repo-0]$ pwd
 
  +
$ cat $DALTON_EXA_DIR/README # show examples README
/work/workspace/scratch/'your-id'-dalton_repo-0
 
['your-id'-dalton_repo-0]$
 
 
</pre>
 
</pre>
  +
<br>
 
  +
Run a first simple example job on JUSTUS2:
= Examples =
 
== bwHPC examples ==
 
You can copy a simple interactive example to your '''workspace''' and run it, using 'msub'
 
 
<pre>
 
<pre>
  +
$ module load chem/dalton # load module
$ cd $(ws_find dalton_repo)
 
  +
$ WORKSPACE=`ws_allocate dalton 3` # allocate workspace
$ cp $DALTON_EXA_DIR/bwunicluster-dalton-example.moab .
 
  +
$ cd $WORKSPACE # change to workspace
$ cp bwunicluster-dalton-example.moab mydaltonjob.moab
 
  +
$ cp -a $DALTON_HOME/bwhpc-examples . # copy example files to workspace
§ vi mydaltonjob.moab # do your own modifications
 
  +
$ cd bwhpc-examples # change to test directory
$ msub mydaltonjob.moab # start job submission
 
  +
$ sbatch dalton-2020.0.slurm # submit job
  +
$ squeue # obtain JOBID
  +
$ scontrol show job <JOBID> # check state of job
  +
$ ls # when job finishes the results will be visible in this directory
 
</pre>
 
</pre>
It is strongly recommended to use [[#Dalton-Specific Environments|$DALTON_EXA_DIR]] to find the bwHPC examples.
 
<br>
 
=== bwHPC Moab submit script ===
 
Here is an excerpt from the supplied bwunicluster-dalton-example.moab script as found in $DALTON_EXA_DIR.
 
{{bwFrameA|
 
<source lang="bash">
 
[...]
 
echo " "
 
echo "### Copying input test files for job (if required):"
 
echo " "
 
cp -vr ${DALTON_EXA_DIR}/ethane-blyp-benchmark.{dal,mol} .
 
   
  +
= FAQ =
echo " "
 
echo "### Redefine TMPDIR for storing temporary Dalton files ..."
 
echo " "
 
export TMPDIR="${TMP_WORK_DIR}/dalton_tmp"
 
export DALTON_TMPDIR="${TMP_WORK_DIR}/dalton_tmp"
 
echo "TMPDIR = ${TMPDIR}"
 
echo "DALTON_TMPDIR = ${TMPDIR}"
 
echo " "
 
echo "### Calling dalton command ..."
 
echo " "
 
   
  +
'''Q:''' What to do if my simulations abort with <span style="background:#edeae2;margin:2px;padding:1px;border:1px dotted #808080"> MEMGET ERROR, insufficient work space in memory </span>?
# Here is the main Dalton command showing how to run a regular
 
# Dalton job (mpirun is invoked within the 'dalton' script automatically).
 
# For details on the Dalton job see 'ethane-blyp-benchmark.info'.
 
# Example job input: ethane-blyp-benchmark.{dal,mol}
 
# Example job output: bwhpc-example.out ethane-blyp-benchmark.tar.gz.
 
export workdir=${TMP_WORK_DIR}
 
cd ${TMP_WORK_DIR}
 
time $DALTON_BIN_DIR/dalton -N ${MOAB_PROCCOUNT} -o bwhpc-example.out ethane-blyp-benchmark.dal ethane-blyp-benchmark.mol
 
[...]
 
</source>
 
}}
 
<br>
 
   
  +
'''A:''' Increase Dalton's usable work memory with either -mb or -gb on the command line.
= Dalton-Specific Environments =
 
To see a list of all Dalton environments set by the 'module load'-command use 'env | grep DALTON'. Or use the command 'module display chem/dalton'.
 
<pre>
 
$ : Example with Dalton 2013
 
$ env | grep DALTON
 
DALTON_VERSION=2013
 
DALTON_EXA_DIR=/opt/bwhpc/common/chem/dalton/2013/bwhpc-examples
 
DALTON_BIN_DIR=/opt/bwhpc/common/chem/dalton/2013/bin
 
DALTON_HOME=/opt/bwhpc/common/chem/dalton/2013
 
</pre>
 
<br>
 
= Version-Specific Information =
 
For a more detailed information specific to a specific Dalton version, see the information available via the module system with the command 'module help chem/dalton/version'.
 
<br>
 
For a small abstract what Dalton is about use the command 'module whatis chem/dalton/version'.
 
<br>
 
<pre>
 
$ : Dalton 2013 examples
 
$ module whatis chem/dalton
 
chem/dalton : Moleculare electronic structure package DALTON 2013
 
(command 'dalton' and 'lsdalton')
 
$ :
 
$ module help chem/dalton
 
----------- Module Specific Help for 'chem/dalton/2013' -----------
 
This module provides the quantum chemistry program Dalton
 
version 2013 (see also http://dirac.chem.sdu.dk/daltonprogram.org/).
 
   
  +
= Useful links =
The Dalton2013 suite consists of two separate executables,
 
  +
'dalton' and 'lsdalton'. The DALTON code is a powerful tool
 
  +
* [https://daltonprogram.org/manuals/dalton2020manual.pdf Documentation (english)]
for a wide range of molecular properties at different levels
 
  +
* [http://forum.daltonprogram.org Forum (english)]
of theory (e.g. MCSCF or CC), whereas LSDALTON is a linear-scaling
 
  +
* [https://en.wikipedia.org/wiki/Dalton_(program) Wikipedia article (english)]
HF and DFT code suitable for large molecular systems.
 
  +
* [https://daltonprogram.org/tools/ Plugins for Dalton (english)]
[...]
 
Documentation:
 
* For 'dalton' command line options see output of 'dalton -h'.
 
This includes the specification of the memory, the number of workers
 
and how the tmp work dir is used.
 
* An Moab example script for dalton including a short
 
example calculation can be found here:
 
/opt/bwhpc/common/chem/dalton/2013/bwhpc-examples/bwunicluster-dalton-example.moab
 
You can copy the example and submit it to the queueing system.
 
[...]
 
</pre>
 
----
 
[[Category:Chemistry software]][[Category:bwUniCluster]]
 

Latest revision as of 11:30, 23 April 2024

The main documentation is available via module help chem/dalton on the cluster. Most software modules for applications provide working example batch scripts.


Description Content
module load chem/dalton
License GNU Lesser General Public License (LGPL).
Citing Publications
Links Homepage | Documentation
Graphical Interface No

1 Description

Dalton (named after John Dalton) is an ab initio quantum chemistry computer program designed to to allow convenient, automated determination of a large number of molecular properties based on an HF, HF-srDFT, DFT, MP2, CC, CI, MCSCF, or MC-srDFT reference wave function. For additional information on features please visit the Description of the Dalton suite features web page.


2 Usage

2.1 Loading the module

See Software Modules documentation

2.2 Input Files

For information about how to construct input files (dalinp{.dal} [molinp{.mol} [potinp{.pot}]]) for Dalton, please consult the vendor documentation.

2.3 Environment Variables

Environment variables understood by Dalton:

DALTON_TMPDIR             : scratch directory
DALTON_USE_GLOBAL_SCRATCH : use global scratch directory, do not copy any files to worker nodes
DALTON_NODELIST           : list of nodes, dalton.x will be copied to DALTON_TMPDIR on each node unless
                            DALTON_USE_GLOBAL_SCRATCH is defined
DALTON_LAUNCHER           : launcher for the dalton.x binary (if defined, -N flag not allowed)

2.4 Disk Usage

Scratch files are written to $SCRATCH by default. This configuration option can be changed by setting the environment variable $DALTON_TMPDIR (e.g., to a dedicated workspace) before starting your calculations with Dalton.

3 Examples

As with all processes that require more than a few minutes to run, non-trivial compute jobs must be submitted to the cluster queuing system.

Example scripts are available in the directory $DALTON_EXA_DIR:

$ module load chem/dalton                # load module
$ ls $DALTON_EXA_DIR                     # show content of directory $DALTON_EXA_DIR
$ cat $DALTON_EXA_DIR/README             # show examples README

Run a first simple example job on JUSTUS2:

$ module load chem/dalton                           # load module
$ WORKSPACE=`ws_allocate dalton 3`                  # allocate workspace
$ cd $WORKSPACE                                     # change to workspace
$ cp -a $DALTON_HOME/bwhpc-examples .               # copy example files to workspace
$ cd bwhpc-examples                                 # change to test directory
$ sbatch dalton-2020.0.slurm                        # submit job
$ squeue                                            # obtain JOBID
$ scontrol show job <JOBID>                         # check state of job
$ ls                                                # when job finishes the results will be visible in this directory

4 FAQ

Q: What to do if my simulations abort with MEMGET ERROR, insufficient work space in memory ?

A: Increase Dalton's usable work memory with either -mb or -gb on the command line.

5 Useful links