Ticket #67 (new defect - failed assert)

Opened 1 week ago

Last modified 1 week ago

failed assert in rt_diffuse.cpp at line number 393

Reported by: peter Assigned to: nobody
Priority: major Milestone:
Component: radiative transfer Version:
Keywords: Cc:

Description (Last modified by peter)

The attached test case crashes the mainline when modeling a high excitation PN with a 1/r2 density law outside the ionized region. It uses the DLAW command and the dense_fabden.cpp file is attached as well. An analysis by Ryan Porter yielded the following:


Here's where the problem stands then. At line 393 of rt_diffuse the below assert values. The comment accompanying it may well provide the proper hint:

/* nflux was reset upward in ConvInitSolution to encompass possible line and continuum emission. this test should not possibly fail. It could if the ionization were to increase with depth This is important because the nflux cell in ConInterOut is used to carry out the unit integration, and if it gets clobbered by diffuse emission the code will declare insanity in PrtComment */

ASSERT( ip >= 0 && ip < rfield.nflux );

When the assert is thrown ip == 3146, rfield.nflux == 3141, nelem == 25, and ion == 16.

Attachments

patrizia3.in (1.0 kB) - added by peter on 05/09/08 07:31:12.
input script
dense_fabden.cpp (511 bytes) - added by peter on 05/09/08 07:32:26.
density law

Change History

05/09/08 07:31:12 changed by peter

  • attachment patrizia3.in added.

input script

05/09/08 07:32:26 changed by peter

  • attachment dense_fabden.cpp added.

density law

05/09/08 07:40:59 changed by peter

  • description changed.

Problem was reported by Patrizia Manzitto.