2.2 Running Quantum ESPRESSO Programs


  1. Commands for running and restarting Quantum ESPRESSO calculations
  2. Restart mechanism
  3. Error-checking mechanism
  4. 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.


     # turn the restart mode on
     restart ON

     # run pw.x calculation

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