Turbomole

From ScientificComputing
Revision as of 14:32, 25 August 2016 by Sfux (talk | contribs) (Created page with "{{Application}}")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Category

Chemistry, Quantum chemistry

Description

Turbomole is a highly optimized software package for large-scale quantum chemical simulations of molecules, clusters, and periodic solids. Turbomole uses Gaussian basis sets and specializes on predictive electronic structure methods with excellent cost to performance characteristics, such as (time-dependent) density functional theory (TDDFT), second-order Møller–Plesset theory, and explicitly correlated coupled cluster (CC) methods.

Available versions (Euler, old software stack)

Legacy versions Supported versions New versions
6.4.0, 6.4.0_mpi, 6.4.0_smp 7.0.2, 7.0.2_smp, 7.2.0, 7.2.0_smp

Please note that this page refers to installations from the old software stack. There are two software stacks on Euler. Newer versions of software are found in the new software stack.

Environment modules (Euler, old software stack)

Version Module load command Additional modules loaded automatically
6.4.0 module load turbomole/6.4.0
6.4.0_mpi module load turbomole/6.4.0_mpi
6.4.0_smp module load turbomole/6.4.0
7.0.2 module load new turbomole/7.0.2
7.0.2_smp module load new turbomole/7.0.2_smp
7.2.0 module load new turbomole/7.2.0
7.2.0_smp module load new turbomole/7.2.0_smp

Please note that this page refers to installations from the old software stack. There are two software stacks on Euler. Newer versions of software are found in the new software stack.

How to submit a job

Turbomole jobs need to be submitted through the batch system. For running a calculation, you need to prepare different input files, like a coord file, a basis file and a control file. The preparation of a Turbomole is documented on the corresponding wiki page. A typical submission command could look like
sbatch [Slurm options] --wrap="jobex [Turbomole options]"
Here you need to replace [Slurm options] with Slurm parameters for the resource requirements of the job. Please find a documentation about the parameters of sbatch on the wiki page about the batch system.

Parallel jobs

For running parallel Turobmole jobs, you need to load a different module.
module load turbomole/6.4.0_smp

or

module load turbomole/6.4.0_mpi

It is convenient to create a small runscript (run.tm) for parallel Turbomole jobs to set the necessary environment variables:

run.tm:

export PARNODES=X
export PARA_ARCH=SMP
export TURBOTMPDIR=$TMPDIR
jobex [Turbomole Parameter] > output.log)

Here X denotes the number of cores. For SMP jobs on Euler, this number should be between 1 and 24. It is important that when submitting a job, the -n option of bsub needs to be set to X too. You can then submit such a run script like shown below.

sbatch --ntasks=X [Slurm options] < run.tm
If you set the $TURBOTMPDIR variable, then it is important that you request some scratch space, when submitting your job.

Example

As an example for a Turbomole calculation, we are carrying out a geometry optimization for a water molecule.
[leonhard@euler01 turbomole]$ ls
basis  control  coord  mos
[leonhard@euler01 turbomole]$ module load turbomole/6.4.0
[leonhard@euler01 turbomole]$ bsub -n 1 -W 4:00 -R "rusage[mem=1024]" "jobex -gcart 4 -c 200"
Generic job.
Job <25763914> is submitted to queue <normal.4h>.
[leonhard@euler01 turbomole]$ bjobs
JOBID      USER    STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME
25763914   leonhard    PEND  normal.4h  euler01               * 4 -c 200 Aug 26 08:21
[leonhard@euler01 turbomole]$ bjobs
JOBID      USER    STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME
25763914   leonhard    RUN   normal.4h  euler01   e1303       * 4 -c 200 Aug 26 08:21
[leonhard@euler01 turbomole]$ bjobs
No unfinished job found
[leonhard@euler01 turbomole]$ ls
basis    converged  energy             gradient    job.last   lsf.o25763914  statistics
control  coord      GEO_OPT_CONVERGED  hessapprox  job.start  mos
[leonhard@euler01 turbomole]$ cat energy
$energy      SCF               SCFKIN            SCFPOT
     1   -76.46470541602    76.23539099289  -152.70009640890
     2   -76.46478669691    76.17647613997  -152.64126283688
     3   -76.46489064004    76.20056542635  -152.66545606639
     4   -76.46489079469    76.20160237622  -152.66649317091
     5   -76.46489080165    76.20164548535  -152.66653628700
$end
Please be aware that only for parallel calculations, the variable $TURBOTMPDIR can be set to $TMPDIR in order to save temporary files in the local scratch of the compute nodes. For serial Turbomole jobs, this is not supported.

License information

Provided by the laboratory of physical chemistry

Links

http://www.turbomole-gmbh.com/manuals/version_6_3/Documentation_html

http://www.turbomole-gmbh.com/manuals/version_6_3/DOC.pdf
http://www.turbo-forum.com/
http://www.cosmologic.de/index.php?cosId=3026&crId=3
http://www.turbomole-gmbh.com/manuals/version_6_3/Tutorial_6-3.pdf