PAOFLOW.basis_gen.driver#

High-level basis generator: UPF -> BASIS_PS/<elem>/<shell>.dat files.

Functions#

generate_basis_for_pseudo(upf_path, out_dir[, shells, ...])

Pseudize the requested shells of a UPF and write them to disk.

generate_basis_for_directory(pseudo_dir, out_dir[, ...])

Run generate_basis_for_pseudo() over every UPF in pseudo_dir.

Module Contents#

PAOFLOW.basis_gen.driver.generate_basis_for_pseudo(upf_path, out_dir, shells=None, preset='extended', r_box=None, n_points=2000, overwrite=True, verbose=False)[source]#

Pseudize the requested shells of a UPF and write them to disk.

Parameters:
  • upf_path (str) – Path to the UPF file.

  • out_dir (str) – Output root (per-element subdirectory out_dir/<elem>/ is created automatically).

  • shells (list of str, optional) – Explicit shell labels (e.g. ['3S', '3P', '3D']). Defaults to the preset augmentation rules.

  • preset ({'minimal', 'standard', 'extended'}) – Used when shells is None.

  • r_box (float, optional) – Confining box radius (Bohr). Defaults to min(upf.r[-1], 10).

  • n_points (int) – Solver mesh size (interior points = n_points - 1).

  • overwrite (bool) – If False, existing files are skipped.

  • verbose (bool) – Print one line per generated shell.

Returns:

written – Paths of the files written.

Return type:

list of str

PAOFLOW.basis_gen.driver.generate_basis_for_directory(pseudo_dir, out_dir, preset='extended', r_box=None, n_points=2000, overwrite=True, verbose=False)[source]#

Run generate_basis_for_pseudo() over every UPF in pseudo_dir.

Returns a dict {element_symbol: [written_paths]}.