JUSTUS2/Software/Dalton: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
No edit summary
 
(24 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 =

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


== Input Files ==
You can load the default version of Dalton with the following command:
<pre>
$ module load chem/dalton
</pre>

The module will try to load all modules it needs to function (e.g., compiler, mpi, ...). If loading the module fails, check if you have already loaded one of those modules, but not in the version required by Dalton.

If you wish to load another (older) version of Dalton, you can do so using
<pre>
$ module load chem/dalton/<version>
</pre>
with <version> specifying the desired version.

Please cite Dalton in your publications according to the [https://daltonprogram.org/citation/ references].

== Program Binaries ==

The binary ''dalton'' is main program of the Dalton package.
<pre>
Usage: dalton [options] dalinp{.dal} [molinp{.mol} [potinp{.pot}] [pcmsolver{.pcm}]]

Options:
-w dir : change job directory to dir (default: $HOME)
-b dir : prepend dir to directory list for basis set searches (job directory and dalton basis library
are included automatically)
-o file : redirect output from program to job directory with "file" as file name
-ow : redirect output from program to job directory with standard file name
-dal file : the dalton input file
-mol file : the molecule input file
-pot file : the potential input file (for .QM3, .QMMM and .PELIB)
-pcm file : the pcm input file
-ext log : change default output extension from ".out" to ".log"
-nobackup : do not backup files, simply overwrite outputs
-f dal_mol[_pot] : extract dal_mol[_pot].tar.gz archive from WRKDIR into DALTON_TMPDIR before calculation
starts
-noarch : do not create tar.gz archive
-t dir : set scratch directory DALTON_TMPDIR; this script will append '/DALTON_scratch_<USERNAME>' to
the path unless the path contains 'DALTON_scratch' or you explicitly set -noappend
-d : delete job scratch directory before calculation starts
-D : do not delete job scratch directory after calculation stops
-noappend : do not append anything to the scratch directory; be careful with this option since by
default scratch is wiped after calculation
-get "file1 ..." : get files back from DALTON_TMPDIR after calculation stops
-put "file1 ..." : put files to DALTON_TMPDIR before calculation starts
-omp num : set the number of OpenMP threads. Note that Dalton is not OpenMP parallelized, however, this
option can be used with e.g. threaded blas as MKL
-N num |-np num : use num MPI processes (defaults to 1, illegal if DALTON_LAUNCHER specified)
-cpexe : copy dalton.x to DALTON_TMPDIR before execution, either to global scratch (if
DALTON_USE_GLOBAL_SCRATCH is set) or to local scratch on all nodes
-rsh : use rsh/rcp for communication with MPI nodes (default: ssh/scp)
-nodelist "node1 ..." : set nodelist DALTON_NODELIST, dalton.x will be copied to DALTON_TMPDIR on each node unless
DALTON_USE_GLOBAL_SCRATCH is defined (the script uses PBS_NODEFILE or SLURM_NODELIST if
available)
-x dalmol1 dalmol2 : calculate NEXAFS spectrum from ground and core hole states
-exe exec : change the executable from default ($DALTON_HOME/dalton/dalton.x) to exec
-pg : do profiling with gprof
-gb mem : set dalton max usable work memory to mem Gigabytes (mem integer)
-mb mem : set dalton max usable work memory to mem Megabytes (mem integer)
-ngb mem : set node max usable work memory to mem Gigabytes (mem integer)
-nmb mem : set node max usable work memory to mem Megabytes (mem integer)
</pre>

== Hints for using Dalton ==

=== Input Files ===


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 documentation].
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 ==


Environment variables understood by Dalton:
Environment variables understood by Dalton:
Line 120: Line 44:
</pre>
</pre>


=== Disk Usage ===
== Disk Usage ==


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.
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.
Line 130: Line 54:
Example scripts are available in the directory <span style="background:#edeae2;margin:2px;padding:1px;border:1px dotted #808080">$DALTON_EXA_DIR</span>:
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 show chem/dalton # show environment variables, which will be available after 'module load'
$ module load chem/dalton # load module
$ module load chem/dalton # load module
$ ls $DALTON_EXA_DIR # show content of directory $DALTON_EXA_DIR
$ ls $DALTON_EXA_DIR # show content of directory $DALTON_EXA_DIR
Line 136: Line 59:
</pre>
</pre>


Run several example jobs on '''JUSTUS 2''':
Run a first simple example job on JUSTUS2:
<pre>
<pre>
$ module load chem/dalton # load module
$ module load chem/dalton # load module
Line 152: Line 75:


'''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>?
'''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>?

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


= Useful links =
= Useful links =
Line 159: 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

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.

Useful links