Skip to content
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

Add setter for ionization potential #325

Closed
wtbarnes opened this issue Sep 30, 2024 · 5 comments · Fixed by #342
Closed

Add setter for ionization potential #325

wtbarnes opened this issue Sep 30, 2024 · 5 comments · Fixed by #342
Labels
API API design, naming conventions, etc. effort-low feature Ion Anything related to the Ion object
Milestone

Comments

@wtbarnes
Copy link
Owner

When making an Ion, it is possible to set the abundance through a keyword argument. This keyword argument can be either the dataset name or an actual value. The ionization potential should work the same and should have similar setter/getter logic to how the abundance property works.

@wtbarnes wtbarnes added effort-low feature API API design, naming conventions, etc. Ion Anything related to the Ion object labels Sep 30, 2024
@wtbarnes
Copy link
Owner Author

This should be done in tandem with #323

@wtbarnes wtbarnes added this to the 0.4 milestone Oct 1, 2024
@jwreep
Copy link
Collaborator

jwreep commented Nov 9, 2024

Are there significantly different values or precisions from different atomic databases? I guess I'm wondering why a setter is needed for ionization potential, as it should just be a fundamental property of an ion.

@wtbarnes
Copy link
Owner Author

That's a fair point. The only reason I proposed to do it this way is because the ionization potential data is structured very similarly to the ioneq and abundance data in the database. In practice, I think you're right that this data is unlikely to change much and not be very variable. There is only one file for these values in the database. The footer for this file does list several different sources:

filename: chianti.ip
ionization potentials: Martin, W.C., Sugar, J., Musgrove, A., Dalton, G.R.,
1995, NIST Database for Atomic Spectroscopy, Version 1.0, NIST Standard Reference Database 61
and Version 2.0 http://physics.nist.gov/cgi-bin/AtData/main_asd
ionization postentials: additional data for Cu and Zn from Biemeont, E., Fremat, Y., Quinet, P., 1999, ADNDT, 71, 117
ionization potentials: Erickson, G.W., 1977, J. Phys. Chem. Ref. Data, 6, 831
ionization potentials: C.E. Moore, 1970, NSRDS-NBS
ionization potentials: Boiko V.A., Pal'chikov V.G., Skobelev I.Yu., Faenov A.Ya., Boiko V.A., Pal'chikov V.G.,
Skobelev I.Yu., Faenov A.Ya. from - http://spectr-w3.snz.ru/index.phtml
produced as part of the Arcetri/Cambridge/NRL 'CHIANTI' atomic data base collaboration
K.P.Dere 2006

Whether these will ever be or need to be updated I do not know.

@jwreep
Copy link
Collaborator

jwreep commented Jan 27, 2025

Perhaps one reasonable thing would be to allow different files for input, so as to allow different sources for the values (CHIANTI, NIST, AtomDB, whatever). I'm not sure it would make sense to allow the user to set the values manually, like hydrogen[0].ionization_potential = 10*u.eV. Maybe those are ultimately the same thing, though.

@wtbarnes
Copy link
Owner Author

Yep that's the kind of use case I had in mind. With #342, this should now be possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API API design, naming conventions, etc. effort-low feature Ion Anything related to the Ion object
Projects
None yet
2 participants