Releases: SMTG-Bham/doped
Releases · SMTG-Bham/doped
2.3.2
- Update to match breaking change in
pymatgen==2024.3.1
(released today), handlingincar_params
.
2.3.1
- Refactor (phase diagram)
facet
to (chemical potential)limit
indoped
chemical potential
functions, as this is more intuitive for most users. - Tests updates.
- Minor efficiency/verbosity/robustness/docs improvements.
- Update default
KPOINTS
for convergence/production runs inchemical_potentials
based on testing. - Add optional projections of site displacements upon given vectors by @ireaml
2.3.0
DefectsThermodynamics
class has been added to replace and greatly expand the functionality of the
DefectPhaseDiagram
object. 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 thedist_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 alldoped
classes for informative outputs.- Tests and tutorials updates.
2.2.0
- Added
DefectsParser
class 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
,POTCAR
and charge correction compatibility between
all calculations, and warns the user if any are likely to affect formation energies.
- Uses multiprocessing and shared bulk data to massively speed up parsing of many defect supercell
- Make
csv
input toCompetingPhasesAnalyzer
more flexible, along with other code and docstrings updates. - Format point group symbol in formation energy plots.
- Refactor
elt
/elt_refs
toel/el_refs
by @adair-nicolson - Charge states can now be automatically determined even when
POTCAR
s are not setup by the user.
Updates reflected in the doped
parsing tutorial.
2.1.0
- Update finite-size defect corrections implementations:
pydefect
used 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-defects
implementation. - 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 inpymatgen
on 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 🔥
2.0.5
- Update oxi-state handling to:
- Use pre-assigned oxi states if present
- Handle
pymatgen
oxi-state guessing failures (non-integer oxi states, inaccurate oxi states with
max_sites, failures for extremely large systems etc)
- Update default
probability_threshold
from 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.
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
ShakeNBreak
- Update defect generation tests
- Use more efficient Wyckoff determination code
2.0.3
- Sort defect entries in
DefectPhaseDiagram
for deterministic behaviour (particularly for plotting). - Tests updates (archive test plots, update extrinsic generation tests etc).
- Avoid long stacklevel issue which cropped up in
python3.8
tests forSnB
- Update PDF figure
savefig
settings, and add_get_backend
function.
2.0.2
- Refactor
_check_user_potcars()
toDefectDictSet
rather thanDefectRelaxSet
, and addwrite_input ()
method (which runs_check_user_potcars()
first). - Update defect generation tests
- Add troubleshooting docs page and update tips docs page
2.0.1
- Update naming handling in
DefectPhaseDiagram
to 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.