cloudy trunk
Loading...
Searching...
No Matches
Data Structures | Functions
rt_escprob.cpp File Reference
#include "cddefines.h"
#include "physconst.h"
#include "dense.h"
#include "conv.h"
#include "rfield.h"
#include "opacity.h"
#include "lines_service.h"
#include "taulines.h"
#include "doppvel.h"
#include "pressure.h"
#include "wind.h"
#include "rt.h"
#include "iso.h"
#include "thirdparty.h"
Include dependency graph for rt_escprob.cpp:

Go to the source code of this file.

Data Structures

class  my_Integrand_escConE2
 
class  my_Integrand_conrec
 
class  k2DampArg
 

Functions

double tau_from_here (double tau_tot, double tau_in)
 
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)
 
template<class F >
double trapezium (realnum xmin, realnum xmax, const F func)
 
double esc_CRDwing_1side (double tau, double a)
 
double RTesc_lya (double *esin, double *dest, double abund, const TransitionProxy &t, realnum DopplerWidth)
 
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)
 
double RT_DestProb (double abund, double crsec, long int ipanu, double widl, double escp, int nCore)
 
double RT_LineWidth (const TransitionProxy &t, realnum DopplerWidth)
 
double RT_DestHummer (double beta)
 

Function Documentation

◆ esc_CRDcore()

double esc_CRDcore ( double  tau,
double  tout 
)

esc_CRDcore escape probability CRD with no wings, for subordinate lines

Parameters
tau
tout

Definition at line 445 of file rt_escprob.cpp.

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

Referenced by RT_line_escape().

Here is the call graph for this function:

◆ esc_CRDwing()

double esc_CRDwing ( double  tau,
double  tout,
double  damp 
)

esc_CRDwing escape probability CRD with wings, for subordinate lines

Parameters
tau
tout
damp

Definition at line 399 of file rt_escprob.cpp.

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

Referenced by RT_line_escape().

Here is the call graph for this function:

◆ esc_CRDwing_1side()

double esc_CRDwing_1side ( double  tau,
double  a 
)

esc_CRDwing_1side fundamental escape probability radiative transfer routine, for complete redistribution

Definition at line 221 of file rt_escprob.cpp.

References DEBUG_ENTRY, esca0k2(), ioQQQ, POW2, SQRTPI, Integrator< Integrand, Method >::sum(), and trapezium().

Referenced by DrvEscP(), esc_CRDwing(), and RT_continuum_shield_fcn().

Here is the call graph for this function:

◆ esc_PRD()

double esc_PRD ( double  tau,
double  tout,
double  damp 
)

esc_PRD escape probability radiative transfer for incomplete redistribution

Parameters
tau
tout
damp

Definition at line 363 of file rt_escprob.cpp.

References ASSERT, DEBUG_ENTRY, esc_PRD_1side(), t_rt::fracin, iteration, rt, tau_from_here(), t_rt::wayin, and t_rt::wayout.

Referenced by RT_line_escape().

Here is the call graph for this function:

◆ esc_PRD_1side()

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 97 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(), and RT_LineWidth().

Here is the call graph for this function:

◆ esca0k2()

double esca0k2 ( double  taume)

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

Parameters
taume

Definition at line 490 of file rt_escprob.cpp.

References DEBUG_ENTRY, escmase(), and SQRTPI.

Referenced by DrvEscP(), esc_CRDcore(), esc_CRDwing_1side(), and RT_continuum_shield_fcn().

Here is the call graph for this function:

◆ esccon()

double esccon ( double  tau,
double  hnukt 
)

escpcn continuum escape probability

Parameters
tau
hnukt

Definition at line 628 of file rt_escprob.cpp.

References my_Integrand_escConE2::chnukt_ContTkt, my_Integrand_conrec::chnukt_ContTkt, my_Integrand_escConE2::chnukt_ctau, DEBUG_ENTRY, and Integrator< Integrand, Method >::sum().

Referenced by RT_recom_effic().

Here is the call graph for this function:

◆ escmase()

STATIC double escmase ( double  tau)

Definition at line 596 of file rt_escprob.cpp.

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

Referenced by esc_PRD_1side(), and esca0k2().

Here is the call graph for this function:

◆ FindNeg()

STATIC void FindNeg ( void  )

Definition at line 548 of file rt_escprob.cpp.

References dBaseTrans, DEBUG_ENTRY, DumpLine(), HFLines, nHFLines, NISO, nLevel1, nSpecies, nWindLine, TauLine2, and TauLines.

Referenced by escmase().

Here is the call graph for this function:

◆ RT_DestHummer()

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

Definition at line 1039 of file rt_escprob.cpp.

References ASSERT, and DEBUG_ENTRY.

◆ RT_DestProb()

double RT_DestProb ( double  abund,
double  crsec,
long int  ipanu,
double  widl,
double  escp,
int  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
Todo:
2 this min is because there are no calculations that show what to do for beta beyound this value

Definition at line 774 of file rt_escprob.cpp.

References abund, t_opac::albedo, t_rfield::anu, ASSERT, cdEXIT, conv, DEBUG_ENTRY, EXIT_FAILURE, fp_equal(), ioQQQ, ipDEST_INCOM, ipDEST_K2, ipDEST_SIMPL, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, iso_sp, MIN2, t_rfield::nflux, t_conv::nTotalIoniz, nzone, opac, t_opac::opacity_abs, POW2, rfield, and SQRTPI.

Referenced by RT_line_escape().

Here is the call graph for this function:

◆ RT_LineWidth()

double RT_LineWidth ( const TransitionProxy t,
realnum  DopplerWidth 
)

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

Parameters
t
DopplerWidth
Todo:
1 dynamics; this test assumes that neg vel are subsonic, so that sobolev length would overestimate the optical depth, since ion is at most present over computed slab, and possibly more.
Todo:
1 rewrite so that this checks on size not sign of windv

Definition at line 918 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(), PI, pressure, EmissionProxy::TauIn(), t_opac::taumin, EmissionProxy::TauTot(), wind, and Wind::windv0.

Referenced by FeIIRadPress(), PressureRadiationLine(), and PresTotCurrent().

Here is the call graph for this function:

◆ RTesc_lya()

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 271 of file rt_escprob.cpp.

References abund, ASSERT, DEBUG_ENTRY, TransitionProxy::Emis(), t_rt::fracin, EmissionProxy::FracInwd(), TransitionProxy::ipCont(), MAX2, MIN2, opac, EmissionProxy::opacity(), t_opac::opacity_abs, EmissionProxy::Pdest(), EmissionProxy::Pesc(), rt, RTesc_lya_1side(), SQRTPI, EmissionProxy::TauIn(), EmissionProxy::TauTot(), t_rt::wayin, and t_rt::wayout.

Referenced by RT_line_escape().

Here is the call graph for this function:

◆ RTesc_lya_1side()

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

Definition at line 676 of file rt_escprob.cpp.

References t_opac::albedo, DEBUG_ENTRY, DEST0, ioQQQ, ipLine, MAX2, MIN2, opac, POW2, and SQRTPI.

Referenced by RTesc_lya().

◆ tau_from_here()

double tau_from_here ( double  tau_tot,
double  tau_in 
)
inline

Definition at line 28 of file rt_escprob.cpp.

Referenced by esc_CRDcore(), esc_CRDwing(), and esc_PRD().

◆ trapezium()

template<class F >
double trapezium ( realnum  xmin,
realnum  xmax,
const F  func 
)

Definition at line 174 of file rt_escprob.cpp.

Referenced by esc_CRDwing_1side().