WMD-group / SMACT

Python package to aid materials design and informatics
https://smact.readthedocs.io
MIT License
96 stars 21 forks source link

the oxidation_states submodule of SMACT for nitrides #121

Open raolixiang-up opened 1 year ago

raolixiang-up commented 1 year ago

When I used Oxidation_state_probability_finder(), I found that there was no oxidation state of nitrogen atoms. In addition, can the stoichiometric ratio be fixed for charge neutrality screening?We look forward to your reply. Best wishes!

AntObi commented 1 year ago

Hi @raolixiang-up,

1. Oxidation states submodule

the original model did not include nitrides. See the paper in which the smact.oxidation_states module was developed: D. W. Davies, K. T. Butler, O. Isayev, A. Walsh, Faraday Discussions 2018, 211, 553.

It should be possible to extend the dataset to include a wider range of anions (including nitrogen) following a similar procedure outlined in the paper.

2. Fixing stoichiometric ratio for charge neutrality screening

I would like some additional clarity on your second point, but can I assume you are referring to the smact_filter function for generating charge neutral compositions?

If so, the current implementation of it allows setting a threshold for the stoichiometric, but it should be simple enough for us to implement another argument to specify a fixed stoichiometric ratio.

Hope this helps!

raolixiang-up commented 1 year ago

Nice! Thanks for your reply. My second question is the same as your issue #79. I hope SMACT is getting better and better.

AntObi commented 1 year ago

For your second issue were you referring to issue #76 perhaps?

I've started the process of updating the smact_filter function to have a fixed stoichiometric ratio as an argument for generating charge neutral compositions in PR #122.

I can merge this PR later on and upload it on PyPI to make it accessible.

raolixiang-up commented 1 year ago

Nice work! In addition, it would be excellent if the anion dataset could be expanded in the smact.oxidation_states module.

AntObi commented 1 year ago

Hi @raolixiang-up , I've updated the smact_filter function in the latest version of SMACT v2.5.1 which you can pip install. I've added examples to the smact_filter docstring to show how to use the new functionality: https://smact.readthedocs.io/en/latest/smact.screening.html

For updating the anion dataset, this is something we can look into implementing. If it is something that you require more urgently, then I am happy to discuss and collab with you into extending the dataset.