Skip to content

Releases: SMTG-Bham/doped

3.2.0

14 Oct 23:03
b9451b2

Choose a tag to compare

3.1.0

09 Jun 17:04

Choose a tag to compare

  • Update chemical potentials code:
    • Handle recent breaking changes in pymatgen (Apr 2025).
    • Auto check compatibility of INCAR\s and POTCAR\s in competing phases calculations (as already done for supercell calculations).
    • Merge ExtrinsicCompetingPhases to CompetingPhases
  • Directly parse spin magnetisation from VASP outputs, including handling for NCL spins.
  • Add site-competition handling in defect concentration functions; usage in this paper <https://doi.org/10.26434/chemrxiv-2025-j44qd>, see docstring <https://doped.readthedocs.io/en/latest/doped.thermodynamics.html#doped.thermodynamics.DefectThermodynamics.get_equilibrium_concentrations>.
  • Include 'adsorbate' interstitial sites for structures with significant vacuum volume.
  • Avoid multiprocessing errors with python scripts that don't use if __name__ == "__main__": (#105, #108)
  • Improved algorithm for defect site clustering (for plotting & concentration analyses).
  • Use primitive cell for parsed Defect\s, rather than supercell.
  • delta_gap updates:
    • Add delta_gap option to FermiSolver methods
    • Allow delta_gap to be given as a function for temperature-dependent methods
  • Many efficiency updates.
  • Miscellaneous minor bug fixes, improvements and docs updates.

3.0.0

24 Jan 09:05

Choose a tag to compare

  • Major efficiency updates to most parts of the workflow, mostly implemented as helper functions in
    doped.utils.efficiency and doped.utils.configurations, including:

    • Fast and intelligent structure matching (patching various parts of pymatgen's StructureMatcher code).
    • Voronoi tessellation for interstitial generation
    • Defect generation
    • Wyckoff site detection
    • Defect site detection and matching, including very large supercells.
    • DefectThermodynamics initialisation (and defect grouping by distance between equivalent sites).
  • FermiSolver and ChemicalPotentialGrid classes in #46, for
    advanced defect/carrier thermodynamics, allowing various constraints (e.g. mobile/fixed defects / charge
    states etc), with a number of convenience functions (e.g. for scanning temperature / chemical potentials
    etc, optimising output properties over many-dimensional chemical potential spaces etc). Usage
    demonstrated in https://doped.readthedocs.io/en/latest/fermisolver_tutorial.html.

  • Add is_shallow DefectEntry property, and DefectThermodynamics._get_in_gap_fermi_level_stability_window
    method. Shallow defect states now automatically excluded from formation energy diagram plots for cleaner
    outputs, controllable with the unstable_entries kwarg. Large charge correction errors for
    shallow/unstable defects (typically higher and a common indication of 'false charge state' behaviour)
    now do not throw a warning during parsing.

  • CompetingPhases now compatible with both legacy and new Materials Project APIs, with automatic
    handling (and appropriate warnings) for cases of unstable host materials/compositions.

  • Internal overhaul of CompetingPhasesAnalyzer code, using ComputedStructureEntry objects.
    Initialisation now much faster and more convenient, JSON-serializable outputs, further visualisation and
    plotting, and queryability.

  • Various robustness improvements, including:

    • Handling mixed-valence systems
    • Handling systems with very large inter-atomic distances.
    • As a robustness test, defect generation for all materials on the Materials Project proceeds
      efficiently and without issue (as performed as part of https://arxiv.org/abs/2412.19330).
    • Improved eigenvalue parsing and comparisons (for automated shallow defect detection).
    • Dynamic adjustment of symprec for edge cases.
  • Miscellaneous convenience updates.

  • Docs, tutorials and tests updates.

  • BETA: Add doped.utils.configurations functions to quickly generate CC diagram structures / initial
    NEB paths for defect transformations, ensuring correct initial orientations (to give shortest path).

2.4.7

20 Jun 17:17

Choose a tag to compare

  • Update doping/carrier concentration functions to be more accurate and robust (following logic discussed
    here: materialsproject/pymatgen#3879).
  • Improve reverse-supercell-matrix determination for generate_supercell=False
  • Refactor bulk_band_gap_path to bulk_band_gap_vr in DefectsParser/DefectParser,
  • Update docstrings to reiterate that bulk supercell VBM is used as VBM reference point for the Fermi level
    by default, unless alternative bulk_band_gap_vr provided.

2.4.6

11 Jun 06:34

Choose a tag to compare

  • Update Defect, DefectEntry and DefectThermodynamics properties/methods to be even more
    efficient with calculations of formation energies and concentrations. Gives ~10x speedup in Fermi
    solving and concentration calculations (e.g. from 2 hours to 12 minutes for 2D chempot vs temp CdTe grid
    in thermodynamics tutorial).
  • Avoid unnecessary DeprecationWarnings from latest spglib release.

2.4.5

06 Jun 22:52

Choose a tag to compare

  • Enforce shakenbreak>=2.3.4 requirement.

2.4.4

05 Jun 19:32

Choose a tag to compare

  • Make oxidation state guessing more efficient, semi-significant speed up in generation/parsing for tough cases.
  • Add bulk_site_concentration property to DefectEntry, giving the concentration of the corresponding lattice site of that defect in the pristine bulk.
  • Minor updates to ensure compatibility with recent pymatgen and ASE releases.

2.4.3

24 May 18:24

Choose a tag to compare

  • Remove spglib<=2.0.2 dependency (set to avoid unnecessary warnings), and update installation instructions accordingly.

2.4.2

13 May 15:16

Choose a tag to compare

  • Allow cases where the calculated host material is unstable wrt competing phases (above the hull), by downshifting to the hull and warning the user about this.
  • General updates to chemical potentials code; more robust (better error catches and messages, API key handling), more informative, cleaner outputs.
  • Updates to match recent changes in pymatgen object types (e.g. #68)
  • Minor efficiency & robustness updates

2.4.1

11 Apr 05:54

Choose a tag to compare

  • Speed up eigenvalue parsing by using the faster doped site-matching functions rather than MakeDefectStructureInfo from pydefect
  • Minor efficiency & robustness updates.
  • Minor docs & tutorials updates
  • Minor tests updates