Change Logο
v.2.3.2ο
Update to match breaking change in
pymatgen==2024.3.1(released today), handlingincar_params.
v.2.3.1ο
Refactor (phase diagram)
facetto (chemical potential)limitindopedchemical potential functions, as this is more intuitive for most users.Tests updates.
Minor efficiency/verbosity/robustness/docs improvements.
Update default
KPOINTSfor convergence/production runs inchemical_potentialsbased on testing.Add optional projections of site displacements upon given vectors by @ireaml
v.2.3.0ο
DefectsThermodynamicsclass has been added to replace and greatly expand the functionality of theDefectPhaseDiagramobject. See tutorials for functionality and usage (plotting, Fermi level / concentration analysis, dopability, transition levels (with/out metastable etc).Overhaul supercell generation as discussed, now optimises directly off minimum periodic image distance (thanks to efficient optimisation algorithm) with some prudent constraints. Significantly reduces supercell sizes required in most cases.
Overhaul defect grouping as discussed, to use the distance between equivalent defect sites (with this controllable via the dist_tol parameter).
Add point symmetry and orientational/spin degeneracy parsing, automatically included in thermodynamics analysis (and customisable by user).
Many efficiency improvements (particularly in defect & input file generation, and symmetry functions).
Check and warning for large defect displacements far from defect site.
Site displacement (local strain) plotting by @ireaml π
Auto determination of X-poor/rich facets.
More control over site selection for eFNV correction.
Clean, grouped parsing warnings for
DefectsParser(in case many warningsβ¦)__repr__methods for all doped classes for informative outputs.Tests and tutorials updates.
v.2.2.0ο
- Added
DefectsParserclass for parsing defect calculations: Uses multiprocessing and shared bulk data to massively speed up parsing of many defect supercell calcs at once (e.g. from 17 min to < 3 mins for 54 defects in CdTe).
Automatically checks
INCAR,KPOINTS,POTCARand charge correction compatibility between all calculations, and warns the user if any are likely to affect formation energies.
- Added
Make
csvinput toCompetingPhasesAnalyzermore flexible, along with other code and docstrings updates.Format point group symbol in formation energy plots.
Refactor
elt/elt_refstoel/el_refsby @adair-nicolsonCharge states can now be automatically determined even when
POTCARs are not setup by the user.
Updates reflected in the doped parsing tutorial.
v.2.1.0ο
- Update finite-size defect corrections implementations:
pydefectused directly for eFNV correction (with optimisation for efficiency). Moreover, the fully relaxed defect structure (with defect site determined by doped) is used.FNV correction now uses optimised version of
pymatgen-analysis-defectsimplementation.Updated corrections plotting (much nicer formats, more informative etc)
The actual energy error in the correction is now estimated, and the user is warned if this exceeds
error_tolerance(optional parameter, 0.05 eV by default)Bandfilling corrections no longer automatically calculated as (1) almost always not recommended and (2) will show an example of calculating these if needed using our code in
pymatgenon the docs
Efficiency improvements in obtaining defect site info (Wyckoff positions)
Additional utils and functions for defect generation and manipulation.
(Many) updated tests.
Added functionality for robustly determining the point group symmetry of _relaxed_ defects π₯
v.2.0.5ο
- Update oxi-state handling to:
Use pre-assigned oxi states if present
Handle
pymatgenoxi-state guessing failures (non-integer oxi states, inaccurate oxi states with max_sites, failures for extremely large systems etc)
Update default
probability_thresholdfrom 0.01 to 0.0075.Account for rare possibility of user being on a non UTF-8 system.
Italicise βVβ for vacancy in plotting.
SMTG-UCL -> SMTG-Bham
Tests and formatting updates.
v.2.0.4ο
Add supercell re-ordering tests for parsing
Ensure final _relaxed_ defect site (for interstitials and substitutions) is used for finite-size charge corrections
Consolidate functions and input sets with
ShakeNBreakUpdate defect generation tests
Use more efficient Wyckoff determination code
v.2.0.3ο
Sort defect entries in
DefectPhaseDiagramfor deterministic behaviour (particularly for plotting).Tests updates (archive test plots, update extrinsic generation tests etc).
Avoid long stacklevel issue which cropped up in
python3.8tests forSnBUpdate PDF figure
savefigsettings, and add_get_backendfunction.
v.2.0.2ο
Refactor
_check_user_potcars()toDefectDictSetrather thanDefectRelaxSet, and addwrite_input ()method (which runs_check_user_potcars()first).Update defect generation tests
Add troubleshooting docs page and update tips docs page
v.2.0.1ο
Update naming handling in
DefectPhaseDiagramto be more robust/flexible, following failure case noted by @utf πEnsure package data files are correctly included in the package distribution, again noted by @utf π
Updates to chemical potentials code.
Refactoring of site-matching code.
Tests updates and code cleanup.
v.2.0.0ο
Major overhaul to rebase onto the new
pymatgendefects code (>v2022.7.25).Add documentation (https://doped.readthedocs.io/en/latest)
Add
DefectsGeneratorclass with major upgrade in functionality.Add
DefectsSetclasses invasp.py
v.1.1.2ο
Cap
numpyto1.23to avoidpymatgendependency issues.Update example workbook to use recommended
CubicSupercellTransformationAdd/remove some
TODOs
v1.1.1ο
dopednow installable fromconda-forge! π- Major overhaul of primary parsing workflow (in
defect_entry_from_paths()): Automatic charge-state determination (throwing warning when user specification doesnβt match auto-determined)
Automatic charge correction determination and application
Improved error handling and more informative warning messages
- Major overhaul of primary parsing workflow (in
Add
test_defectsmaker.py,test_corrections.pyandtest_analysis.py-> significantly improve test coverageAdd
_convert_dielectric_to_tensor()function to be more flexible to user inputRemove old unsupported/deprecated code.
Add check and warning if multiple output files (
vasprun.xml/OUTCAR/LOCPOT) present in bulk/defect directory.Minor bug fixes, formatting, docstrings improvement, the usual
Add and remove
TODOs
v1.0.6ο
Start keeping a
CHANGELOGREADMEupdates to give step-by-step instructions on setting up MP API key,POTCARs forpymatgenand virtualcondaenvironments fordopedandShakeNBreakMajor overhaul of
vasp_inputfunctions setup to be far more streamlined and customisable.Major overhaul of
chemical_potentialscode; now with improved algorithm for selecting potential competing phasesUpdate of example notebooks
Add tests for parsing calculations, chemical_potentials and vasp_input
Add GH Actions workflows (for tests, GH releases and pypi packaging)
Adopt recommended versioning convention based on dates
General tidy up, docstring padding, formatting and
TODOaddition/removalEnsure all inputs/outputs are
JSONable, now recommending this for better forward/backward compatibilityRefactor
dope_stufftoplottingandanalysisto be more clear and PROfessional, yoRefactor from hard-coded defaults / slightly-less-human-readable
jsonfiles toyamlfiles with default settings.Refactor
defectsmakeroutput, more efficient, cleaner and informative