cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
prt.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 PRT_H_
5 #define PRT_H_
6 
7 #include "module.h"
8 #include "container_classes.h"
9 
10 class TransitionProxy;
11 
12 //* Maximum number of columns in output print
13 const long NCOLMAX=132;
14 
16 void PrtZone(void);
17 
19 void PrtComment(void);
20 
22 void PrtFinal(void);
23 
24 
26 void SetPrintLineCol ();
27 
32 void prt_wl(
33  FILE *io ,
35 
40 void sprt_wl(
41  char *chString ,
42  realnum wl );
43 
50 void prt_line_err ( FILE *ioOUT, const char *label, realnum wvlng );
51 
52 /* prt_line_inlist print line suitable for output list, label not enclosed in quotation marks
53 \param *ioOUT output file handle
54 \param *label line label
55 \param wvlng line wavelength
56  */
57 void prt_line_inlist ( FILE *ioOUT, const char *label, realnum wvlng );
58 
61 void PrtHeader(void);
62 
68 void prt_LineLabels(
69  FILE * io,
70  bool lgPrintAll
71  );
72 
74 void prtmet(void);
75 
82 void PrtMeanIon( char chType ,
83  bool lgDensity,
84  FILE *);
85 
89 double PrtLineSum(void);
90 
93 void PrtLinePres(FILE *ioPRESSURE);
94 
99 void PrtColumns(
100  FILE *ioMEAN );
101 
103 void CloudyPrintReference();
104 
107 
110 void PrtAllTau(void);
111 
113 public:
118  vector<long> speciesLevelList;
119 
120  void zero();
121  void setSpecies( const string &sspec );
122  void resolveLevels();
123  void prtRates( const long nlevels_local, const multi_arr<double,2,C_TYPE> &a,
124  valarray<double> &b );
125 };
126 
127 struct t_prt {
128 
131 
135 
139 
143 
147 
151 
158 
162 
164  bool lgPrnAges;
165 
169 
171  bool lgPrtTau;
172 
176 
180 
183 
188  bool lgPrnPump,
189  lgPrnHeat,
190  lgPrnColl,
191  lgPrnInwd;
192 
196 
197  /* flag set with print continuum index command, to identify all lines
198  * that lie within a continuum cell */
200  /* these are lower and upper limits to the energy range in Rydbergs.
201  * they are the first and second number on the command line, lower and
202  * upper bounds of the code are used if not specified */
205 
211 
213  bool lgPrtBN;
214 
217 
220 
225 
228 
230  long int nstart;
231 
234 
237 
239 
245  bool lgFaintOn;
246 
249  bool lgFntSet;
250 
256  long int nPrnLineCell;
257 
261 
265 
269 
275 
276  /* Generate output in HTML format */
278 
281  powion,
282  xpow,
283  pbal,
284  q,
285  qgam,
286  pradio,
287  fx1ryd;
288  long int ipeak;
290 
291  long int nzdump;
292 
295 
297  {
298  // make sure this has the correct value before main() starts
299  // this is needed by check_data() and possibly others
300  lgPrintTime = true;
301  }
302 
303 };
304 extern t_prt prt;
305 
306 
307 
308 struct t_line_col : public module
309 {
310  const char* chName() const
311  {
312  return "prt_linecol";
313  }
314  void zero();
315  void comment(t_warnings&) {}
316 
319 
322 
326 
330 
333 
335  string col_gap;
336 };
337 extern struct t_line_col prt_linecol;
338 
339 #endif /* PRT_H_ */
realnum wlSort2
Definition: prt.h:150
void PrtFinal(void)
Definition: prt_final.cpp:555
realnum q
Definition: prt.h:280
void prt_wl(FILE *ioOUT, realnum wl)
Definition: prt.cpp:44
t_line_col prt_linecol
Definition: prt.cpp:15
bool lgPrtStart
Definition: prt.h:227
void prt_LineLabels(FILE *ioOUT, bool lgPrintAll)
Definition: prt.cpp:112
bool lgPrtTau
Definition: prt.h:171
realnum lgPrtContIndices_hi_E
Definition: prt.h:203
const long NCOLMAX
Definition: prt.h:13
bool lgPrtMaser
Definition: prt.h:168
bool lgPrnHeat
Definition: prt.h:188
bool lgPrintLineCumulative
Definition: prt.h:268
void prtRates(const long nlevels_local, const multi_arr< double, 2, C_TYPE > &a, valarray< double > &b)
Definition: prt.cpp:234
long int nPrnLineCell
Definition: prt.h:256
string relint_outrange
Definition: prt.h:332
int col_gap_len
Definition: prt.h:329
char speciesLevels[CHARS_SPECIES]
Definition: prt.h:117
bool lgDiffuseInward
Definition: prt.h:209
bool lgPrintLineAirWavelengths
Definition: prt.h:274
bool lgFntSet
Definition: prt.h:249
realnum pradio
Definition: prt.h:280
void PrtMeanIon(char chType, bool lgDensity, FILE *)
Definition: prt_meanion.cpp:11
bool lgPrtCitations
Definition: prt.h:294
realnum wlSort1
Definition: prt.h:150
void CloudyPrintReference()
Definition: service.cpp:1781
void PrtLinePres(FILE *ioPRESSURE)
void PrtAllTau(void)
Definition: prt_alltau.cpp:15
bool lgSortLineIntensity
Definition: prt.h:146
realnum fx1ryd
Definition: prt.h:280
void prt_line_err(FILE *ioOUT, const char *label, realnum wvlng)
Definition: prt.cpp:161
bool lgSourceReflected
Definition: prt.h:207
bool lgPrintBlockIntrinsic
Definition: prt.h:134
const char * chName() const
Definition: prt.h:310
t_prt()
Definition: prt.h:296
void prtmet(void)
Definition: prt_met.cpp:19
bool lgPrtArry[LIMELM]
Definition: prt.h:236
bool lgPrnIsoCollapsed
Definition: prt.h:195
void zero()
Definition: prt.cpp:182
bool lgPrintHeating
Definition: prt.h:233
realnum TooFaint
Definition: prt.h:244
bool lgPrnLineCell
Definition: prt.h:253
realnum pbal
Definition: prt.h:280
void PrtComment(void)
Definition: prt_comment.cpp:66
bool lgDiffuseOutward
Definition: prt.h:210
bool lgPrtLastIt
Definition: prt.h:216
bool lgPrtContIndices
Definition: prt.h:199
bool lgSurfaceBrightness
Definition: prt.h:179
bool lgPrtBN
Definition: prt.h:213
bool lgOnlyZone
Definition: prt.h:222
bool lgPrintBlockEmergent
Definition: prt.h:138
float realnum
Definition: cddefines.h:124
long int nstart
Definition: prt.h:230
int relint_len
Definition: prt.h:321
realnum GammaLumin
Definition: prt.h:289
bool lgOnlyHead
Definition: prt.h:224
bool lgFaintOn
Definition: prt.h:245
bool lgSurfaceBrightness_SR
Definition: prt.h:179
void resolveLevels()
Definition: prt.cpp:224
void PrtHeader(void)
Definition: prt_header.cpp:17
bool lgPrintTime
Definition: prt.h:161
vector< long > speciesLevelList
Definition: prt.h:118
void PrtColumns(FILE *ioMEAN)
Definition: prt_columns.cpp:14
bool lgPrtShort
Definition: prt.h:219
t_prt prt
Definition: prt.cpp:14
bool lgPrtLineLog
Definition: prt.h:264
void zero()
Definition: prt.cpp:17
string col_gap
Definition: prt.h:335
bool lgPrintBlock
Definition: prt.h:130
realnum PrtTauFnt
Definition: prt.h:182
Definition: prt.h:127
bool lgSortLines
Definition: prt.h:142
realnum xpow
Definition: prt.h:280
void sprt_wl(char *chString, realnum wl)
Definition: prt.cpp:56
void PrtZone(void)
Definition: prt_zone.cpp:34
void comment(t_warnings &)
Definition: prt.h:315
bool lgPrintHTML
Definition: prt.h:277
const int LIMELM
Definition: cddefines.h:308
t_prt_matrix matrix
Definition: prt.h:238
void setSpecies(const string &sspec)
Definition: prt.cpp:193
realnum qgam
Definition: prt.h:280
realnum powion
Definition: prt.h:280
static vector< realnum > wavelength
bool lgPrnAges
Definition: prt.h:164
bool lgPrnPump
Definition: prt.h:188
void DatabasePrintReference()
Definition: service.cpp:1798
long int nzdump
Definition: prt.h:291
bool lgPrintFluxEarth
Definition: prt.h:175
bool lgPrintColumns
Definition: prt.h:157
realnum lgPrtContIndices_lo_E
Definition: prt.h:203
bool lgSourceTransmitted
Definition: prt.h:208
void prt_line_inlist(FILE *ioOUT, const char *label, realnum wvlng)
Definition: prt.cpp:173
int absint_len
Definition: prt.h:318
double PrtLineSum(void)
Definition: prt_linesum.cpp:78
realnum qx
Definition: prt.h:280
bool lgPrnColl
Definition: prt.h:188
Definition: module.h:26
bool lgPrnInwd
Definition: prt.h:188
bool lgSortLineWavelength
Definition: prt.h:146
void SetPrintLineCol()
Definition: prt.cpp:28
int column_len
Definition: prt.h:325
bool lgPrtLineArray
Definition: prt.h:260
long int ipeak
Definition: prt.h:288