32 bool lgShield_this_zone );
42 bool lgDoFine_opac_update ,
47 bool lgShield_this_zone )
49 static long int nTau[100],
66 enum {DEBUG_LOC=
false};
78 n = (long)log10( t->
Lo->
Pop )+37;
89 fprintf(
ioQQQ,
"%li\t%li\n", n , nTau[n] );
109 if( lgDoFine_opac_update && ipLineCenter >= 0 && t->
Emis->
PopOpc > 0. &&
136 long int nCells_core = (long)(cells_wide_1x*4.f+1.5f);
141 if( ipLineCenter - nCells_core < 1 )
142 nCells_core = ipLineCenter - 1;
147 nCells_core =
MAX2( 1 , nCells_core );
151 for( i=1; i<nCells_core; ++i )
165 if( dTauEffec*t->
Emis->
damp/9. > 0.1 )
173 long int nCells_damp;
178 nCells_damp = (long)x;
180 if( ipLineCenter-nCells_damp < 1 )
181 nCells_damp = ipLineCenter-1;
194 for( i=nCells_core; i<nCells_damp; ++i )
199 opacity = opac_line*t->
Emis->
damp/(1.772f*xsq );
220 bool lgShield_this_zone )
258 fprintf(
ioQQQ,
"PROBLEM RT_line_static called with large negative optical depth, zone %.2f, setting lgAbort true.\n",
376 fprintf(
ioQQQ,
" RT_line_static called with redistribution function zero\n" );
396 double shield_continuum;
435 dTau =
MIN2(1., dTau);
440 if( lgShield_this_zone && dTau > 1e-3 && dTau < 1e10 )
445 t->
Emis->
pump *= log(1. + dTau ) / dTau;
514 double opacity_ratio = es/(es+opac_line) * (1.-t->
Emis->
Pesc);
551 # define OLDFAC (0.625)
604 ASSERT( t->ColOvTot <= 1. && t->ColOvTot >= 0. );
629 t->pump = t->Aul*t->gHi/t->gLo*t->Pesc*(