Difference between revisions of "JUSTUS2/Software/Dalton"
(→License) |
K Siegmund (talk | contribs) |
||
(74 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Softwarepage|chem/dalton}} |
||
+ | |||
{| width=760px class="wikitable" |
{| width=760px class="wikitable" |
||
|- |
|- |
||
Line 5: | Line 7: | ||
| module load |
| module load |
||
| chem/dalton |
| chem/dalton |
||
− | |- |
||
− | | Availability |
||
− | | [[BwForCluster_JUSTUS_2]] |
||
|- |
|- |
||
| License |
| License |
||
− | | |
+ | | GNU Lesser General Public License (LGPL). |
|- |
|- |
||
| Citing |
| Citing |
||
Line 21: | Line 20: | ||
| 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> |
||
− | = Availability = |
||
+ | '''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. |
||
− | Dalton is available on selected bwHPC-Clusters. A complete list of versions currently installed on the bwHPC-Clusters can be obtained from the [https://www.bwhpc.de/software.html Cluster Information System (CIS)]. |
||
− | In order to check which versions of Dalton are installed on the compute cluster, run the following command: |
||
− | <pre> |
||
− | $ module avail chem/dalton |
||
− | </pre> |
||
− | |||
− | = License = |
||
− | |||
− | Dalton is free, open-source software released under the GNU Lesser General Public License (LGPL). Anyone interested in using the Dalton program suite must read the conditions described in its [https://gitlab.com/dalton/dalton/-/blob/master/LICENSE license agreement]. |
||
= Usage = |
= Usage = |
||
== Loading the module == |
== Loading the module == |
||
+ | See [[Software Modules]] documentation |
||
− | You can load the default version of ''Dalton'' with the command: |
||
+ | |||
− | <pre> |
||
+ | == Input Files == |
||
− | $ module load chem/dalton |
||
+ | |||
− | </pre> |
||
+ | 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]. |
||
+ | |||
+ | == Environment Variables == |
||
+ | Environment variables understood by Dalton: |
||
− | 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, |
||
− | 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. |
||
− | 'module load chem/dalton/version' to load the version you desires. |
||
<pre> |
<pre> |
||
+ | DALTON_TMPDIR : scratch directory |
||
− | $ module avail chem/dalton |
||
+ | DALTON_USE_GLOBAL_SCRATCH : use global scratch directory, do not copy any files to worker nodes |
||
− | ------------------------ /opt/bwhpc/common/modulefiles ------------------------- |
||
+ | DALTON_NODELIST : list of nodes, dalton.x will be copied to DALTON_TMPDIR on each node unless |
||
− | chem/dalton/2013 |
||
+ | DALTON_USE_GLOBAL_SCRATCH is defined |
||
− | $ module load chem/dalton/2013 |
||
+ | DALTON_LAUNCHER : launcher for the dalton.x binary (if defined, -N flag not allowed) |
||
</pre> |
</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> |
||
− | $ : Example with Dalton 2013 |
||
− | $ echo $DALTON_BIN_DIR |
||
− | /opt/bwhpc/common/chem/dalton/2013/bin |
||
− | $ ls -F $DALTON_BIN_DIR |
||
− | basis/ DALTON.STAT GIT_HASH lsdalton.x* tools/ |
||
− | dalton* dalton.x* lsdalton* lslib_tester.x* VERSION |
||
− | </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 |
Description | Content |
---|---|
module load | chem/dalton |
License | GNU Lesser General Public License (LGPL). |
Citing | Publications |
Links | Homepage | Documentation |
Graphical Interface | No |
Contents
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.