Parsing vacancy complexes

Hi!

I’m having issues parsing charge states of the divacancy defect complex in AlN (I’m getting a StopIteration error). From what I have gathered from parsing.py it seems that only “substitution”, “vacancy” and “interstitial” are accounted for, and that divacancies hence are not.

Is this correct, or should it be possible to parse such a complex using the DefectsParser?

If it is not possible as of now, is this functionality something you will implement in the future?

Thanks!

Hi,
Thanks for raising this. Yes at present DefectsParser in the main code branch is setup to only expect point defects, and not complexes. Full support for complex defect parsing (& generation) is one of the next goals on the development to-do list (with some work planned for this summer), but not yet implemented.

There is some code for handling and parsing defect complexes in the split-vacancies branch: Split Vacancies and Foundation Defect Complexes Code by kavanase · Pull Request #127 · SMTG-Bham/doped · GitHub
Where there are functions for automatically determining the positions and types of complex defects, but the full parsing workflow has not yet been implemented.

There is some discussion of potential workaround approaches here:

Depending on your use case, you might just want to use e.g. the finite-size correction functions in doped directly (in which case the docs site would be a good place to look), or if you want full parsing and downstream functionality (e.g. thermodynamics modelling), then the discussed workaround may be the best option for now.

Hi,

Thank you for the quick reply! I’m looking forward to the full support for complexes, and in the mean time I’ll check out the workaround.

1 Like