Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
rt.h
Go to the documentation of this file.
1/* This file is part of Cloudy and is copyright (C)1978-2025 by Gary J. Ferland and
2 * others. For conditions of distribution and use see copyright notice in license.txt */
3
4#ifndef RT_H_
5#define RT_H_
6
7#include "module.h"
8
10
11/* in following two the logical variable says whether to do the
12 * escape probabilities too (true) or just the destruction probabilities (false) */
13
24 bool lgShield_this_zone,
25 realnum pestrk,
26 realnum DopplerWidth,
27 bool = true);
29 bool lgShield_this_zone,
30 realnum pestrk,
31 realnum DopplerWidth,
32 bool lgKeepLyman);
33
34// Reset the fine opacity array and velocity shift
35void RT_fine_clear();
36
37typedef void (*linefunc)(const TransitionProxy& t,
38 bool lgShield_this_zone,
39 realnum pestrk,
40 realnum DopplerWidth,
41 bool lgKeepLyman);
42
45void RT_line_all( linefunc line_one, bool lgExcludeLyman = false );
46
47void RT_line_all_escape( realnum* error );
48
51double RT_line_driving(void);
52
53
58 bool lgShieldThisZone, double dTau );
59
61void RT_diffuse(void);
62
64void RT_continuum(void);
65
68void RT_OTS(void);
69
74void RT_OTS_AddLine(double ots,
75 long int ip );
76
83void RT_OTS_Update(double* SumOTS);
84
86void RT_OTS_Zero( void );
87
89void RT_OTS_ChkSum(
90 long int ipPnt);
91
101 const TransitionProxy & t ,
102 long int mas_species,
103 long int mas_ion,
104 long int mas_hi,
105 long int mas_lo,
106 realnum DopplerWidth);
107
109void RT_tau_init(void);
110
114class TransitionProxy;
116 const TransitionProxy & t );
117
119void RT_tau_reset(void);
120
122void RT_tau_inc(void);
123
128void RT_OTS_PrtRate(
129 double weak ,
130 int chFlag );
131
132
133#if 0
138double RT_LyaWidth(
139 double tauin,
140 double tauout,
141 double a,
142 double vth);
143#endif
144
148double RT_recom_effic(
149 long int ip);
150
152void RT_stark(void);
153
156/* #define DEST0 1e-8 */
157#define DEST0 SMALLFLOAT
158
159struct t_rt : public module {
160
161 const char *chName() const
162 {
163 return "rt";
164 }
165
166 void zero();
168
171
175
178
182
184 long int ipxry;
185
188
191
194
197
200
203
208
211
215
218
221
222};
223
224extern t_rt rt;
225
226double RT_EscLVG( double tau, double sigma );
227
230enum
231{
238};
239
240void prt_trans_opc_debug( const char *LineGroup, const TransitionProxy &t );
241
242#endif /* RT_H_ */
float realnum
Definition cddefines.h:127
Definition transition.h:24
module()
Definition module.h:29
Definition warnings.h:11
void(* linefunc)(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth, bool lgKeepLyman)
Definition h2_priv.h:10
t_rt rt
Definition rt.cpp:5
double RT_line_driving(void)
Definition rt_line_driving.cpp:15
void RT_continuum(void)
Definition rt_continuum.cpp:70
void RT_line_all(linefunc line_one, bool lgExcludeLyman=false)
Definition rt_line_all.cpp:234
void RT_line_one_fine(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth, bool lgKeepLyman)
Definition rt_line_one.cpp:460
void RT_fine_clear()
Definition rt_line_all.cpp:527
void RT_tau_inc(void)
Definition rt_tau_inc.cpp:40
void RT_stark(void)
Definition rt_stark.cpp:12
void RT_OTS_ChkSum(long int ipPnt)
Definition rt_ots.cpp:665
void RT_diffuse(void)
Definition rt_diffuse.cpp:33
void RT_OTS_Zero(void)
Definition rt_ots.cpp:630
void RT_line_one_tau_reset(const TransitionProxy &t)
Definition rt_line_one_tau_reset.cpp:13
double RT_continuum_shield_fcn(const TransitionProxy &t, bool lgShieldThisZone, double dTau)
Definition rt_continuum_shield_fcn.cpp:258
void RT_line_one_tauinc(const TransitionProxy &t, long int mas_species, long int mas_ion, long int mas_hi, long int mas_lo, realnum DopplerWidth)
Definition rt_line_one_tauinc.cpp:15
void RT_line_one_escape(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth, bool=true)
Definition rt_line_one.cpp:393
@ LINE_CONT_SHIELD_FEDERMAN
Definition rt.h:233
@ LINE_CONT_SHIELD_FEDERMAN_BUG
Definition rt.h:234
@ LINE_CONT_SHIELD_FERLAND
Definition rt.h:235
@ LINE_CONT_SHIELD_PESC
Definition rt.h:232
@ LINE_CONT_SHIELD_RODGERS
Definition rt.h:236
@ LINE_CONT_SHIELD_INTEGRAL
Definition rt.h:237
void RT_OTS_PrtRate(double weak, int chFlag)
Definition rt_ots.cpp:746
double RT_EscLVG(double tau, double sigma)
Definition rt_escprob.cpp:1143
void RT_OTS(void)
Definition rt_ots.cpp:41
void RT_OTS_Update(double *SumOTS)
Definition rt_ots.cpp:535
void prt_trans_opc_debug(const char *LineGroup, const TransitionProxy &t)
Definition rt_tau_inc.cpp:24
void RT_line_all_escape(realnum *error)
Definition rt_line_all.cpp:21
double RT_recom_effic(long int ip)
Definition rt_recom_effic.cpp:12
void RT_tau_init(void)
Definition rt_tau_init.cpp:28
void RT_tau_reset(void)
Definition rt_tau_reset.cpp:21
void RT_OTS_AddLine(double ots, long int ip)
Definition rt_ots.cpp:449
Definition rt.h:159
realnum wayin
Definition rt.h:170
bool lgAbsorLineEscape
Definition rt.h:199
realnum fracin
Definition rt.h:177
realnum tauxry
Definition rt.h:187
bool lgElecScatEscape
Definition rt.h:196
long int mas_ion
Definition rt.h:217
long int mas_hi
Definition rt.h:217
bool lgFstOn
Definition rt.h:190
int nLineContShield
Definition rt.h:193
const char * chName() const
Definition rt.h:161
long int ipxry
Definition rt.h:184
void zero()
Definition rt.cpp:7
long int mas_lo
Definition rt.h:217
realnum dTauMase
Definition rt.h:207
bool lgMaserSetDR
Definition rt.h:210
void comment(t_warnings &)
Definition rt.h:167
realnum DoubleTau
Definition rt.h:181
bool lgElecScatInten
Definition rt.h:202
long int mas_species
Definition rt.h:217
bool lgStarkON
Definition rt.h:220
realnum wayout
Definition rt.h:174
bool lgMaserCapHit
Definition rt.h:214