Difference between revisions of "JUSTUS2/Software/Dalton"

From bwHPC Wiki
Jump to: navigation, search
(Version-Specific Information)
 
(67 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
| Open-source software, distributed under the GNU Lesser General Public License (LGPL). [[#License|More...]]
+
| 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>
 
$ module load chem/dalton
 
</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>
 
<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 ..."
 
  +
'''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>?
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 " "
 
   
  +
'''A:''' Increase Dalton's usable work memory with either -mb or -gb on the command line.
# 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>
 
   
 
= Useful links =
 
= Useful links =
Line 138: Line 84:
 
* [https://en.wikipedia.org/wiki/Dalton_(program) Wikipedia article (english)]
 
* [https://en.wikipedia.org/wiki/Dalton_(program) Wikipedia article (english)]
 
* [https://daltonprogram.org/tools/ Plugins for Dalton (english)]
 
* [https://daltonprogram.org/tools/ Plugins for Dalton (english)]
----
 
[[Category:Chemistry software]][[Category:BwForCluster_Chemistry]][[Category:BwForCluster_JUSTUS_2]]
 

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