Hello, I'd first like to congratulate on your outstanding work. My MSc thesis concerned topological superconductors, and even though I've now moved on to Machine Learning in the industry, I still play around with physics whenever I have the time. This is how I found this repo and all I can say is that your open source work is remarkable.
First of all, I would like to ask if there is any way to help you with documentation about this huge project. Someone more experienced with code and theory may manage to find what they're looking for, but I fear that pre- or even post-graduate students may find some difficulty navigating, which is a shame since your code has a lot to offer them, both educationally and research-wise.
Secondly, I have a more specific question: I was wondering if you have created systematic ways to play around with impurities. I've seen some examples where you add a single impurity using the embedding class, however I haven't seen a more "organized" way to define impurities. For example, how would one go about defining a slab and then placing on top of it a chain of impurities with certain spin configurations (for example forming a helix)? Do you think this is something that can be done with the code as it is now, or do such examples require it to be expanded first?
Once again, thank you for your remarkable contribution. I'd be glad to be of any help, either with documentation, or with questions such as the aforementioned one. Keep it up and best of luck!