32 for (
long nelem=
ipHYDROGEN; nelem < nelem1; ++nelem)
40 for(
long nelem=nelem1+1; nelem<
LIMELM; ++nelem)
42 for(
long ion=0; ion<=nelem; ++ion )
79 double DR_reverse = 0.;
82 long indexIP =
iso_sp[ipISO][nelem].
fb[level].ipIsoLevNIonCon-1;
84 double OccNumBB = 1./(exp(
iso_sp[ipISO][nelem].fb[level].xIsoLevNIonRyd /
phycon.
te_ryd ) - 1. );
85 double RelOccNum =
MIN2( 1., OccNum / OccNumBB );
88 DR_reverse =
iso_sp[ipISO][nelem].
fb[level].DielecRecomb * RelOccNum /
89 iso_sp[ipISO][nelem].
fb[level].PopLTE;
93 iso_sp[ipISO][nelem].
fb[level].RateLevel2Cont =
iso_sp[ipISO][nelem].
fb[level].gamnc +
99 iso_sp[ipISO][nelem].
fb[level].RateCont2Level = (
105 iso_sp[ipISO][nelem].
fb[level].DielecRecomb +
108 iso_sp[ipISO][nelem].
fb[level].RecomInducRate*
iso_sp[ipISO][nelem].
fb[level].PopLTE +
117 ASSERT(
iso_sp[ipISO][nelem].fb[level].DielecRecomb >= 0. );
118 ASSERT(
iso_sp[ipISO][nelem].fb[level].RecomInducRate >= 0. );
120 ASSERT(
iso_sp[ipISO][nelem].fb[level].ColIoniz >= 0. );
121 ASSERT(
iso_sp[ipISO][nelem].fb[level].RateCont2Level >= 0. );
125 iso_sp[ipISO][nelem].
fb[level].RateCont2Level *=
175 fprintf(
ioQQQ,
" iso_ionize_recombine iso=%2ld Z=%2ld Level2Cont[0] %10.2e RateRecomTot %10.2e xIonSimple %10.2e\n",