Bonjour Natalia,
You are right that the situation is quite confusing, and I did not help by making changes that may be undocumented :-(
The best solution is to be very explicit, including the 6 transitions in the eval. You can check that the wavelengths you give actually point to the right transition by:
In [15]: o2 =
pn.Atom('O',2)
In [16]: o2.getTransition(3729)
Out[16]: (2, 1)
In [17]: o2.getTransition(3727)
Out[17]: (3, 1)
In [18]: o2.getTransition(7330)
Out[18]: (5, 3)
In [19]: o2.getTransition(7331)
Out[19]: (4, 3)
In [20]: o2.getTransition(7320)
Out[20]: (4, 2)
In [21]: o2.getTransition(7319)
Out[21]: (5, 2)
The transition is the one found to be the closest to the give
wavelength. This is important to check, as sometimes the
wavelength is not correct and one can take twice the same into
account. The very best way is to define the transition by the 2
levels involved, this will never change (unless you play with
stupid ions like FeII ;-)) )
Then you can call the getTemDen using two explicit ways to define the line ratio:
o2.getTemDen(2.02765688e-02, den=100, to_eval = '(L(7319)+L(7320)+L(7330)+L(7331))/(L(3726)+L(3729))')
o2.getTemDen(2.02765688e-02,
den=100, to_eval =
'(I(5,3)+I(4,3)+I(5,2)+I(4,2))/(I(3,1)+I(2,1))')
The B for blend is usable (I hope) in Diagnostics.getCrossTenDen,
but it does not work for getTemDen. I spent some time on this
years ago, I could perhaps try again now and perhaps could solve
the related issue... or not. But as the explicit version works, I
think it is better to use it for now.
The +b and +c are to test labels in Diagnostics.getCrossTemDen. In the latest version of PyNeb, I defined the +b in the right way, it could be used (but as said before, not in Atom.getTemDen):
diags_dict['[OII]
3727+/7325+b'] = ('O2',
'(L(3726)+L(3729))/(I(4,2)+I(4,3)+I(5,2)+I(5,3))',
'RMS([E(3726)*L(3726)/(L(3726)+L(3729)),
E(3729)*L(3729)/(L(3726)+L(3729)),BE("7319A+")*B("7319A+")/(B("7319A+")+B("7330A+")),BE("7330A+")*B("7330A+")/(B("7319A+")+B("7330A+"))])')
To explain the other results you are obtaining:
O2.getTemDen(2.02765688e-02,
den=100, wave1='7325A', wave2='3727A')
uses the ratio of only 1/1 lines
O2.getTemDen(2.02765688e-02,
den=100, to_eval = '(L(7320)+L(7330))/(L(3726)+L(3729))')
uses the ratio of 2 / 2 lines, not 4 / 2 as you want.
Hope it is clear. You may re-post your question on the discussion group, my answer could help other users.
Bye, take care of you.
Christophe