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