### TABLE OF CONTENTS

## 2.2 Running Quantum ESPRESSO Programs

DESCRIPTION

- Commands for running and restarting Quantum ESPRESSO calculations
- Restart mechanism
- Error-checking mechanism
- Example

### Commands for running and restarting Quantum ESPRESSO calculations

With PWTK the calculations are launched via the
**run**** series of commands. A general syntax of **run****
commands is:

run** [options] inputName [outputName]

where `run**` stands for a particular instance of the run command
(e.g., `runPW, runCP, runPP`; see below) and
*inputName* and *outputName* are the
I/O filenames (*outputName* is optional).

The lists below are in the following form:

* user_command => Tcl proc that provides the command (explanation)

To see the explanation of given user_command, click on the corresponding Tcl proc.

**COMMANDS** for **running** Quantum-ESPRESSO executables :

* dryrunPW => ::pwtk::dryrunPW (make a fast pw.x dry-run) * dryrunCP => ::pwtk::dryrunCP (make a fast cp.x dry-run) * dryrunNEB => ::pwtk::dryrunNEB (make a fast neb.x dry-run) * runPW => ::pwtk::runPW (run pw.x calculation) * runCP => ::pwtk::runCP (run cp.x calculation) * runNEB => ::pwtk::runNEB (run neb.x calculation) * runPP => ::pwtk::runPP (run pp.x calculation) * runDOS => ::pwtk::runDOS (run dos.x calculation) * runBANDS => ::pwtk::runBANDS (run bands.x calculation) * runPROJWFC => ::pwtk::runPROJWFC (run projwfc.x calculation) * runMOLECULARPDOS => ::pwtk::runMOLECULARPDOS (run molecularpdos.x calculation) * runPH => ::pwtk::runPH (run ph.x calculation) * runDYNMAT => ::pwtk::runDYNMAT (run dynmat.x calculation) * runMATDYN => ::pwtk::runMATDYN (run matdyn.x calculation) * runQ2R => ::pwtk::runQ2R (run q2r.x calculation) * runHP => ::pwtk::runHP (run hp.x calculation) * runDAVIDSON => ::pwtk::runDAVIDSON (run turbo_davidson.x calculation) * runLANCZOS => ::pwtk::runLANCZOS (run turbo_lanczos.x calculation) * runEELS => ::pwtk::runEELS (run turbo_eelse.x calculation) * runSPECTRUM => ::pwtk::runSPECTRUM (run turbo_spectrum.x calculation)

* run => ::pwtk::run (generic run driver; use for programs not listed above)

**COMMANDS** for **restarting** Quantum-ESPRESSO calculations :

* rerunPW => ::pwtk::rerunPW (restart the pw.x calculation) * rerunCP => ::pwtk::rerunCP (restart the cp.x calculation) * rerunNEB => ::pwtk::runNEB (restart neb.x calculation) * rerunPH => ::pwtk::rerunPH (restart the ph.x calculation) * rerunDAVIDSON => ::pwtk::rerunDAVIDSON (restart turbo_lanczos.x calculation) * rerunLANCZOS => ::pwtk::rerunLANCZOS (restart turbo_eelse.x calculation) * rerunEELS => ::pwtk::rerunEELS (restart turbo_spectrum.x calculation)

### PWTK's restart mechanism

PWTK has a simple restart mechanism (see ::pwtk::restart), which can be activated by:

restart ON

If the restart mode is ON then the calculation will not be performed if it was already done (default = OFF). PWTK establishes if the calculation is already done by inspecting the respective output file: if the output file exists and corresponds to a normally finished job, then calculation will be skipped.

### PWTK's error-checking mechanism

By default PWTK will terminate the execuation of a script if it detects that a given calculation did not finish normally. The reason is that PWTK scripts may contain workflows where a given calculation depends on the preceding calculations. The error-checking mechanism can be disabled by:

stopOnError OFF

For more details, see ::pwtk::stopOnError.

### Example

# turn the restart mode on restart ON

# run pw.x calculation runPW scf.Si_bulk.in

# how to run a calculation with a code that is not directly supported by PWTK writeFile ev.murnaghan.in { ... input for ev.x program ... } run -serial ev.x ev.murnaghan.in