Dalton
This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.
Introduction[edit]
The kernel of the Dalton2016 suite is the two powerful molecular electronic structure programs, Dalton and LSDalton. Together, the two programs provide an extensive functionality for the calculations of molecular properties at the HF, DFT, MCSCF, and CC levels of theory. Many of these properties are only available in the Dalton2016 suite.
Modules[edit]
$ module load nixpkgs/16.09 intel/2016.4 openmpi/2.0.2 dalton/2017-alpha
Usage[edit]
To run DALTON, load the module and use the launcher "dalton" to run your simulation:
Here is an example:
- DALTON input file: dft_rspexci_nosym.dal
- MOLECULE input file: H2O_cc-pVDZ_nosym.mol.
- BASIS: To use the atomic basis installed with the program, add the option
-b ${BASLIB}
- DALTON LAUNCHER: dalton
- DALTON_NUM_MPI_PROCS: It can be introduced using the option -N or set as an environment variable:
- Option -N: add the option -N ${SLURM_NTASKS} to the command line to run DALTON.
- Set DALTON_NUM_MPI_PROCS as an environment variable:
export DALTON_NUM_MPI_PROCS=${SLURM_NTASKS}
The program can be run using the command:
${dltonlaun} -b ${BASLIB} -N ${SLURM_NTASKS} -dal ${daltoninput} -mol ${daltonmol}
Examples: scripts and input files[edit]
Example 1: dft_rspexci_nosym[edit]
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --mem-per-cpu=3500M
#SBATCH --time=00-30:00
# Load the module:
module load nixpkgs/16.09 intel/2016.4 openmpi/2.0.2 dalton/2017-alpha
# Setting the variables:
dltonlaun=dalton
dltonexec=dalton.x
daltoninput=dft_rspexci_nosym.dal
daltonmol=H2O_cc-pVDZ_nosym.mol
echo "Starting run at: `date`"
echo "Running the example: INPUT=${daltoninput} - Molecule=${daltonmol}"
${dltonlaun} -b ${BASLIB} -N ${SLURM_NTASKS} -dal ${daltoninput} -mol ${daltonmol}
echo "Program finished with exit code $? at: `date`"
**DALTON INPUT
.RUN RESPONSE
**INTEGRALS
.PROPRINT
**WAVE FUNCTIONS
.DFT
B3LYP
**RESPONSE
*LINEAR
.SINGLE RESIDUE
.ROOTS
3
**END OF DALTON INPUT
BASIS
cc-pVDZ
H2O
2 0
8. 1
O 0.0 0.0000000000 0.0
1. 2
H1 1.430 0.0 1.1
H2 -1.430 0.0 1.1
Example 2: dft_rspexci_sym.dal[edit]
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --mem-per-cpu=3500M
#SBATCH --time=00-30:00
# Load the module:
module load nixpkgs/16.09 intel/2016.4 openmpi/2.0.2 dalton/2017-alpha
# Setting the variables:
dltonlaun=dalton
dltonexec=dalton.x
daltoninput=dft_rspexci_sym.dal
daltonmol=H2O_cc-pVDZ_sym.mol
echo "Starting run at: `date`"
echo "Running the example: INPUT=${daltoninput} - Molecule=${daltonmol}"
${dltonlaun} -b ${BASLIB} -N ${SLURM_NTASKS} -dal ${daltoninput} -mol ${daltonmol}
echo "Program finished with exit code $? at: `date`"
**DALTON INPUT
.RUN RESPONSE
**INTEGRALS
.PROPRINT
**WAVE FUNCTIONS
.DFT
B3LYP
**RESPONSE
*LINEAR
.SINGLE RESIDUE
**END OF DALTON INPUT
BASIS
cc-pVDZ
H2O
2
8. 1
O 0.0 0.0000000000 0.0
1. 2
H1 1.430 0.0 1.1
H2 -1.430 0.0 1.1
Example 3: dft_rspexci_nosym[edit]
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2
#SBATCH --mem-per-cpu=3500M
#SBATCH --time=00-30:00
# Load the module:
module load nixpkgs/16.09 intel/2016.4 openmpi/2.0.2 dalton/2017-alpha
# Setting the variables:
dltonlaun=dalton
dltonexec=dalton.x
daltoninput=dft_rspexci_nosym.dal
daltonmol=H2O_cc-pVDZ_nosym.mol
# Set the number of cores DALTON_NUM_MPI_PROCS to ${SLURM_NTASKS}
export DALTON_NUM_MPI_PROCS=${SLURM_NTASKS}
echo "Starting run at: `date`"
echo "Running the example: INPUT=${daltoninput} - Molecule=${daltonmol}"
${dltonlaun} -b ${BASLIB} -dal ${daltoninput} -mol ${daltonmol}
echo "Program finished with exit code $? at: `date`"
**DALTON INPUT
.RUN RESPONSE
**INTEGRALS
.PROPRINT
**WAVE FUNCTIONS
.DFT
B3LYP
**RESPONSE
*LINEAR
.SINGLE RESIDUE
.ROOTS
3
**END OF DALTON INPUT
BASIS
cc-pVDZ
H2O
2 0
8. 1
O 0.0 0.0000000000 0.0
1. 2
H1 1.430 0.0 1.1
H2 -1.430 0.0 1.1
Example 4: dft_rspexci_sym.dal[edit]
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --mem-per-cpu=3500M
#SBATCH --time=00-30:00
# Load the module:
module load nixpkgs/16.09 intel/2016.4 openmpi/2.0.2 dalton/2017-alpha
# Setting the variables:
dltonlaun=dalton
dltonexec=dalton.x
daltoninput=dft_rspexci_sym.dal
daltonmol=H2O_cc-pVDZ_sym.mol
# Set the number of cores DALTON_NUM_MPI_PROCS to ${SLURM_NTASKS}
export DALTON_NUM_MPI_PROCS=${SLURM_NTASKS}
echo "Starting run at: `date`"
echo "Running the example: INPUT=${daltoninput} - Molecule=${daltonmol}"
${dltonlaun} -b ${BASLIB} -dal ${daltoninput} -mol ${daltonmol}
echo "Program finished with exit code $? at: `date`"
**DALTON INPUT
.RUN RESPONSE
**INTEGRALS
.PROPRINT
**WAVE FUNCTIONS
.DFT
B3LYP
**RESPONSE
*LINEAR
.SINGLE RESIDUE
**END OF DALTON INPUT
BASIS
cc-pVDZ
H2O
2
8. 1
O 0.0 0.0000000000 0.0
1. 2
H1 1.430 0.0 1.1
H2 -1.430 0.0 1.1