| | 610 | |
| | 611 | for(long ipISO=ipH_LIKE; ipISO<NISO; ++ipISO ) |
| | 612 | { |
| | 613 | for( nelem=ipISO; nelem<LIMELM; ++nelem ) |
| | 614 | { |
| | 615 | if( dense.lgElmtOn[nelem] && |
| | 616 | dense.xIonDense[nelem][nelem-ipISO]/dense.eden>conv.EdenErrorAllowed / 10. && |
| | 617 | !(iso.chTypeAtomUsed[ipISO][nelem][0]=='L' && |
| | 618 | iso.xIonSimple[ipISO][nelem]<1e-10) ) |
| | 619 | { |
| | 620 | const realnum err_tol = 1e-2; |
| | 621 | realnum abund = 0.; |
| | 622 | for (long n=0; n<iso.numLevels_local[ipISO][nelem]; ++n) |
| | 623 | { |
| | 624 | abund += StatesElem[ipISO][nelem][n].Pop; |
| | 625 | } |
| | 626 | if( conv.lgConvIoniz && iso.pop_ion_ov_neut[ipISO][nelem] > 1e-15 && |
| | 627 | ! fp_equal_tol(abund*dense.xIonDense[nelem][nelem+1-ipISO],dense.xIonDense[nelem][nelem-ipISO], |
| | 628 | err_tol*dense.xIonDense[nelem][nelem-ipISO])) |
| | 629 | { |
| | 630 | //fprintf(ioQQQ,"Inconsistent iso %ld %ld %ld %g\n",loop_ion,nelem,ipISO, |
| | 631 | // abund*dense.xIonDense[nelem][nelem+1-ipISO]/SDIV(dense.xIonDense[nelem][nelem-ipISO])-1); |
| | 632 | conv.lgConvIoniz = false; |
| | 633 | sprintf( conv.chConvIoniz , "Iso!=ion" ); |
| | 634 | conv.BadConvIoniz[0] = abund*dense.xIonDense[nelem][nelem+1-ipISO]; |
| | 635 | conv.BadConvIoniz[1] = dense.xIonDense[nelem][nelem-ipISO]; |
| | 636 | } |
| | 637 | } |
| | 638 | } |
| | 639 | } |
| | 640 | |