Install

Prerequisites

HTP-tools consists of two packages: Moller and cif2x. The following programs and libraries are required for each package.

  • For Moller
    • Python 3.x
    • ruamel.yaml module
    • tabulate module
    • GNU Parallel (It must be installed on servers or compute nodes on which the job script is executed.)
  • For cif2x
    • Python 3.x
    • pymatgen module
    • ruamel.yaml module
    • f90nml module
    • qe-tools module
    • numpy module
    • pandas module
    • monty module

How to download and install

You can obtain source packages of HTP-tools from release pages for Moller and cif2x, respectively.
The latest versions are also available from GitHub repositories by the following commands:

  • For Moller,
    $ git clone https://github.com/issp-center-dev/Moller.git
  • For cif2x,
    $ git clone https://github.com/issp-center-dev/cif2x.git

How to run

To run Moller:

moller is a tool to generate batch job scripts for supercomputers in which programs are run in parallel for a set of execution conditions using concurrent execution features.

Prepare job description file

First, you need to create a job description file in YAML format that describes the tasks to be executed on supercomputers. The details of the format will be given in File Format section of the manual.

Run command

Run moller program with the job description file, and a batch job script will be generated.

$ moller -o job.sh input.yaml
Run batch jobs

Transfer the generated batch job scripts to the supercomputer. Prepare a directory for each parameter set, and create a list of the directory names in a file list.dat. Note that the list contains the relative paths to the directory where the batch job is executed, or the absolute paths.

Once the list file is ready, you may submit a batch job. The actual command depends on the system.

In ohtaka, slurm is used for the job scheduling system. In order to submit a batch job, a command sbatch is invoked with the job script as an argument. Parameters can be passed to the script as additional arguments; the name of list file is specified as a parameter.

$ sbatch job.sh list.dat

If the list file is not specified, list.dat is used by default.

Check the status of the calculation

After the job finishes, you may run the following command

$ moller_status input.yaml list.dat

to obtain a report whether the calculation for each parameter set has been completed successfully.

Retry/resume job

In case the job is terminated during the execution, the job may be resumed by submitting the batch job again with the same list file. The yet unexecuted jobs (as well as the unfinished jobs) will be run.

In case of ISSP system B (ohtaka)

$ sbatch job.sh list.dat

To retry the failed tasks, the batch job is submitted with –retry command line option.

$ sbatch job.sh --retry list.dat

To run cif2x:

cif2x is a tool to generate a set of input files for first-principles calculation software. It takes an input parameter file as a template, and generates parameter items that may vary by materials and calculation conditions from crystallographic data. In the present version, cif2x supports Quantum ESPRESSO, VASP, and OpenMX.

Prepare input parameter file

First, you need to create an input parameter file in YAML format that describes contents of the input file to be generated for the first-principles calculation software.

Prepare crystal structure files and pseudo-potential files

The crystal structure data need to be prepared for the target materials. The file format is CIF, POSCAR, xfs, or those supported by pymatgen.

For Quantum ESPRESSO, the pseudo-potential files and the index file in CSV format need to be placed. Their locations are specified in the input parameter file.

For VASP, the location of the pseudo-potential files will be specified in a file ~/.config/.pmgrc.yaml or by an environment variable. It may be specified in the input parameter file.

Run command

Run cif2x command with the input parameter file and the crystal structure data as arguments. To generate input files for Quantum ESPRESSO, the target option -t QE should be specified. The option turns to -t VASP for VASP, and -t OpenMX for OpenMX.

$ cif2x -t QE input.yaml material.cif

Further information will be available on the manual.


東京大学物性研究所 ソフトウェア開発・高度化プロジェクト
Project for advancement of software usability in materials science(PASUMS)