Nan value while estimating total elemental abundance using ICF "DIMS14"

29 views
Skip to first unread message

Avijit Mandal

unread,
May 19, 2024, 4:34:05 AM5/19/24
to PyNeb
Hello everyone,
I am trying to estimate the total elemental abundances using ICF Family 'DIMS14.
If only 'He1' and 'He2' are detected but not 'He3, then according to the formula of the ICF  'DIMS14_12', the value of the ICF should be 1 and the total elemental abundance of 'O' should be the sum of the ionic abundances of 'O2' and 'O3'. But when I do this, it is giving Nan.
Am I missing something here?
Thanks in advance.
Regards,
Avijit Mandal

Jorge García Rojas

unread,
May 21, 2024, 10:32:33 AM5/21/24
to Avijit Mandal, PyNeb
Hi Avijit,

if you are not detecting HeII lines, then it has no sense to use ICF DIMS14_12 because He++ abundances are undefined. Indeed, as you correctly point out, there is no need of using any ICF

cheers,

Jorge
> --
> You received this message because you are subscribed to the Google Groups "PyNeb" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pyneb+un...@googlegroups.com.
> To view this discussion on the web, visit https://groups.google.com/d/msgid/pyneb/2fa10303-27e6-4f32-91f2-9f9104e4422an%40googlegroups.com.

Avijit Mandal

unread,
May 21, 2024, 10:32:44 AM5/21/24
to Jorge García Rojas, PyNeb
Thank you for the reply. 
For checking, I added some He++ abundance. But again it is giving nan value for O and If I try to calculate it for N using 'DIMS14_14', it gives a warning that ICF cannot be evaluated.
I am using the following script.
abun_dic_test = {'He1r':0.1,'He2r': 0.07,'He3r':0.0005,'O2':1.62e-05,'O3':0.00028,'N2':1.15e-06}
elem_abun = icf.getElemAbundance(abun_dic_test,icf_list='DIMS14_14')
for icf_key in elem_abun:
    print(f'{icf_key}: {np.log10(elem_abun[icf_key])+12}')
Thanks and regards,
Avijit Mandal

Jorge García Rojas

unread,
May 21, 2024, 10:32:51 AM5/21/24
to Avijit Mandal, PyNeb
Hi again,

well, the problem is that ice.getElemAbundance do not recognize the labels He1r, He2r and He3r. First, you have to take into account that He has only two ionization stages: He+ and He++ so I do not exactly know what you mean with He3r. On the other hand, the nomenclature adopted for the ionic abundances from He recombination lines in the ICF scheme is similar to that adopted for the ionic abundances for collisional excited lines, so He2 would be the He+ abundance and He3 would be the He++ abundance.

So if you try now the following

abun_dic_test = {'He2':0.1,'He3': 0.07,'O2':1.62e-05,'O3':0.00028,'N2':1.15e-06}
elem_abun = icf.getElemAbundance(abun_dic_test,icf_list=‘DIMS14_12’)

it should work

On the other hand, if you try
elem_abun = icf.getElemAbundance(abun_dic_test,icf_list=‘DIMS14_14’)

i won’t work because you need first to add the resulting elem_abun(‘DIMS14_12’) to your dictionary

Hope it helps

Jorge
Reply all
Reply to author
Forward
0 new messages