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

Improve bound-bound collisions #188

Closed
jhmatthews opened this issue Nov 9, 2015 · 10 comments
Closed

Improve bound-bound collisions #188

jhmatthews opened this issue Nov 9, 2015 · 10 comments

Comments

@jhmatthews
Copy link
Collaborator

jhmatthews commented Nov 9, 2015

Our treatment of bound-bound collisions should be improved, for a few reasons.

  • no treatment of collisions along radiatively forbidden transition paths.
  • Van Reg is accurate to about 1dex: there is good enough data to not need to make this kind of approximation anymore, but we may still need to make some (e.g. evaluate collision strength at one temp)
  • alternatively, even if using something like Van Reg / other functional forms, effective gaunt factors can be improved.

In commit agnwinds/python@263aa81 I have modified the gaunt factor from 1 to either 0.1*(kT/hnu) for neutrals when kT/hnu<2, and 0.2 otherwise. I chose 2 to avoid discontinuities in a gaunt factor, so it's somewhat arbitrary. I am looking into how good this is, but again, we are probably only within a factor of a few here. It will probably do for the QSO paper as it doesn't affect results

@ssim
Copy link
Collaborator

ssim commented Aug 3, 2018

SS will pick this up (Belfast 2018).

Issue is around understanding how bb collisions come into macro atom treatment.

Of the original list on this report, the main one I want to think about it how to bring in collisional data when we currently don't have any radiative data.

@kslong
Copy link
Collaborator

kslong commented Dec 26, 2019

Part of the issue here is the way we read data in. At present, one can only read data in for a line that exists, even if there are levels defined, because we use the line data to match the line. It seems to me we should modify the format of the collision data so that it refers to levels and not lines that exist. For Chianti, there is certainly collision data even when there are no lines in Chianti. @jhmatthews @ssim is the problem deeper than this, if we had collision data between levels where there was not line data, will the macro atom software handle this properly. Or does dummy line data need to be added.

I suspect we are being defeated by history here, where the macro atom approach came later than simple atoms and we might already have incorporated the collisions into the simple approach. Or possibly it is just that we were and continue to create lines from sources other than Chianti.

At any rate, as I have been trying over the holidays to understand how to generate macro-atom data files from Chianti, I would like us to pick this up.

@kslong kslong added the Release label Dec 26, 2019
@ssim
Copy link
Collaborator

ssim commented Dec 27, 2019 via email

@kslong
Copy link
Collaborator

kslong commented Dec 27, 2019

Thanks, @ssim I thought making this modification were something you had signed up to do following Belfast (See early comments on this issue). But I guess you are now saying you don't think it is worthwhile.

I do understand that one can create a "fake radiative transition" to do this as part of the input data. This complicates though attempts to automate generating workable macro atom input files, which was what I have been trying to do.

@ssim
Copy link
Collaborator

ssim commented Dec 28, 2019 via email

@kslong
Copy link
Collaborator

kslong commented Dec 29, 2019 via email

@kslong
Copy link
Collaborator

kslong commented Dec 31, 2019

At the present time:

  • Information about bb collisions is part of the line structure
  • Partly for this reason, one cannot read in collisional information about transition with having a line already in for transitions between two bb levels.
  • If you do not have such transitions, one can get stuck in macro atom mode, where there is no available downward transition for a level (as can happen for example in He I)
  • This means that one needs to "manufacture" a fake line for situations where one wants to have a transition that is strictly forbidden (oscillator strength 0).
  • However, in reading lines in, we currently do some checks on what has been read in, and one of those checks is for whether the oscillator strength is 0. If it is, we currently throw the line out, and hence we don't put the line into the data structure. This is a problem for macro atom transitions.
  • One possibility is to give such transitions very low oscillator strengths in which case the current code will work.
  • A second possibility is to change the requirements (at least for macro-atoms) to allow lines with zero oscillator strengths. This seems a reasonable approach, but if on does this, then one needs to check somewhere that we don't have a line with 0 oscillator strength and without a Burgess style collision strength.

Aside: It is not really obvious that having a line with oscillator strength 0 would cause a problem in simple atom mode. We do have some in our standard files, though it's not clear exactly where thy came from

Line  8  4  158.218002  0.000000   4   4     0.047852    78.420937    1   39
Line  8  4  158.175003  0.000000   4   2     0.047852    78.442139    1   40
Line  8  4  158.121002  0.000000   2   4     0.000000    78.420937    0   39
Line  8  4  158.078995  0.000000   2   2     0.000000    78.442139    0   40
Line 26  2  930.580994  0.000000  10   8     0.000000    13.325027    0   81
Line 26  3  487.799011  0.000000   9   7     0.000000    25.420341    0   67
Line 26  7  117.311996  0.000000   9   7     0.289106   105.990387    2   65

However, we can get rid of these by only allow lines with 0 oscillator strength to pass for macro atom lines.

@jhmatthews
Copy link
Collaborator Author

I think I've managed to catch up with this. I broadly agree with everything that has been said and definitely think that preserving there being a "line" for every collisional transition makes sense.

One method which might be a bit clearer than simply setting f to 0, would be to have a flag for forbidden transitions. e.g., one could read them in as FLine, and then have a flag in the line structure that records if it is forbidden or permitted/semi-forbidden. Not that I have a particular objection to the f=0 approach, but this might make catching mistakes easier.

Also, regarding your observation about Chianti Knox - I think this was one of the reasons for not always using Chianti data, because for H and He you generally want level information up to some relatively high principal quantum number, and Chianti doesn't always give you this.

And finally, I do agree that there is the potential for issues when using levels have the same n but different J/L/S, if they are extremely close in energy - for example, in high densities these levels should become J-mixed or L-mixed, which essentially means very fast collisions between them - in such a case one could spend ages bouncing around between the levels just to establish populations close to the statistical weights.

Also, an apology, because I think I said I would work on this a few months back and I have not.

@kslong
Copy link
Collaborator

kslong commented Jan 2, 2020

I have merged various changes associated with trying to generate MacroAtom data from Chianti and Topbase data into dev. This includes a new routine MakeMacro.py that generates syntactically correct levels, lines, collision and photoionization files.

I elected not to create yet another line format for forbidden lines, but put a check that we do have a TopBase (Burgess) set of x-sections into get_atomicdata. (For the non-macro atom case the old rules still apply and if one had an oscillatior strength of 0, the line would be ignored by Python).

It would be very useful, if @jhmatthews and @ssim would try out MakeMacro.py for some cases, and see if they think modifications need to be made, or could be make, while I remember what I did. It would be very useful if we had a plausible set of MacroAtom files for not only C 3 - C5, but also N 4-6 and O 5 - 7.

@kslong kslong added the zombie label Dec 10, 2022
@kslong
Copy link
Collaborator

kslong commented Dec 10, 2022

It would be a good idea to rediscuss this in terms of a general reviison of the atomic data, but no action is imminent, so I am labelling this a zombile issue and closing it.

@kslong kslong closed this as completed Dec 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants