Releases: SMTG-Bham/ShakeNBreak
Releases · SMTG-Bham/ShakeNBreak
3.3.6
- Add
py.typed
to properly detect type hints by @Andrew-S-Rosen snb-run
updates to improve efficiency
3.3.5
- Enforce
doped>=2.4.4
requirement.
3.3.4
- Make oxidation state guessing more efficient.
- Update Quantum Espresso and FHI-aims IO functions to work with new (and old) ASE release.
- Minor updates to ensure compatibility with recent
pymatgen
release. - Allow unrecognised defect names when plotting.
3.3.3
- Add
verbose
option to more parsing/plotting functions for better control of output detail. - Improve effiency & robustness of oxidation state handling.
- Miscellaneous efficiency (e.g. memory reduction) and robustness updates.
- Improved GitHub Actions test efficiency.
3.3.1
distortion_metadata.json
for each defect now saved to the individual defect folders (as well as the
combined total distortion metadata in the top level folder) – more likely to be retained by the user
whenscp
ing around etc.- Minor updates:
- Refactor
_format_defect_name
toformat_defect_name
fromdoped
(now a public function) - Update
snb-run
to avoid possible 'file exists' warning - Update tutorials/notebooks to specify
vasp_nkred_std
to streamline workflow - Remove unnecessary
tutorials
folder with duplicate tutorial notebook (to reduce workload). - Add Binder/Colab buttons to run tutorials in the cloud from docs
- Default verbosity updates (quieten some unnecessary info messages)
- Make
distortion_metadata
overwriting/combining more robust and less (unnecessarily) verbose
- Refactor
- Bugfix of
snb-run
fromv3.3.0
: If max number of electronic steps (NELM
) threshold was reached
in an ionic step, it would be falsely recognised as converged (due tounconverged
being in the
OUTCAR
). This would only affectsnb-run
behaviour in some cases withv3.3.0
, and if so the
user should be warned anyway withBond_Distortion_X not fully relaxed
when later running
snb-parse
/snb-plot
/snb-groundstate
. Now fixed. To double check, one can update
ShakeNBreak
and just re-runsnb-run
, and any affected distortions will be correctly determined as
unconverged and be re-submitted.
3.3.0
- Add Dimer distortion as a targeted distortion for dimer reconstructions. It pushes two of the defect NN to a distance of 2 Å.
- Add option
distorted_atoms
to theDistortion
class to allow users to specify the indexes of the atoms to distort. - Update tests to check the new functionality.
- Update
get_homoionic_bonds
to detect homoionic bonds between different cations/anions (rather than just bonds between the same element) - Fix issue with
snb-generate
when no defect name was specified (by addingunrelaxed=True
when callingget_defect_name_from_entry
) - Update functions that read
OUTCARs
to be able to readOUTCAR.gz
files too - Update energies parsing to still work when all distortions are high energy, but warn the user about this (i.e. only
Unperturbed
) - Update
snb-run
to add early-on detection of distortions that are stuck in high energy basins and rename them to "High_Energy" to avoid continuing their relaxation - Miscellaneous efficiency improvements and bug fixes
3.2.3
- Ensure the sorted
pymatgen
Structure
is created for the VASP input (fixes a rare bug inv3.2.1
andv3.2.2
where for certain structures the order of elements in the POSCAR was not properly sorted,
which is usually fine, but messed with theROPT
INCAR
setting). - Plotting format updates (make legend frame more transparent to make datapoints behind it easier to see).
- Update tests
- Update docs (note about handling AFM systems)
3.2.2
- Consolidate
SnB
/doped
INCAR
defaults and remove redundant settings. - Ensure backwards compatiblity in defect folder name handling.
- Fix bug in
get_site_magnetizations
.
3.2.1
- Update CLI config handling.
- Remove
shakenbreak.vasp
module and usedoped
VASP file writing functions directly. - Add INCAR/KPOINTS/POTCAR file writing tests.
test_local.py
now deleted as these tests are now
automatically run intest_input.py
/test_cli.py
ifPOTCAR
s available.
3.2.0
- Following the major release of
doped
v2.0
, now compatible with the newpymatgen
defects code (pymatgen>2022.7.25
), this update:- Allows input of
doped
DefectsGenerator
object toDistortions
- Updates the tutorials to reflect the current recommended workflow of generating defects
withdoped
and then applyingShakeNBreak
, no longer requiring separate virtual environments 🎉
- Allows input of