cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions | Variables
rt_escprob.cpp File Reference
#include "cddefines.h"
#include "dense.h"
#include "conv.h"
#include "opacity.h"
#include "taulines.h"
#include "pressure.h"
#include "wind.h"
#include "rt.h"
#include "iso.h"
#include "rfield.h"
#include "rt_escprob.h"
#include "integrate.h"
Include dependency graph for rt_escprob.cpp:

Go to the source code of this file.

Functions

STATIC double RT_DestHummer (double beta)
 
STATIC void RT_line_electron_scatter (const TransitionProxy &t, realnum DopplerWidth)
 
STATIC double escmase (double tau)
 
STATIC void RTesc_lya_1side (double taume, double beta, realnum *esc, realnum *dest, long ipLine)
 
double esc_PRD_1side (double tau, double a)
 
double esc_CRDwing_1side (double tau, double a)
 
double RTesc_lya (double *esin, double *dest, double abund, const TransitionProxy &t, realnum DopplerWidth)
 
double esc_2side_base (double tau, double tau_out, double damp, double(*esc_1side)(double, double))
 
double esc_PRD (double tau, double tau_out, double damp)
 
double esc_CRDwing (double tau_in, double tau_out, double damp)
 
double esc_CRDcore (double tau_in, double tau_out)
 
double esca0k2 (double taume)
 
STATIC void FindNeg (void)
 
double esccon (double tau, double hnukt)
 
void RT_DestProb (const TransitionProxy &t, double DopplerWidth, const DestType &nCore)
 
double RT_LineWidth (const TransitionProxy &t, realnum DopplerWidth)
 
double RT_EscLVG (double tau, double sigma)
 

Variables

const bool NEW_PELEC_ESC =false
 
const bool NEW_MASE_ESCAPE =false
 

Function Documentation

double esc_2side_base ( double  tau,
double  tau_out,
double  damp,
double(*)(double, double)  esc_1side 
)
inline

Definition at line 293 of file rt_escprob.cpp.

References ASSERT, DEBUG_ENTRY, fprintf(), t_rt::fracin, ioQQQ, iteration, rt, t_rt::wayin, and t_rt::wayout.

Referenced by esc_CRDwing(), and esc_PRD().

Here is the call graph for this function:

double esc_CRDcore ( double  tau_in,
double  tau_out 
)

esc_CRDcore escape probability CRD with no wings, for subordinate lines

Parameters
tau
tout

Definition at line 379 of file rt_escprob.cpp.

References ASSERT, DEBUG_ENTRY, esca0k2(), t_rt::fracin, iteration, MIN2, rt, t_rt::wayin, and t_rt::wayout.

Referenced by RT_line_escape().

Here is the call graph for this function:

double esc_CRDwing ( double  tau_in,
double  tau_out,
double  damp 
)

esc_CRDwing escape probability CRD with wings, for subordinate lines

Parameters
tau
tout
damp

Definition at line 356 of file rt_escprob.cpp.

References ASSERT, cdEXIT, esc_2side_base(), esc_CRDwing_1side(), EXIT_FAILURE, fprintf(), and ioQQQ.

Referenced by RT_line_escape().

Here is the call graph for this function:

double esc_CRDwing_1side ( double  tau,
double  a 
)

esc_CRDwing_1side fundamental escape probability radiative transfer routine, for complete redistribution

Definition at line 165 of file rt_escprob.cpp.

References ASSERT, DEBUG_ENTRY, esca0k2(), escmase(), and POW2.

Referenced by DrvEscP(), esc_CRDwing(), mc_escape(), and RT_continuum_shield_fcn_point().

Here is the call graph for this function:

double esc_PRD ( double  tau,
double  tau_out,
double  damp 
)

esc_PRD escape probability radiative transfer for incomplete redistribution

Parameters
tau
tout
damp

Definition at line 348 of file rt_escprob.cpp.

References esc_2side_base(), and esc_PRD_1side().

Referenced by RT_line_escape().

Here is the call graph for this function:

double esc_PRD_1side ( double  tau,
double  a 
)

esc_PRD_1side fundamental escape probability radiative transfer routine for incomplete redistribution

Parameters
tau
a

Definition at line 116 of file rt_escprob.cpp.

References ASSERT, DEBUG_ENTRY, escmase(), MIN2, and rt.

Referenced by DrvEscP(), esc_PRD(), mole_h_reactions(), RT_continuum_shield_fcn_point(), and RT_LineWidth().

Here is the call graph for this function:

double esca0k2 ( double  taume)

esca0k2 derive Hummer's K2 escape probability for Doppler core only

Parameters
taume

Definition at line 424 of file rt_escprob.cpp.

References DEBUG_ENTRY, and escmase().

Referenced by DrvEscP(), esc_CRDcore(), esc_CRDwing_1side(), mc_escape(), and RT_continuum_shield_fcn_point().

Here is the call graph for this function:

double esccon ( double  tau,
double  hnukt 
)

escpcn continuum escape probability

Parameters
tau
hnukt

Definition at line 552 of file rt_escprob.cpp.

References DEBUG_ENTRY, and Integrator< Integrand, Method >::sum().

Referenced by RT_recom_effic().

Here is the call graph for this function:

STATIC double escmase ( double  tau)

Definition at line 520 of file rt_escprob.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, FindNeg(), fprintf(), ioQQQ, nzone, and ShowMe().

Referenced by esc_CRDwing_1side(), esc_PRD_1side(), and esca0k2().

Here is the call graph for this function:

STATIC void FindNeg ( void  )

Definition at line 482 of file rt_escprob.cpp.

References dBaseTrans, DEBUG_ENTRY, DumpLine(), HFLines, NISO, nSpecies, nWindLine, TransitionList::size(), and TauLine2.

Referenced by escmase().

Here is the call graph for this function:

STATIC double RT_DestHummer ( double  beta)
Parameters
betabeta is ratio of continuum to mean line opacity,
Returns
dest prob = beta F(beta)

Definition at line 1067 of file rt_escprob.cpp.

References ASSERT, and DEBUG_ENTRY.

Referenced by RT_DestProb().

void RT_DestProb ( const TransitionProxy t,
double  widl,
const DestType nCore 
)

RT_DestProb returns line destruction probability due to continuum opacity

Parameters
abundabundance of species
crsecits line absorption cross section
ipanupointer to energy within continuum array, to get background opacity, this is on the f not c scale
widlline width
escpescape probability
nCoretype of redistribution function

Definition at line 722 of file rt_escprob.cpp.

References abund, t_opac::albedo, t_mesh::anu(), ASSERT, cdEXIT, TransitionProxy::chLabel(), conv, DEBUG_ENTRY, dense, DestType::dest, t_dense::eden, TransitionProxy::Emis(), EXIT_FAILURE, fp_equal(), fprintf(), ioQQQ, TransitionProxy::ipCont(), DestType::ipDEST_INCOM, DestType::ipDEST_K2, DestType::ipDEST_LYA, DestType::ipDEST_SIMPL, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, iso_sp, t_rt::lgElecScatEscape, max(), MAX2, EmissionProxy::mult_opac(), NEW_MASE_ESCAPE, NEW_PELEC_ESC, t_rfield::nflux, t_conv::nTotalIoniz, nzone, opac, EmissionProxy::opacity(), t_opac::opacity_abs, EmissionProxy::Pdest(), EmissionProxy::Pesc(), EmissionProxy::PopOpc(), POW2, rfield, rt, RT_DestHummer(), RT_line_electron_scatter(), DestType::t, EmissionProxy::TauIn(), and EmissionProxy::TauTot().

Referenced by RT_line_escape().

Here is the call graph for this function:

double RT_EscLVG ( double  tau,
double  sigma 
)

Definition at line 1115 of file rt_escprob.cpp.

Referenced by RT_line_escape().

STATIC void RT_line_electron_scatter ( const TransitionProxy t,
realnum  DopplerWidth 
)
double RT_LineWidth ( const TransitionProxy t,
realnum  DopplerWidth 
)

RT_LineWidth compute line width (cm/sec), using optical depth array information

Parameters
t
DopplerWidth

Definition at line 946 of file rt_escprob.cpp.

References ASSERT, EmissionProxy::damp(), EmissionProxy::dampXvel(), DEBUG_ENTRY, dense, t_dense::eden, TransitionProxy::Emis(), esc_PRD_1side(), iteration, Wind::lgBallistic(), t_pressure::lgPradDen, MAX2, MIN2, opac, EmissionProxy::Pdest(), EmissionProxy::Pelec_esc(), pressure, EmissionProxy::TauIn(), t_opac::taumin, EmissionProxy::TauTot(), wind, and Wind::windv0.

Referenced by PressureRadiationLine(), and PresTotCurrent().

Here is the call graph for this function:

double RTesc_lya ( double *  esin,
double *  dest,
double  abund,
const TransitionProxy t,
realnum  DopplerWidth 
)

RTesc_lya escape prob for hydrogen atom Lya, using Hummer and Kunasz results

Parameters
*esin
*dest
abund
tline structure
DopplerWidth

Definition at line 208 of file rt_escprob.cpp.

References ASSERT, DEBUG_ENTRY, dense, t_dense::eden, TransitionProxy::Emis(), t_rt::fracin, TransitionProxy::ipCont(), t_rt::lgElecScatEscape, MAX2, MIN2, NEW_PELEC_ESC, opac, EmissionProxy::opacity(), t_opac::opacity_abs, rt, RTesc_lya_1side(), EmissionProxy::TauIn(), EmissionProxy::TauTot(), t_rt::wayin, and t_rt::wayout.

Referenced by RT_line_escape().

Here is the call graph for this function:

STATIC void RTesc_lya_1side ( double  taume,
double  beta,
realnum esc,
realnum dest,
long  ipLine 
)

Definition at line 600 of file rt_escprob.cpp.

References t_opac::albedo, DEBUG_ENTRY, DEST0, exp10(), fprintf(), ioQQQ, ipLine, MAX2, MIN2, opac, and POW2.

Referenced by RTesc_lya().

Here is the call graph for this function:

Variable Documentation

const bool NEW_MASE_ESCAPE =false

Definition at line 43 of file rt_escprob.cpp.

Referenced by RT_DestProb().

const bool NEW_PELEC_ESC =false

Definition at line 43 of file rt_escprob.cpp.

Referenced by RT_DestProb(), RT_line_electron_scatter(), and RTesc_lya().