Recent Releases of ShakeNBreak
ShakeNBreak - 3.4.2
- Add polarons distortion tutorial; https://shakenbreak.readthedocs.io/en/latest/ShakeNBreakPolaronWorkflow.html
- Update to use efficiency functions from latest
doped. - Use
tqdmprogress bar for distortion generation.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] 12 months ago
ShakeNBreak - 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).
- 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.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
ShakeNBreak - 3.4.0
- Major efficiency updates:
- Uses
_scan_sm_stol_till_matchand turbo-chargedStructureMatchermethods fromdopedv3, 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
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
ShakeNBreak - 3.3.6
- Add
py.typedto properly detect type hints by @Andrew-S-Rosen snb-runupdates to improve efficiency
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 2 years ago
ShakeNBreak - 3.3.5
- Enforce
doped>=2.4.4requirement.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 2 years ago
ShakeNBreak - 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.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 2 years ago
ShakeNBreak - 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.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
ShakeNBreak - 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 theOUTCAR). 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 runningsnb-parse/snb-plot/snb-groundstate. Now fixed. To double check, one can updateShakeNBreakand just re-runsnb-run, and any affected distortions will be correctly determined as unconverged and be re-submitted.
Scientific Software - Peer-reviewed
- Python
Published by kavanase over 2 years ago
ShakeNBreak - 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
Scientific Software - Peer-reviewed
- Python
Published by kavanase over 2 years ago
ShakeNBreak - 3.2.3
- Ensure the sorted
pymatgenStructureis created for the VASP input (fixes a rare bug inv3.2.1andv3.2.2where for certain structures the order of elements in the POSCAR was not properly sorted, which is usually fine, but messed with theROPTINCARsetting). - 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)
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 2 years ago
ShakeNBreak - 3.2.2
- Consolidate
SnB/dopedINCARdefaults and remove redundant settings. - Ensure backwards compatiblity in defect folder name handling.
- Fix bug in
get_site_magnetizations.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 2 years ago
ShakeNBreak - 3.2.1
- Update CLI config handling.
- Remove
shakenbreak.vaspmodule and usedopedVASP file writing functions directly. - Add INCAR/KPOINTS/POTCAR file writing tests.
test_local.pynow deleted as these tests are now automatically run intest_input.py/test_cli.pyifPOTCARs available.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - 3.2.0
- Following the major release of
dopedv2.0, now compatible with the newpymatgendefects code (pymatgen>2022.7.25), this update:- Allows input of
dopedDefectsGeneratorobject toDistortions - Updates the tutorials to reflect the current recommended workflow of generating defects
with
dopedand then applyingShakeNBreak, no longer requiring separate virtual environments 🎉
- Allows input of
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - 3.1.0
- Update dependencies, as
hiphive=1.2has been released, makingShakeNBreakcompatible withpython=3.11🎉
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - 3.0.0
- Switch to semantic versioning
- Update rattling functions to handle primitive bulk materials as well as supercells.
- Add check to
snb-runif there are multipleOUTCARs present with one or less ionic steps, and if this is also the case for the current run -> warn the user. - Small fixes, formatting and docs updates.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.6.2
- Add
snb-magfunction, and automatically check the magnetisation fromISPIN = 2OUTCARfiles when continuing relaxations withsnb-run(and change toISPIN = 1if magnetisation is negligible). - Update handling of minimum distances and oxidation states, to deal with single-atom primitive unit cells and
systems where
pymatgencannot guess the oxidation state (e.g. single-elements, intermetallics etc). - Docs updates
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.6.1
- Make parsing of
DefectEntrys more robust. - Update dependencies (now supporting
python=3.10due tonumbaupdates) - Refactor
CITATION.cfftoCITATIONS.md - Update docs, formatting and cleanup.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.4.2
- Update
numpyrequirement tonumpy>=1.21.2to fixnumpy.typing.NDArrayimport error. - Add News & Views free-to-read link to docs
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.4.1
- Updates to
snb-run(copyjobfrom parent directory if present, switch toALGO = Allif poor electronic convergence...) - Make
format_defect_name()more robust - Update docs and
README.mdwith published article links - Formatting and cleanup
- Make oxidation state guessing more efficient (previously was causing bottleneck with large cells)
- Fix oxidation state guessing for rare elements
- Add note to
Tipsdocs page about bulk phase transformation behaviour - Refactor to
jsonrather thanpickle
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.2.2
- Change
numpyversion requirement indocs/requirements.txttonumpy>=1.21to work withnumpy.typing.NDArray.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.2.1
- Refactor Distortions() class to take in DefectEntry objects as input, rather than Defect objects, to be
compatible with
pymatgen-analysis-defects. - Fix ticks and ticklabels in plots
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.1.3
- Specify
pandasversion in requirements.txt to equal or higher than 1.1.0 - Refactor
snb-regenerateto execute when no arguments are specified (rather than showing help message)
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.1.2
- Specify
pandasversion in requirements.txt to equal or higher than 1.1.0 - Refactor
snb-regenerateto execute when no arguments are specified (rather than showing help message)
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v23.1.1
- Add 'Studies using ShakeNBreak' and 'How to Cite' to readme and docs.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.12.2
- Add JOSS badge to docs
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.12.1
- Minor updates to paper.md and paper.bib
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.11.6
Main changes: - Add example notebook showing how to generate interstitials and apply SnB to them. - Fix typo in example notebook and docs. - Add comment about font installation to Installation guide. - Update paper.md with suggestions from editor.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.11.5
Add docs plots.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.11.4
Docs tutorial update.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.11.3
Main changes:
- Refactor :code:
Distortions()to a list or simple-format dict of :code:Defectobjects as input. Same for :code:Distortions.from_structures() - Update defect naming to :code:
{Defect.name}_s{Defect.defect_site_index}for vacancies/substitutions and :code:{Defect.name}_m{Defect.multiplicity}for interstitials. Append "a", "b", "c" etc in cases of inequivalent defects - Make :code:
ShakeNBreakcompatible with most recent :code:pymatgenand :code:pymatgen-analysis-defectspackages. - Update legend format in plots and site index/multiplicity labelling, make default format png.
- Update default charge state setting to match :code:
pymatgen-analysis-defectsoxi state + padding approach. - A lot of additional warning and error catches.
- Miscellaneous warnings and docs updates.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.11.2
Main changes:
- Refactor ShakeNBreak to make it compatible with
pymatgen>=2022.8.23. NowDistortionstakes inpymatgen.analysis.defects.core.Defectobjects. - Add
Distortions.from_dict()andDistortions.from_structures()to generate defect distortions from a dictionary of defects (in doped format) or from a list of defect structures, respectively.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.11.1
Main changes:
- Update rattling procedure; :code:
stdevbe automatically set to 10% bulk bond length and :code:seedalternated for different distortions (set to 100*distortion_factor) to avoid rare 'stuck rattle' occurrences. - Refactor :code:
pickleusages to :code:JSONserialisation to be more robust to package (i.e. pymatgen) updates. - Update :code:
snb-regenerateto be more robust, can be continually rerun without generating duplicate calculations. - Update :code:
snb-runto consider calculations with >50 ionic steps and <2 meV energy change as converged. - Minor changes, efficiency improvements and bug fixes.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.10.2
Just bumping version number to test updated GH Actions pip-install-test workflow.
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.10.1
Main changes:
- Updated defect name handling to work for all conventions
- More robust
snb-generateand plotting behaviour - Add CLI summary GIF to docs and README
- Updated
snb-runbehaviour to catch high-energies and forces error to improve efficiency - Many miscellaneous tests and fixes
- Docs updates
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.9.3
Main changes:
- Fonts now included in
package_dataso can be installed withpipfromPyPI - Refactoring
distortion_plotsplot saving to saving to defect directories, and preventing overwriting of previous plots - Miscellaneous tests and fixes
- Add summary GIF to docs and README
- Handling for partial oxidation state input
- Setting
EDIFFG = -0.01andlocal_rattle = Falseas default
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.9.2
Main changes:
- Update CLI commands (snb-parse, analyse, plot and groundstate can all now be run with no arguments within a defect folder)
- Update custom font
- Update groundstate() tests
- Update plotting
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v22.9.1
Main changes:
- Test for pip install
- Automatic release and upload to pypi
- Add ShakeNBreak custom font, and automatise its installation
- Update ShakeNBreak default INCAR for VASP relaxations
- Formatting
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
ShakeNBreak - v1.0.1
Main changes:
- Update
pymatgenversion to v2022.7.25, while refactoring to be compatible with v2022.8.23 takes place. - Docs formatting
Scientific Software - Peer-reviewed
- Python
Published by ireaml almost 4 years ago
ShakeNBreak - v1.0.0
Release with final module architecture of the code.
Main changes from release v0.1:
* Refactoring of input.apply_shakenbreak() function to a class input.Distortions, which has now methods to write input files for all supported codes (VASP, FHI-aims, CP2K, Quantum Espresso & CASTEP)
* CLI functionality
* Tailed-off rattle set to default rattle (instead of full rattle)
* Add docs and update README
Scientific Software - Peer-reviewed
- Python
Published by ireaml almost 4 years ago
ShakeNBreak - v0.1
First release with (expected) final module architecture of the code. Full functionality present, bar CLI and I/O to codes other than VASP.
Scientific Software - Peer-reviewed
- Python
Published by kavanase almost 4 years ago
ShakeNBreak - v0.0
Original version of the package. Saving for provenance now, so users with scripts based on the original version can redownload if needs be (as when develop is merged the entire package structure will have changed).
Scientific Software - Peer-reviewed
- Python
Published by kavanase about 4 years ago