The below input will blow an assert in iso_continuum_lower, but this is a trickle down effect. The root cause (well, at least rooter) is that source[0] and source[1] are NaN at line 909 of ion_solver causing dense.xIonDense[0][0] and dense.xIonDense[0][0] to be NaN. There should be a catch for NaN before ion_solver exits. It took me a long time to find out what was going on. A NaN check in the right place would have gotten to the problem much more quickly. I put this code at line 769, it does the job:
for( i=0; i<ion_range; i++ )
{ /* is this blows, source[i] is NaN */
ASSERT( source[i] == source[i] ); }
Here's the input:
title BLR std
set nend 2500
iterate 3
phi(h) 6.000000
hden 12.000000
atom he-like element helium levels resolved 10
atom he-like element helium levels collapsed 40
agn 6.00 -1.40 -0.50 -1.0
background z=0
stop column density 23.000000
normalize to label "inci" 1215