Cloudy
Spectral Synthesis Code for Astrophysics
|
#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"
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 |
|
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().
double esc_CRDcore | ( | double | tau_in, |
double | tau_out | ||
) |
esc_CRDcore escape probability CRD with no wings, for subordinate lines
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().
double esc_CRDwing | ( | double | tau_in, |
double | tau_out, | ||
double | damp | ||
) |
esc_CRDwing escape probability CRD with wings, for subordinate lines
tau | |
tout | |
damp |
References ASSERT, cdEXIT, esc_2side_base(), esc_CRDwing_1side(), EXIT_FAILURE, fprintf(), and ioQQQ.
Referenced by RT_line_escape().
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().
double esc_PRD | ( | double | tau, |
double | tau_out, | ||
double | damp | ||
) |
esc_PRD escape probability radiative transfer for incomplete redistribution
tau | |
tout | |
damp |
References esc_2side_base(), and esc_PRD_1side().
Referenced by RT_line_escape().
double esc_PRD_1side | ( | double | tau, |
double | a | ||
) |
esc_PRD_1side fundamental escape probability radiative transfer routine for incomplete redistribution
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().
double esca0k2 | ( | double | taume | ) |
esca0k2 derive Hummer's K2 escape probability for Doppler core only
taume |
References DEBUG_ENTRY, and escmase().
Referenced by esc_CRDcore(), esc_CRDwing_1side(), mc_escape(), and RT_continuum_shield_fcn_point().
double esccon | ( | double | tau, |
double | hnukt | ||
) |
escpcn continuum escape probability
tau | |
hnukt |
References DEBUG_ENTRY, and Integrator< Integrand, Method >::sum().
Referenced by RT_recom_effic().
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().
STATIC void FindNeg | ( | void | ) |
References dBaseTrans, DEBUG_ENTRY, DumpLine(), HFLines, NISO, nSpecies, nWindLine, TransitionList::size(), and TauLine2.
Referenced by escmase().
STATIC double RT_DestHummer | ( | double | beta | ) |
beta | beta is ratio of continuum to mean line opacity, |
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
abund | abundance of species |
crsec | its line absorption cross section |
ipanu | pointer to energy within continuum array, to get background opacity, this is on the f not c scale |
widl | line width |
escp | escape probability |
nCore | type 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().
double RT_EscLVG | ( | double | tau, |
double | sigma | ||
) |
Referenced by RT_line_escape().
STATIC void RT_line_electron_scatter | ( | const TransitionProxy & | t, |
realnum | DopplerWidth | ||
) |
References DEBUG_ENTRY, dense, t_dense::eden, TransitionProxy::Emis(), TransitionProxy::ipCont(), t_rt::lgElecScatEscape, TransitionProxy::Lo(), MAX2, EmissionProxy::mult_opac(), NEW_PELEC_ESC, opac, EmissionProxy::opacity(), t_opac::opacity_abs, EmissionProxy::Pdest(), EmissionProxy::Pelec_esc(), EmissionProxy::Pesc(), and rt.
Referenced by RT_DestProb().
double RT_LineWidth | ( | const TransitionProxy & | t, |
realnum | DopplerWidth | ||
) |
RT_LineWidth compute line width (cm/sec), using optical depth array information
t | |
DopplerWidth |
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(), pow(), pressure, EmissionProxy::TauIn(), t_opac::taumin, EmissionProxy::TauTot(), wind, and Wind::windv0.
Referenced by PressureRadiationLine(), and PresTotCurrent().
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
*esin | |
*dest | |
abund | |
t | line 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().
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().
const bool NEW_MASE_ESCAPE =false |
Referenced by RT_DestProb().
const bool NEW_PELEC_ESC =false |
Referenced by RT_DestProb(), RT_line_electron_scatter(), and RTesc_lya().