Cloudy
Spectral Synthesis Code for Astrophysics
|
#include "cddefines.h"
#include "rfield.h"
#include "opacity.h"
#include "conv.h"
#include "radius.h"
#include "rt_escprob.h"
#include "rt.h"
#include "cosmology.h"
#include "hydrogenic.h"
#include "iso.h"
#include "wind.h"
#include "geometry.h"
Functions | |
STATIC void | RT_line_pumping (const TransitionProxy &t, bool lgShield_this_zone, realnum DopplerWidth) |
STATIC void | RT_line_escape (const TransitionProxy &t, realnum pestrk, realnum DopplerWidth, bool lgGoodTau) |
STATIC void | RT_line_fine_opacity (const TransitionProxy &t, realnum DopplerWidth) |
void | RT_line_one_escape (const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth) |
void | RT_line_one_fine (const TransitionProxy &t, bool, realnum, realnum DopplerWidth) |
STATIC void RT_line_escape | ( | const TransitionProxy & | t, |
realnum | pestrk, | ||
realnum | DopplerWidth, | ||
bool | lgGoodTau | ||
) |
References cdEXIT, conv, cosmology, EmissionProxy::damp(), DEBUG_ENTRY, t_radius::depth, DestType::dest, DumpLine(), Wind::dvdr, TransitionProxy::Emis(), esc_CRDcore(), esc_CRDwing(), esc_PRD(), EXIT_FAILURE, t_geometry::FillFac, t_rfield::fine_opac_zone, fixit, fnzone, fprintf(), t_rt::fracin, EmissionProxy::FracInwd(), geometry, GetHubbleFactor(), ioQQQ, ipCRD, ipCRDW, DestType::ipDEST_INCOM, DestType::ipDEST_K2, DestType::ipDEST_LYA, EmissionProxy::ipFine(), t_rfield::ipFineConVelShift, ipLY_A, ipPRD, EmissionProxy::iRedisFun(), t_cosmology::lgDo, t_conv::lgFirstSweepThisZone, t_rfield::lgOpacityFine, min(), t_rfield::nfine, EmissionProxy::opacity(), EmissionProxy::Pesc(), EmissionProxy::PopOpc(), radius, t_cosmology::redshift_current, rfield, rt, RT_DestProb(), RT_EscLVG(), RTesc_lya(), ShowMe(), DestType::t, EmissionProxy::TauIn(), EmissionProxy::TauTot(), EmissionProxy::VoigtLineCen(), wind, and Wind::windv.
Referenced by RT_line_one_escape().
STATIC void RT_line_fine_opacity | ( | const TransitionProxy & | t, |
realnum | DopplerWidth | ||
) |
References ASSERT, TransitionProxy::chLabel(), conv, EmissionProxy::damp(), EmissionProxy::dampXvel(), DEBUG_ENTRY, t_radius::depth_x_fillfac, TransitionProxy::Emis(), t_rfield::fine_opac_velocity_width, t_rfield::fine_opac_zone, TransitionProxy::Hi(), EmissionProxy::ipFine(), t_rfield::ipFineConVelShift, t_conv::lgLastSweepThisZone, t_rfield::lgOpacityFine, max(), min(), t_rfield::nfine, EmissionProxy::opacity(), EmissionProxy::PopOpc(), radius, rfield, SMALLFLOAT, VoigtH(), and EmissionProxy::VoigtLineCen().
Referenced by RT_line_one_fine().
void RT_line_one_escape | ( | const TransitionProxy & | t, |
bool | lgShield_this_zone, | ||
realnum | pestrk, | ||
realnum | DopplerWidth | ||
) |
RT_line_one do line radiative transfer
t | line structure |
pestrk | Stark escape probability |
DopplerWidth | |
lgShield_this_zone | this is option to not include line self shielding across this zone. this can cause pump to depend on zone thickness, and leads to unstable feedback in some models with the large H2 molecule, due to Solomon process depending on zone thickness and level populations. |
References ASSERT, EmissionProxy::damp(), EmissionProxy::dampXvel(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), EmissionProxy::FracInwd(), ipLY_A, EmissionProxy::iRedisFun(), t_rfield::lgDoLineTrans, lgTauGood(), TransitionProxy::Lo(), EmissionProxy::Pdest(), EmissionProxy::Pelec_esc(), EmissionProxy::Pesc(), t_rfield::plsfrq, EmissionProxy::pump(), rfield, RT_line_escape(), RT_line_pumping(), and SMALLFLOAT.
Referenced by CoolDima(), CoolHyperfine(), and RT_line_all_escape().
void RT_line_one_fine | ( | const TransitionProxy & | t, |
bool | , | ||
realnum | , | ||
realnum | DopplerWidth | ||
) |
References ASSERT, cdEXIT, EmissionProxy::damp(), EmissionProxy::dampXvel(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), EXIT_SUCCESS, fprintf(), ioQQQ, ipLY_A, EmissionProxy::iRedisFun(), t_rfield::lgDoLineTrans, TransitionProxy::Lo(), MAX2, MIN2, nzone, t_rfield::plsfrq, rfield, RT_line_fine_opacity(), and SMALLFLOAT.
Referenced by RT_tau_inc().
STATIC void RT_line_pumping | ( | const TransitionProxy & | t, |
bool | lgShield_this_zone, | ||
realnum | DopplerWidth | ||
) |
References ASSERT, EmissionProxy::Aul(), TransitionProxy::chLabel(), conv, cosmology, DEBUG_ENTRY, t_radius::drad_x_fillfac, Wind::dvdr, TransitionProxy::Emis(), fprintf(), TransitionProxy::Hi(), hydro, ioQQQ, TransitionProxy::ipCont(), ipH_LIKE, ipHYDROGEN, TransitionProxy::ipLo(), ipLY_A, EmissionProxy::iRedisFun(), iso_sp, t_cosmology::lgDo, t_conv::lgFirstSweepThisZone, t_rfield::lgInducProcess, TransitionProxy::Lo(), t_rfield::OccNumbContEmitOut, t_rfield::OccNumbIncidCont, opac, EmissionProxy::opacity(), t_opac::opacity_abs, EmissionProxy::PopOpc(), EmissionProxy::pump(), radius, rfield, RT_continuum_shield_fcn(), safe_div(), TransitionProxy::systemIs(), wind, and t_hydro::xLymanPumpingScaleFactor.
Referenced by RT_line_one_escape().