Opened 9 years ago

#97 new defect - convergence

testing on outward Hb reveals problems

Reported by: Gary J. Ferland Owned by: nobody
Priority: critical Milestone: C13 branch
Component: etc Version:
Keywords: Cc:


I had added a test on the intensity of the outward Hb intensity after the paper on FeII emission from the shielded face. This was used with the *iterate to convergence* command, which appears in all BLR sims in the test suite.

The code needed more iterations to converge, as expected.

But various platforms required different numbers of iterations, and the line intensities were different as a result. Large differences were noticed between icl 11 and vs08 (on vista) and with the bcx with gcc and icc. A good fraction of the BLR sims were affected.

These were made worse when the default *iterate to convergence* criterion was made finer. In some sims the number of iterations could change between 5 and 10 depending on the platform.

The root problem is that the logic for updating the line optical depths has not been revisited in well over a decade. The updated total line optical depth to be used in the following iteration to compute the outward part of the line intensity. This is done in RT_line_one_tau_reset which sets the new total optical depth to the total optical depth from the previous iteration. The outward intensity is sensitive to this total optical depth because an optically thick line will form mainly near the surface of the shielded face of the cloud.

There may be an associated problem with the logic that changes the zone thickness during the approach to the shielded face. This is done near radius_next.cpp:872. The zoning near the outer edge must be fine enough to resolve "edge effects". Radiation escapes very efficiently from layers near the surface of the cloud so the temperature will change rapidly as a result. Regions near the surface is also where optically thick lines form, so the outward part of the line can change if the zoning is not fine enough.

I am undoing the test on the outward Hb in r3189 - in conv_itercheck.cpp:52 so that the code is returned to its previous state.

Details of which models have problems are not given here - this problem needs to be addressed after the C10 branch/release since the solution will require extensive study to determine what is prevently the BLR sims from converging the outward flux reliably using the iterate to convergence command.

For the paper i have not used the iterate to convergence command but have done ten iterations for each sim.

Change History (0)

Note: See TracTickets for help on using tickets.