Open SpiritSuperUser opened 5 years ago
In my opinion, this kind of feature would be better suited for post-processing scripts. Since it would be a complicated feature to add to the GUI, I would advise against that, i.e. it would be only in the API anyways.
There are infinite ways to determine some sort of topological charge in 3D and I don't think it would be sensible to expose an API for this. In particular, there isn't an obvious way to define a "layer" (if there are multiple atoms in the basis) and it could lead to confusion for the user. All this is avoided if the user defines the topological charge themself.
It might be useful to be able to calculate topological charges in 3D systems. This would for example allow to detect bobbers vs. skyrmion tubes. A layer-wise calculation of the charge would be needed for this.
In the case of one atom per unit cell with 3 lattice vectors one could simply choose two of them and calculate the charge for all the layers parallel to the plane spanned by them. In the case of more atoms per cell, one might have to specify again a plane plus layer positions along the direction normal to it.