Opened 3 years ago

Closed 3 years ago

#300 closed defect - failed assert (fixed)

Chianti warnings about proton collision rates

Reported by: Gary J. Ferland Owned by: nobody
Priority: blocker Milestone: C17_branch
Component: atomic/molecular data base Version: trunk
Keywords: Cc:

Description

a series of warnings about chianti proton collision rates have appeared

Warning: Chianti proton collision data not supported in chianti/al/al_10/al_10.psplups (skipped)
Warning: Chianti proton collision data not supported in chianti/al/al_5/al_5.psplups (skipped)
Warning: Chianti proton collision data not supported in chianti/al/al_9/al_9.psplups (skipped)
Warning: Chianti proton collision data not supported in chianti/ar/ar_10/ar_10.psplups (skipped)
Warning: Chianti proton collision data not supported in chianti/ar/ar_11/ar_11.psplups (skipped)
Warning: Chianti proton collision data not supported in chianti/ar/ar_13/ar_13.psplups (skipped)
Warning: Chianti proton collision data not supported in chianti/ar/ar_14/ar_14.psplups (skipped)
Warning: Chianti proton collision data not supported in chianti/ar/ar_15/ar_15.psplups (skipped)

Attachments (1)

patch (1.3 KB) - added by peter 3 years ago.
proposed patch

Download all attachments as: .zip

Change History (9)

comment:1 Changed 3 years ago by peter

The warnings are generated in atmdat_chianti.cpp (on line 1759 in r9876). On the next line is a break statement. If that is removed, the code will attempt to read the proton collision strength files. This will trigger a failed assert since at least one of the files contains a duplicate entry for a particular transition. At least this issue needs to be resolved before reading the proton data files can be activated.

However, the warning suggests that there could be more issues with the Cloudy support for these files. This needs to be checked as well.

comment:2 Changed 3 years ago by peter

Type: defect - convergencedefect - failed assert

The file chianti/o/o_5/o_5.psplups contains a duplicate entry for the transition 2 -> 4. It is very likely that one of these needs to be 3 -> 4 so that all transitions between the 2s.2p 3P* levels are covered.

None of the other proton collision rate files cause a failed assert.

comment:3 Changed 3 years ago by peter

Component: etcatomic/molecular data base

comment:4 Changed 3 years ago by peter

The file chianti/o/o_5/o_5.psplups was fixed in r9929. The proton collision files are not enabled yet as doing that results in truly huge botches. This needs to be investigated further. One example is this sim:

grid_coronal.out:  ChkMonitor botch>>cool        0   -19.3535 =   -21.4461 -122.773   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -16.0351 =   -21.7265 -491312.793   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -15.4122 =   -21.8267 -2597171.337   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -15.1893 =   -21.9719 -6061729.380   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -16.9403 =   -22.3510 -257464.913   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -16.3250 =   -22.4747 -1411544.479   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -15.0508 =   -22.4745 -26526211.673   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -16.4010 =   -22.6115 -1623503.946   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -18.6360 =   -22.6344 -9962.273   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -20.6772 =   -22.5590 -75.179   0.050  <<BIG BOTCH!!
grid_coronal.out:  ChkMonitor botch>>cool        0   -22.2954 =   -22.4641  -0.475   0.050  <<BIG BOTCH!!

Peter Young stated that the proton collision data files were identical to the electron data files apart from the missing atomic number and ionization stage.

comment:5 Changed 3 years ago by peter

One of the culprits for the botches above is S X. Looking at the grid point in grid_coronal.out at log(T) = 6.5 we see that the total cooling goes up from 4.3716e-23 to 1.1474e-17. A lot of this is due to S X, but also Fe XIII, Ni XIII, etc. S X has proton data connecting the 4S<3/2> ground state and the metastable 2P and 2D states. The lines between these levels have increased by roughly 10 dex in strength:

S 10 1212.93A  -27.516  ->  -17.794
S 10 1196.22A  -27.418  ->  -18.724
S 10 787.558A  -28.103  ->  -18.145
S 10 776.375A  -27.783  ->  -17.855
S 10 2244.98A  -28.901  ->  -18.944
S 10 2156.40A  -28.684  ->  -18.756
S 10 2211.36A  -28.963  ->  -19.034
S 10 5.46599m  < -30.5  ->  -23.486

Clearly the proton data produce huge excitation rates that need to be compared to the original literature source. This is Bhatia, A.K. Landi, E., 2003, ApJS, 147, 409.

comment:6 Changed 3 years ago by peter

The huge botches are caused by the fact that negative spline coefficients that are read from the Chianti collision data files are arbitrarily set to zero. This is inappropriate as there may be logs of rate coefficients in the file which are always negative. This way the rate coefficient becomes pow(10,0) rather than something like pow(10,-14), artificially boosting the rate coefficient by many dex.

The offending code is in atmdat_chianti.cpp@9938 on lines 1944ff.

comment:7 Changed 3 years ago by peter

The code in atmdat_chianti.cpp@9938 on lines 1944ff was there to protect type 2 fits from returning negative rate coefficients, so for type 2 it should stay in place but for type 6 fits it should be avoided. These are the only types of fits that are currently used in the proton collision rate coefficient files.

The code in species2.cpp@9938 on line 798 should not test for type 6 fits as type 2 fits also return collision rate coefficients.

The attached patch solves these issues and is proposed to be committed to the trunk.

Changed 3 years ago by peter

Attachment: patch added

proposed patch

comment:8 Changed 3 years ago by peter

Resolution: fixed
Status: newclosed

Patch applied in r9939.

Note: See TracTickets for help on using tickets.