cloudy  trunk
 All Data Structures 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-2022 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 
199 
202 
206 
209 
211  bool lgStarkON;
212 
213 };
214 
215 extern t_rt rt;
216 
217 double RT_EscLVG( double tau, double sigma );
218 
221 enum
222 {
229 };
230 
231 
236 double DrvContPump(double tau, double damp);
237 
239 void DrivePump(double tau);
240 
241 void prt_trans_opc_debug( const char *LineGroup, const TransitionProxy &t );
242 
243 #endif /* RT_H_ */
void RT_OTS_ChkSum(long int ipPnt)
Definition: rt_ots.cpp:606
void RT_OTS_Update(double *SumOTS)
Definition: rt_ots.cpp:476
double RT_recom_effic(long int ip)
void RT_fine_clear()
realnum wayout
Definition: rt.h:167
void prt_trans_opc_debug(const char *LineGroup, const TransitionProxy &t)
Definition: rt_tau_inc.cpp:24
double DrvContPump(double tau, double damp)
long int mas_species
Definition: rt.h:208
void RT_line_one_escape(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth)
double RT_EscLVG(double tau, double sigma)
void RT_OTS_PrtRate(double weak, int chFlag)
Definition: rt_ots.cpp:687
void DrivePump(double tau)
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:35
bool lgElecScatEscape
Definition: rt.h:193
realnum tauxry
Definition: rt.h:184
bool lgMaserSetDR
Definition: rt.h:201
void RT_OTS_Zero(void)
Definition: rt_ots.cpp:571
void RT_tau_reset(void)
double RT_line_driving(void)
void RT_continuum(void)
void(* linefunc)(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth)
Definition: h2_priv.h:10
float realnum
Definition: cddefines.h:124
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)
void RT_OTS_AddLine(double ots, long int ip)
Definition: rt_ots.cpp:390
void zero()
Definition: rt.cpp:7
realnum fracin
Definition: rt.h:174
double RT_continuum_shield_fcn(const TransitionProxy &t, bool lgShieldThisZone, double dTau)
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)
long int mas_lo
Definition: rt.h:208
bool lgStarkON
Definition: rt.h:211
const char * chName() const
Definition: rt.h:158
int nLineContShield
Definition: rt.h:190
long int mas_hi
Definition: rt.h:208
void RT_tau_init(void)
Definition: rt_tau_init.cpp:28
realnum DoubleTau
Definition: rt.h:178
realnum dTauMase
Definition: rt.h:198
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: module.h:26
void RT_OTS(void)
Definition: rt_ots.cpp:41
void RT_line_one_tau_reset(const TransitionProxy &t)
bool lgMaserCapHit
Definition: rt.h:205
long int mas_ion
Definition: rt.h:208
realnum wayin
Definition: rt.h:167
t_rt rt
Definition: rt.cpp:5