Releases: SMTG-Bham/ShakeNBreak
Releases · SMTG-Bham/ShakeNBreak
3.4.3
3.4.2
- Add polarons distortion tutorial; https://shakenbreak.readthedocs.io/en/latest/ShakeNBreak_Polaron_Workflow.html
- Update to use efficiency functions from latest
doped. - Use
tqdmprogress bar for distortion generation.
3.4.1
- Updated handling of Dimer distortions:
- The default dimer bond lengths are now set to match known covalent bond lengths (e.g. for O-O, S-S,
O-N etc), or failing that, the sum of their covalent radii (rather than prev hard default of 2 Å). - Alternatively, dimer bond lengths can be specified by the user, both in the
distortionsfunctions
and in the higher levelshakenbreak.inputfunctions/classes (i.e. inDistortions).
- The default dimer bond lengths are now set to match known covalent bond lengths (e.g. for O-O, S-S,
- Added
distort_and_rattleconvenience function todistortions, to easily apply the SnB distortions
and rattling (where rattling is not applied to the bond-distorted atoms) to a given structure. Useful for
power users. - Minor code streamlining and simplification in
inputs/distortions.
3.4.0
- Major efficiency updates:
- Uses
_scan_sm_stol_till_matchand turbo-chargedStructureMatchermethods fromdoped
v3, speeding up structure matching (e.g. insnb-regeneratefor identifying distinct defect
geometries) by >~3 orders of magnitude. - Uses caching in atomic displacement calculations (for
"disp"/"max_dist"metrics) - Use efficient Voronoi analyzer from
dopedv3for multiplicity determination. - More efficient (and cleaner) plotting with many defects/distortions
- Uses
- Add
Dimerto default distortions grid output for vacancies, following discussions and testing for
cation vacancies in oxides. - Miscellaneous:
- All
snb-xxxfunctions now auto-detect if running within a defect folder or in a top-level
directory (i.e. auto--allbehaviour). - Handling of gzipped
OUTCAR.gzfiles for energy parsing. - For (rare) cases of degenerate choices of NNs to distort in terms of distance, but non-degenerate
combinations(e.g. distorting 2 NNs of a square coordination, could be cis or trans choices),
the choice is made deterministically; choosing the combination with the shortest distances between
distorted NNs (i.e. the cis choice). - Greater verbosity control
- Some code cleanup and formatting, and robustness updates
- All
3.3.6
- Add
py.typedto properly detect type hints by @Andrew-S-Rosen snb-runupdates to improve efficiency
3.3.5
- Enforce
doped>=2.4.4requirement.
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
pymatgenrelease. - Allow unrecognised defect names when plotting.
3.3.3
- Add
verboseoption 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.jsonfor 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
whenscping around etc.- Minor updates:
- Refactor
_format_defect_nametoformat_defect_namefromdoped(now a public function) - Update
snb-runto avoid possible 'file exists' warning - Update tutorials/notebooks to specify
vasp_nkred_stdto streamline workflow - Remove unnecessary
tutorialsfolder 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_metadataoverwriting/combining more robust and less (unnecessarily) verbose
- Refactor
- Bugfix of
snb-runfromv3.3.0: If max number of electronic steps (NELM) threshold was reached
in an ionic step, it would be falsely recognised as converged (due tounconvergedbeing in the
OUTCAR). This would only affectsnb-runbehaviour in some cases withv3.3.0, and if so the
user should be warned anyway withBond_Distortion_X not fully relaxedwhen later running
snb-parse/snb-plot/snb-groundstate. Now fixed. To double check, one can update
ShakeNBreakand 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_atomsto theDistortionclass to allow users to specify the indexes of the atoms to distort. - Update tests to check the new functionality.
- Update
get_homoionic_bondsto detect homoionic bonds between different cations/anions (rather than just bonds between the same element) - Fix issue with
snb-generatewhen no defect name was specified (by addingunrelaxed=Truewhen callingget_defect_name_from_entry) - Update functions that read
OUTCARsto be able to readOUTCAR.gzfiles 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-runto 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