-
-
Notifications
You must be signed in to change notification settings - Fork 60
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
Passivate edges in carbon nanostructures #600
Comments
Welcome to the club 🥇 (of people that want the passivation feature) :) Apart from #202 I wonder if the problem can now be framed in terms of the new composite geometries about to be merged in #421. So that you can do something like: ribbon = sisl.graphene_nanoribbon(...)
passivator = Passivator()
passivated_ribbon = ribbon + passivator where passivator is a "geometry section" in the terminology of that PR. If the composite geometries kept track of the child sections you could always "undo" to depassivate, which is cool (I don't know if useful). |
Btw I think if you need to deal with very big geometries it would be very useful to have #393, otherwise using |
Ok, we need to do something here.. The other pr's mentioned are still in the pipeline, however I would like some general method that is applicable to other systems than carbon. I'll try and write a more thorough thought through suggestion :) |
Hi,
I work with graphene nanostructures like graphene nanoribbons and nanoporous graphene, and I think there may be many other SISL users that very find useful the
agnr
,zgnr
,graphene_nanoribbons
. However if one wants to generate carbon geometries that can be used as input geometries for DFT codes, it is desirable to have the edges correctly passivated with hydrogen (H) atoms.Even more, edge functionalization with chemical species different from H has been experimentally achieved:
Ketone groups: "Magnetic Interactions Between Radical Pairs in Chiral Graphene Nanoribbons", Nano Lett. 22, 164–171 (2022). DOI: https://doi.org/10.1021/acs.nanolett.1c03578
Fluorine: "Stabilizing Edge Fluorination in Graphene Nanoribbons", ACS Nano 14, 11120-11120 (2020). DOI: https://doi.org/10.1021/acsnano.0c01837
Amino groups: "Band Depopulation of Graphene Nanoribbons Induced by Chemical Gating with Amino Groups", ACS Nano 14, 1895-1901 (2020). DOI: https://doi.org/10.1021/acsnano.9b08162
As far as I know, edge passivation is not implemented in SISL, is it? At least, I didn't find it. So it might be interested to add a
passivate
parameter toagnr
,zgnr
,graphene_nanoribbons
that gives the passivated geometries by settingpassivate = True
. It could also be added as a method to passivate/functionalize geometries that have already been created (e.g. a porous ribbon) by doing something likegeometry.passivate_edges()
.My suggestion is something like this:
I attach a jupyter notebook that serves as an example of how could this function be used.
example_passivation.ipynb.zip
Do you think it could be interesting?
The text was updated successfully, but these errors were encountered: