-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Factory methods for AHS AtomArrangments #969
Comments
Hi @peterkomar-aws, thank you for raising this suggestion. This seems to be a good first issue for new contributors so I shall add that tag on. |
Hi @math411 my PR #981 Addresses the issue for UF Hack |
HI @AbdullahKazi500 , thanks for the PR. It's a good start but needs more work, please let us know if you plan to keep working on it. |
@peterkomar-aws Hi peter there is an update I will soon report |
@AbdullahKazi500 , please consolidate your work to a single feature branch and single PR. Tests will not pass otherwise. (For how to do it, see e.g. https://webapps.stackexchange.com/questions/95940/how-can-i-change-multiple-files-and-submit-them-in-one-pull-request-on-github) |
ok @peterkomar-aws I will look into it |
Thank you @AbdullahKazi500 , the test and the code need to live on the same branch before the github actions can test them. Please add them into a single PR. |
Okay that works @peterkomar-aws peter can you specify if I have to add some tests from the repository as well if yes do I Have to add all of them |
@peterkomar-aws Added existing tests as well as my own tests to validate in the final PR |
Describe the feature you'd like
Currently there is a single low-level constructor for AtomArrangements, which creates an empty atom arrangement object, after which its add method can be used to add atoms.
Use cases of condensed matter physics often require specifying atom arrangements with regular structure, such as square, triangle, honeycomb lattices. To specify these lattices, currently one need to explicitly program the coordinates of each atom in lattice. It would be much better to be able to use pre-packaged factory methods to create these arrangements, and maybe even the most general 2-d decorated Bravais lattice too.
A good reference on decorated Bravais lattices: https://courses.physics.illinois.edu/phys560/sp2011/lecture/Phys560Notes-3.pdf
How would this feature be used? Please describe.
Atom arrangements could be defined by defining a regular lattice structure and a canvas where the actual sites are placed.
Describe alternatives you've considered
One alternative to the API
from_bravais_lattice
method above would be to providen1, n2
repetition numbers of the unit cell instead of theCanvas
object. This would however not allow us to fit the atom arrangement into a pre-defined bounding box, and would not allow us to create staggered arrangements, where say row 1 contains unit cells 0,1,2,3, and row 2 contains unit cells 1,2,3,4, and row 3 contains unit cells 2,3,4,5.Additional context
Useful links:
The text was updated successfully, but these errors were encountered: