Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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:

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

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

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

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

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

Referenced by 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

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

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

Referenced by 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

References DEBUG_ENTRY, and escmase().

Referenced by 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

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)

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  )

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)

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

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::lgAbsorLineEscape, t_rt::lgElecScatEscape, t_rt::lgElecScatInten, 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::Pelec_esc(), 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 
)

Referenced by RT_line_escape().

double RT_LineWidth ( const TransitionProxy t,
realnum  DopplerWidth 
)
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

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 
)

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

Referenced by RT_DestProb().

const bool NEW_PELEC_ESC =false