Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rt.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2023 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 
9 class TransitionProxy;
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 
23 void RT_line_one_escape(const TransitionProxy& t,
24  bool lgShield_this_zone,
25  realnum pestrk,
26  realnum DopplerWidth);
27 void RT_line_one_fine(const TransitionProxy& t,
28  bool lgShield_this_zone,
29  realnum pestrk,
30  realnum DopplerWidth);
31 
32 // Reset the fine opacity array and velocity shift
33 void RT_fine_clear();
34 
35 typedef void (*linefunc)(const TransitionProxy& t,
36  bool lgShield_this_zone,
37  realnum pestrk,
38  realnum DopplerWidth);
39 
42 void RT_line_all( linefunc line_one );
43 
44 void RT_line_all_escape( realnum* error );
45 
48 double RT_line_driving(void);
49 
50 
55  bool lgShieldThisZone, double dTau );
56 
58 void RT_diffuse(void);
59 
61 void RT_continuum(void);
62 
65 void RT_OTS(void);
66 
71 void RT_OTS_AddLine(double ots,
72  long int ip );
73 
80 void RT_OTS_Update(double* SumOTS);
81 
83 void RT_OTS_Zero( void );
84 
86 void RT_OTS_ChkSum(
87  long int ipPnt);
88 
98  const TransitionProxy & t ,
99  long int mas_species,
100  long int mas_ion,
101  long int mas_hi,
102  long int mas_lo,
103  realnum DopplerWidth);
104 
106 void RT_tau_init(void);
107 
111 class TransitionProxy;
113  const TransitionProxy & t );
114 
116 void RT_tau_reset(void);
117 
119 void RT_tau_inc(void);
120 
125 void RT_OTS_PrtRate(
126  double weak ,
127  int chFlag );
128 
129 
130 #if 0
131 
135 double RT_LyaWidth(
136  double tauin,
137  double tauout,
138  double a,
139  double vth);
140 #endif
141 
145 double RT_recom_effic(
146  long int ip);
147 
149 void RT_stark(void);
150 
153 /* #define DEST0 1e-8 */
154 #define DEST0 SMALLFLOAT
155 
156 struct t_rt : public module {
157 
158  const char *chName() const
159  {
160  return "rt";
161  }
162 
163  void zero();
164  void comment(t_warnings&) {}
165 
168 
171  wayout;
172 
175 
179 
181  long int ipxry;
182 
185 
187  bool lgFstOn;
188 
191 
194 
197 
200 
205 
208 
212 
215 
217  bool lgStarkON;
218 
219 };
220 
221 extern t_rt rt;
222 
223 double RT_EscLVG( double tau, double sigma );
224 
227 enum
228 {
235 };
236 
237 void prt_trans_opc_debug( const char *LineGroup, const TransitionProxy &t );
238 
239 #endif /* RT_H_ */
void RT_OTS_ChkSum(long int ipPnt)
Definition: rt_ots.cpp:610
Definition: warnings.h:11
void RT_OTS_Update(double *SumOTS)
Definition: rt_ots.cpp:480
double RT_recom_effic(long int ip)
Definition: rt_recom_effic.cpp:12
void RT_fine_clear()
Definition: rt_line_all.cpp:402
realnum wayout
Definition: rt.h:167
void prt_trans_opc_debug(const char *LineGroup, const TransitionProxy &t)
Definition: rt_tau_inc.cpp:24
long int mas_species
Definition: rt.h:214
bool lgAbsorLineEscape
Definition: rt.h:196
void RT_line_one_escape(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth)
Definition: rt_line_one.cpp:394
double RT_EscLVG(double tau, double sigma)
Definition: rt_escprob.cpp:1127
void(* linefunc)(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth)
Definition: rt.h:35
void RT_OTS_PrtRate(double weak, int chFlag)
Definition: rt_ots.cpp:691
t_rt rt
Definition: rt.cpp:5
void RT_tau_inc(void)
Definition: rt_tau_inc.cpp:40
void RT_line_all_escape(realnum *error)
Definition: rt_line_all.cpp:21
void RT_diffuse(void)
Definition: rt_diffuse.cpp:33
bool lgElecScatEscape
Definition: rt.h:193
realnum tauxry
Definition: rt.h:184
bool lgMaserSetDR
Definition: rt.h:207
void RT_OTS_Zero(void)
Definition: rt_ots.cpp:575
void RT_tau_reset(void)
Definition: rt_tau_reset.cpp:21
double RT_line_driving(void)
Definition: rt_line_driving.cpp:15
void RT_continuum(void)
Definition: rt_continuum.cpp:70
float realnum
Definition: cddefines.h:127
Definition: rt.h:230
bool lgFstOn
Definition: rt.h:187
Definition: rt.h:156
void RT_stark(void)
Definition: rt_stark.cpp:12
void RT_line_all(linefunc line_one)
Definition: rt_line_all.cpp:200
void RT_OTS_AddLine(double ots, long int ip)
Definition: rt_ots.cpp:394
void zero()
Definition: rt.cpp:7
realnum fracin
Definition: rt.h:174
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:14
long int mas_lo
Definition: rt.h:214
Definition: rt.h:231
bool lgStarkON
Definition: rt.h:217
Definition: rt.h:233
const char * chName() const
Definition: rt.h:158
int nLineContShield
Definition: rt.h:190
long int mas_hi
Definition: rt.h:214
void RT_tau_init(void)
Definition: rt_tau_init.cpp:28
bool lgElecScatInten
Definition: rt.h:199
Definition: rt.h:234
Definition: transition.h:23
realnum DoubleTau
Definition: rt.h:178
realnum dTauMase
Definition: rt.h:204
void comment(t_warnings &)
Definition: rt.h:164
long int ipxry
Definition: rt.h:181
void RT_line_one_fine(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth)
Definition: rt_line_one.cpp:460
Definition: module.h:26
void RT_OTS(void)
Definition: rt_ots.cpp:41
void RT_line_one_tau_reset(const TransitionProxy &t)
Definition: rt_line_one_tau_reset.cpp:13
bool lgMaserCapHit
Definition: rt.h:211
long int mas_ion
Definition: rt.h:214
Definition: rt.h:232
Definition: rt.h:229
realnum wayin
Definition: rt.h:167