cloudy trunk
Loading...
Searching...
No Matches
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(), iteration, MIN2, rt, and tau_from_here().

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(), iteration, MIN2, rt, and tau_from_here().

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(), iteration, rt, and tau_from_here().

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_conrec::chnukt_ContTkt, my_Integrand_escConE2::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, ShowMe(), and STATIC.

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, STATIC, 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, ASSERT, cdEXIT, conv, DEBUG_ENTRY, EXIT_FAILURE, fp_equal(), ioQQQ, ipDEST_INCOM, ipDEST_K2, ipDEST_SIMPL, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, iso_sp, MIN2, nzone, opac, 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, TransitionProxy::Emis(), esc_PRD_1side(), iteration, MAX2, MIN2, opac, EmissionProxy::Pdest(), EmissionProxy::Pelec_esc(), PI, pressure, EmissionProxy::TauIn(), EmissionProxy::TauTot(), and wind.

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(), EmissionProxy::FracInwd(), TransitionProxy::ipCont(), MAX2, MIN2, opac, EmissionProxy::Pdest(), EmissionProxy::Pesc(), rt, RTesc_lya_1side(), SQRTPI, EmissionProxy::TauIn(), and EmissionProxy::TauTot().

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 DEBUG_ENTRY, DEST0, ioQQQ, ipLine, MAX2, MIN2, opac, POW2, SQRTPI, and STATIC.

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().