Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.4.0] - 2025-08-12

Added

  • Write documentation and deploy as gh-pages
  • Add type hints and type checking

Changed

  • README is simplified and points to the documentation site

[1.3.5] - 2025-08-10

Changed

  • Enforce calculation types ordering in VaspManager

[1.3.4] - 2025-08-03

Changed

  • Change POSCAR precision from 8 to 16 to avoid symmetry errors associated with floating point errors

[1.3.3] - 2025-04-02

Changed

  • Use SPDX license expression for compliance with PEP 639

[1.3.2] - 2025-04-02

Changed

  • Use dynamic versioning in pyproject.toml

[1.3.1] - 2025-04-01

Added

  • Added publish to PyPi github workflow

[1.3.0] - 2025-03-24

Added

  • Added optional mixing tags (AMIX, BMIX) to INCAR from calc config

Changed

  • Updated quest configuration for quest[10,11,12] nodes

[1.2.0] - 2025-03-23

Added

  • Added oqmd psuedopotentials json, oqmd-settings branch now uses these psuedopotentials by default
  • Added primitive to be passed in calculation manager kwargs
  • Allow custom calculation configs for individual job managers
  • Added sort_by callable for sorting results by keys
  • Allow other filenames for slurm exe and jobid files
  • Added (optional) write tags LCHARG, LWAVE, and LVTOT to calc config
  • Catch sbatch errors with subprocess.check_output()
  • Added ASCII logo to VaspManager init
  • Added international_monoclinic argument to get_pmg_structure_from_poscar

Changed

  • Changed vasp.q permissions to executable executable
  • Added newline to end of jobid file
  • Updated property setters in Analyzers
  • Updated github actions versions
  • [BREAKING] ElasticAnalyzer is now a better standalone analyzer, and all of the associated processing of VASP outputs is now in the from_calc_dir method. This makes it easier to use ElasticAnalyzer as a utility if you only have the elastic constants and a structure
  • Updated managers with named loggers. Each manager should now print the material name when logging, which should make things easier to track when using multiprocessing
  • Stopped pinning versions, track pymatgen master instead
  • [BREAKING] Unify path naming conventions. Use _dir for directories and _path for filepaths for clarity

Fixed

  • Fixed rlx restart behavior if to_rerun is False
  • Fixed spacing in VASP error handling message
  • Fixed github actions coverage
  • Fixed static post-hoc analysis
  • Fixed stopping behavior for better status tracking

[1.1.4] - 2024-01-17

Added

  • Added ability to run static calculations without a previously existing rlx calculation
  • Added capability to override job preambles/commands by placing a {computer}.yml file in the calculations folder
  • Added capability to override the global calc_config.json by placing a new calc_config.json in a material's calculation mode folder

Changed

  • Major update to error handling, including tracking of STOPPED calculations
  • Changed number of cores reserved for memory when hitting out-of-memory errors as well as for new Quest 9+ nodes
  • Changed default VASP settings for elastic calculations in calc_config.json. Convergence testing w.r.t. smearing and KPOINTS is still recommended
  • Allow VaspManager to recognize previously zipped archives (for rlx-coarse or rlx calculations)
  • Removed bulkmod_standalone as a mode and incorporated the behavior into the normal bulkmod manager

Fixed

  • Ensure elastic calculations use a conventional unit cell

[1.1.3] - 2023-10-19

Added

  • Added the ability to write a KPOINTS file by specifying write_kpoints: true in calc_config.json

Changed

  • Major updates to vasp error handling
  • Changed default symprec in calc_config.json
  • When a job fails, double the walltime instead of doubling the number of nodes. This is typically more efficient in terms of total computational cost
  • Made variable names in util functions more explicit

Fixed

  • Fixed error in increasing the walltime upon job failure
  • Made the mpitasks variable uniform in the vasp.q yml files, and fix the improper reference to mpi_tasks
  • Fixed POTCAR path in computing_config.json
  • Fixed error in ElasticManager when the number of displacements >= 100
  • Fixed Quest computing configuration after Quest8 nodes were retired
  • Fixed automatic NBANDS for ElasticManager when the number of available compute cores is greater than ¾ the number of electrons
  • Fixed BulkmodManager symlink creation when the symlink already exists

[1.1.2] - 2023-10-06

Added

  • Added support for bridges2 in computing_config.json and vasp.q yml templates

Changed

  • Use only pyproject.toml instead of setup.py and pyproject.toml
  • Changed LICENSE to .md instead of .txt
  • Changed utility functions (phead, ptail, pgrep) to iterate over lines in the file rather than reading the entire file into memory
  • pot_dict.json is now a symbolic link to enable better support for multiple VASP versions
  • Utilize yml tempaltes for vasp.q creation for easier customizability