JUSTUS2/Software/Dalton: Difference between revisions
K Siegmund (talk | contribs) No edit summary |
|||
(68 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 25: | Line 24: | ||
'''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''' (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. |
||
= Availability = |
|||
= Usage = |
|||
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)]. |
|||
== Loading the module == |
|||
See [[Software Modules]] documentation |
|||
== Input Files == |
|||
In order to check which versions of Dalton are installed on the compute cluster, run the following command: |
|||
<pre> |
|||
$ module avail 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]. |
|||
= License = |
|||
== Environment Variables == |
|||
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]. |
|||
Environment variables understood by Dalton: |
|||
= Usage = |
|||
== Loading the module == |
|||
You can load the default version of ''Dalton'' with the command: |
|||
<pre> |
<pre> |
||
DALTON_TMPDIR : scratch directory |
|||
$ module load chem/dalton |
|||
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) |
|||
</pre> |
</pre> |
||
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> |
|||
$ 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> |
|||
$ : 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. |
|||
= 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 |
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.
Usage
Loading the module
See Software Modules documentation
Input Files
For information about how to construct input files (dalinp{.dal} [molinp{.mol} [potinp{.pot}]]) for Dalton, please consult the vendor documentation.
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)
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.
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
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.