From e68186792e0469f5db5a239f06898a5ece660ac2 Mon Sep 17 00:00:00 2001 From: Sean Kavanagh Date: Sat, 9 Dec 2023 17:44:56 +0000 Subject: [PATCH] Add `TODO`s --- docs/Dev_ToDo.md | 2 +- doped/chemical_potentials.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/Dev_ToDo.md b/docs/Dev_ToDo.md index 869ea47b..fe75142c 100644 --- a/docs/Dev_ToDo.md +++ b/docs/Dev_ToDo.md @@ -74,7 +74,7 @@ - Change formation energy plotting and tabulation to `DefectPhaseDiagram` methods rather than standalone functions – with `pymatgen` update what's the new architecture? - Better automatic defect formation energy plot colour handling (auto-change colormap based on number of defects, set similar colours for similar defects (types and inequivalent sites)) – and more customisable? - - `aide` labelling of defect species in formation energy plots? + - `aide` labelling of defect species in formation energy plots? See `labellines` package for this (as used in `pymatgen-analysis-defects` chempots plotting) - Ordering of defects plotted (and thus in the legend) should be physically relevant (whether by energy, or defect type etc.) - Should have `ncols` as an optional parameter for the function, and auto-set this to 2 if the legend height exceeds that of the plot - Don't show transition levels outside of the bandgap (or within a certain range of the band edge, possibly using `pydefect` delocalisation analysis?), as these are shallow and not calculable with the standard supercell approach. diff --git a/doped/chemical_potentials.py b/doped/chemical_potentials.py index 4e4a6ca8..a5da6f15 100644 --- a/doped/chemical_potentials.py +++ b/doped/chemical_potentials.py @@ -1117,6 +1117,8 @@ def __init__(self, system, extrinsic_species=None): if extrinsic_species: self.elemental.append(extrinsic_species) + # TODO: Need to be able to deal with cases where the bulk composition is found to be + # unstable (in `pymatgen-analysis-defects` it just drops it to the convex hull) # TODO: from_vaspruns and from_csv should be @classmethods so CompetingPhaseAnalyzer can be directly # initialised from them (like Structure.from_file or Distortions.from_structures in SnB etc) def from_vaspruns(self, path="competing_phases", folder="vasp_std", csv_path=None):