JUSTUS2/Software/Turbomole: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 106: Line 106:
| style="height=20px; text-align:left;padding:3px"| no
| style="height=20px; text-align:left;padding:3px"| no
|- style="vertical-align:top;"
|- style="vertical-align:top;"
| style="background-color:#d3ddd8;height=20px; text-align:left;padding:3px"| dscf
| style="background-color:#d3ddd8;height=20px; text-align:left;padding:3px" | dscf
| style="height=20px; text-align:left;padding:3px"| Energy calculations
| style="height=20px; text-align:left;padding:3px"| Energy calculations
| style="height=20px; text-align:left;padding:3px"| yes
| style="height=20px; text-align:left;padding:3px"| yes
Line 235: Line 235:
=== Geometry optimization ===
=== Geometry optimization ===
To do a geometry optimization of the [[#Single node job template provided by Turbomole Module|previous job example]] modify bwHPC_turbomole_single-node_example.sh and replace the line
To do a geometry optimization of the [[#Single node job template provided by Turbomole Module|previous job example]] modify bwHPC_turbomole_single-node_example.sh and replace the line
{{bwFrameA|
{| style="width: 100%; border:1px solid #d0cfcc; background:#f2f7ff;border-spacing: 2px;"
| style="width:280px; text-align:center; white-space:nowrap; color:#000;" |
<source lang="bash">
<source lang="bash">
time dscf > dscf.out 2>&1
time dscf > dscf.out 2>&1
</source>
</source>
|}
}}
with
with
{{bwFrameA|
{| style="width: 100%; border:1px solid #d0cfcc; background:#f2f7ff;border-spacing: 2px;"
| style="width:280px; text-align:center; white-space:nowrap; color:#000;" |
<source lang="bash">
<source lang="bash">
time jobex -dscf -keep 2>&1
time jobex -dscf -keep 2>&1
</source>
</source>
|}
}}
and submit the modified script to the queueing system via [[Batch Jobs|msub]].
and submit the modified script to the queueing system via [[Batch Jobs|msub]].
The Turbomole command ''jobex'' controls the call of all the required Turbomole binaries for the geometry optimization.
The Turbomole command ''jobex'' controls the call of all the required Turbomole binaries for the geometry optimization.

Revision as of 20:44, 1 May 2014

Name
module load chem/turbomole
Availability bwUniCluster
License commerical
Citing See Turbomole manual
Links Homepage; Documentation
Graphical Interface No (Yes, for generating input)
User Forum external

Description

Turbomole is a general purpose quantum chemistry software package for ab initio electronic structure calculations and provides:

  • ground state calculations for methods such as Hartree-Fock, DFT, MP2, and CCSD(T);
  • excited state calculations at different levels such as full RPA, TDDFT, CIS(D), CC2, an ADC(2);
  • geometry optimizations, transition state searches, molecular dynamics calculations;
  • property and spectra calculations such as IR, UV/VIS, Raman, and CD;
  • approximations like resolution-of-the-identity (RI) to speed-up the calculations without introducing uncontrollable or unknown errors; as well as
  • parallel versions (OpenMP, Fork, MPI and Global Arrays) for almost all kind of jobs.

For more information on Turbmole's features please visit http://www.turbomole-gmbh.com/program-overview.html.

Versions and Availability

A current list of the versions available on the bwUniCluster and bwForClusters can be obtained from the Cluster Information System: CIS Information on Turbomole

On the command line interface (CLI) of a particular bwHPC cluster a list of all available Turbomole versions can be inquired as followed

$ module avail chem/turbomole


Parallel computing

The Turbomole Module subsumes all available parallel computing variants of Turbomole's binaries. Turbomole defines the following parallel computing variants:

  • SMP = Shared-memory parallel computing based on OpenMP and Fork() with the latter using separated address spaces.
  • MPI = Message passing interface protocol based parallel computing
  • GA = Global arrays, API for "shared-memory" programming for distributed-memory computers which can be used e.g. to complement MPI.

However only one of the 3 parallel variants or the sequential variant can be loaded at once and most Turbomole's binaries support only 1 or 2 of the parallelization variants. Like for Turbomole installations without a Module system, the variants have to be triggered by the environment variable $PARA_ARCH.

Usage

Before loading the Module

Before loading the Turbomole Module the parallel computing variant has to be defined via the environment variable $PARA_ARCH using the abbreviations SMP, MPI or GA, e.g.:

$ export PARA_ARCH=MPI

will later load the MPI binary variants. If the variable $PARA_ARCH is not defined or empty, the sequential binary variants will be active once the Turbomole Module is loaded.

Loading the Module

You can load the default version of Turbomole with the command:

$ module load chem/turbomole

The Turbomole Module does not depend on any other Module, but on the variable $PARA_ARCH. Moreover, Turbomole provides its own libraries regarding OpenMP, Fork(), MPI, and Global Array based parallelization. If you wish to load a specific (older) version you can do so using e.g.:

$ module load chem/turbomole/6.5

to load the version 6.5

Switching between different parallel variants

To switch between the different parallel variants provided by the Turbomole Module, simply define the new parallel variant via $PARA_ARCH and load the Module again. Note that for switching between the parallel variants unloading of the Turbomole Module is not required. For instance to change to the MPI variant, execute:

$ export PARA_ARCH=MPI
$ module load chem/turbomole


Turbomole binaries

The Turbomole software package consists of a set of stand-alone program binaries providing different features and parallelization support:

Binary Features OpenMP Fork MPI GA
define Interactive input generator no no no no
dscf Energy calculations yes yes yes no
grad Gradient calculations no yes yes no
ridft Energy calc. with fast Coulomb approximation no yes yes yes
rdgrad Gradient calc. with fast Coulomb approximation no yes yes yes
ricc2 Electronic excitation energies, transition moments and properties of excited states yes no yes no
statpt Hessian and coordinate update for stationary point search no no no no
aoforce Analytic calculation of force constants, vibrational frequencies and IR intensities no yes no no
escf Calc. of time dependent and dielectric properties no yes no no
egrad gradients and first-order properties of excited states no yes no no
odft Orbital-dependent energy calc. yes no no no

For the complete set of binaries and more detailed description of their features read here.


Turbomole scripts

Turbomole's tool set contains scripts that help to prepare, execute workflows (such as geometry optimisation) and postprocess results.

Script Type Description
x2t Preparation Converts XYZ coordinates into Turbomole coordinates.
sdg Preparation Shows data group from control file: for example$ sdg coordshows current Turbomole coordinates used.
jobex Optimization workflow Shell script that controls and executes automatic optimizations of molecular geometry parameters.
NumForce Workflow Shell script to calculates 2nd derivatives by numerical differentiation of gradients. Supports parallelization of tasks.
tm2molden Postprocessing Creates a molden format input file for the Molden program.
eiger Postprocessing Script front-end of program eigerf to display HOMO-LUMO gap and MO eigenvalues.

For the complete set of tools and more detailed description of their features read here.

Disk Usage

By default, scratch files of Turbomole binaries are placed in the directory of Turbmole binary execution. Please do not run your Turbomole calculations in your $HOME or $WORK directory.

Examples

Single node jobs

Template provided by Turbomole Module

The Turbomole Module provides a simple Moab example of Cubane (C8H8) that runs an energy relaxation via MPI parallel dscf using 4 cores on the local file system. To simply run the example do the following steps:

$ module load chem/turbomole
$ mkdir -vp ~/Turbomole-example/
$ cd ~/Turbomole-examples/
$ cp -r $TURBOMOLE_EXA_DIR/* ~/Turbmole-example/
$ msub bwHPC_turbomole_single-node_example.sh

The last step submits the job example script bwHPC_turbomole_single-node_example.sh to the queueing system. Once started on a compute node, all calculations will be done under an unique directory on the local file system of that particular compute node.

Geometry optimization

To do a geometry optimization of the previous job example modify bwHPC_turbomole_single-node_example.sh and replace the line

time dscf > dscf.out 2>&1

with

time jobex -dscf -keep 2>&1

and submit the modified script to the queueing system via msub. The Turbomole command jobex controls the call of all the required Turbomole binaries for the geometry optimization.

Version-Specific Information

For specific information about version X, see the information available via the module system with the command

$ module help chem/turbomole/X