Closed unkcpz closed 1 month ago
Comments from @giovannipizzi in thread:
The main issue for 2D materials is not seekpath in my view, but the fact that if (e.g. in optimade) a direction is marked as non-periodic, special care should be taken not to just take the 3D cell, but only the 2D cell and create the 3D one adding enough vacuum (probably the vacuum should be a user-chosen parameter, with a sensible default) + possibly offering some additional custom parameters (e.g. whether to add some treatment for 2D systems, and enforce 1 k-point only along z).
Probably this can be (almost) closed. Before closing, though, a few notes/request.
Both in 2D and 3D (for the future maybe, to move to a different issue?) can we have a way to specify optionally a list of k-points for the path? in the form
kpt_start kpt_end num_points kpt_start kpt_end num_points ...
Thanks @giovannipizzi.
@AndresOrtegaGuerrero, let's find a time together to try to address them.
Thank you , for the code in aiidalab_qe I implemented the same as here https://pubs.acs.org/doi/10.1021/acs.jpclett.2c02972 I checked the function for 2d, https://github.com/aiidalab/aiidalab-qe/blob/98ebc43e66fbd0a49e47c89e2d24e20ebc084cc0/src/aiidalab_qe/plugins/bands/workchain.py#L59
I noticed that there is difference in the oblique and in the centered rectangular , where in the paper, they defined the points (of a few high symmetrical points) based on the value of gamma ( gamma < 90 ) , what do you think @giovannipizzi @unkcpz
The main blocker of this feature is that the seekpath not yet support the kpath finding for all types of two-dimensional structures. Trace back to the discussion:
That implementation was not general enough. It required the cell to be already oriented in a given direction. The difficult part is to standardise the orientation of the cell in the 2D case. If this is done, it's easy to then implement the definition of high-symmetry points for 2D.
Originally posted by @giovannipizzi in https://github.com/giovannipizzi/seekpath/issues/76#issuecomment-618851600
For the input structure which already has periodic_type=[True, True, False] the QeApp now raise the exception that it is not supported. We should in the future, create a input structure with proper orientation and use seekpath to get the correct k-path. While for the input structure that already has a vacuum layer set, the pymatgen detect it is 2D structure, besides raise a warning, the structure needs to be converted to the proper orientation so the seekpath can work properly.