JUSTUS2/Software/Dalton: Difference between revisions
K Siegmund (talk | contribs) No edit summary |
|||
(41 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 = |
|||
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 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. |
|||
== Environment Variables == |
|||
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. |
|||
Environment variables understood by Dalton: |
|||
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> |
<pre> |
||
DALTON_TMPDIR : scratch directory |
|||
Usage: dalton [options] dalinp{.dal} [molinp{.mol} [potinp{.pot}] [pcmsolver{.pcm}]] |
|||
DALTON_USE_GLOBAL_SCRATCH : use global scratch directory, do not copy any files to worker nodes |
|||
⚫ | |||
Options: |
|||
DALTON_USE_GLOBAL_SCRATCH is defined |
|||
DALTON_LAUNCHER : launcher for the dalton.x binary (if defined, -N flag not allowed) |
|||
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) |
|||
⚫ | |||
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> |
</pre> |
||
== |
== Disk Usage == |
||
⚫ | |||
⚫ | |||
=== Disk Usage === |
|||
Scratch files are written to |
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. |
||
= Examples = |
= Examples = |
||
Line 119: | 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 125: | Line 59: | ||
</pre> |
</pre> |
||
Run |
Run a first simple example job on JUSTUS2: |
||
<pre> |
<pre> |
||
$ module load chem/dalton # load module |
$ module load chem/dalton # load module |
||
Line 137: | Line 71: | ||
$ ls # when job finishes the results will be visible in this directory |
$ ls # when job finishes the results will be visible in this directory |
||
</pre> |
</pre> |
||
= FAQ = |
|||
'''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 144: | 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 |
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.