cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
opacity.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 OPACITY_H_
5 #define OPACITY_H_
6 
10 #include "module.h"
11 #include "vectorize.h"
12 
14 extern bool lgOpacMalloced;
15 
17 void OpacityCreateAll(void);
18 
27  long int ipOpac,
28  long int ipLowLim,
29  long int ipUpLim,
30  realnum abundance,
31  char chStat );
32 
34 void OpacityAddTotal(void);
35 
41  long int ipZ);
42 
45 void OpacityZero(void);
46 
48 void OpacityZeroOld(void);
49 
59  long int ipOpac,
60  long int low,
61  long int ihi,
62  double a,
63  double b,
64  char chStat );
65 
66 /* limit to number of opacity cells available in the opacity stack
67 #define NOPSV 1300000L*/
68 
69 /*lowest level where hydrogenic nu^-3 photo cross sect used*/
70 /*#define NHPLPHOT 400*/
71 
72 /* limit to number of cells in frequency array */
73 /* >>chng 00 oct 13, increase from 2000 to 2200 due to increase in FIR resolution */
74 /* >>chng 01 aug 19, increase from 2000 to 4000 due to increase in mid-range resolution */
75 /* >>chng 01 sep 24, get rid of NC ELL from code, totally MALLOC */
76 /*#define NC ELL 4000L*/
77 
78 struct t_opac : public module {
79 
80  const char *chName() const
81  {
82  return "opac";
83  }
84  void zero();
85  void comment(t_warnings&) {}
93 
97 
101  *TauScatFace;
102 
104  double *opacity_abs;
105 
107  double *opacity_sct;
108 
110  double *OldOpacSave;
111 
113  double *albedo;
114 
120 
123  double *OpacStatic;
124 
128 
131 
133  vector< double, allocator_avx<double> > ExpZone;
134 
143 
146 
150 
154 
161 
164  double *OpacStack;
165 
168 
172 
174  bool lgCaseB;
175 
179 
183 
186 
189  thmin;
190 
192  bool lgOpacNeg;
193 
196  bool lgScatON;
197 
200 
206 
210 
214  long int nOpacTot;
215 
223  long int ipRayScat,
224 
226  iopcom,
227 
229  ippr,
230  ioppr,
231 
233  ipBrems,
234 
236  iphmra,
237 
239  iphmop,
240 
242  ih2pnt[2],
243  ih2pof,
244  /* excited state versions of above H2+ variables */
245  ih2pnt_ex[2],
246  ih2pof_ex,
247 
249  iophe1[9],
250 
252  ioptri,
253 
285  ipElement[LIMELM][LIMELM][7][3],
286 
288  in1[3],
289 
291  ipo3exc[3],
292  ipo3exc3[3],
293  ipo1exc[3];
294 
296  double o3exc;
297  double o3exc3;
298 
300  long iopo2d,
301 
303  ipmgex,
304  ipOpMgEx,
305 
307  ica2ex[2],
308  ica2op;
309 
311  long int ipCKshell;
312 
315 
318 
319  };
320 extern t_opac opac;
321 
322 
323 
324 #endif /* OPACITY_H_ */
void OpacityAdd1Element(long int ipZ)
long iopo2d
Definition: opacity.h:300
realnum otsmin
Definition: opacity.h:314
double * opacity_abs_savzon1
Definition: opacity.h:117
long int ipElement[LIMELM][LIMELM][7][3]
Definition: opacity.h:223
void comment(t_warnings &)
Definition: opacity.h:85
long int ipRayScat
Definition: opacity.h:223
bool lgCaseB_no_photo
Definition: opacity.h:182
double * OpacStack
Definition: opacity.h:164
double * opacity_abs
Definition: opacity.h:104
double * albedo
Definition: opacity.h:113
bool lgOpacMalloced
Definition: cdinit.cpp:40
double o3exc
Definition: opacity.h:296
t_opac opac
Definition: opacity.cpp:5
double * OpacStatic
Definition: opacity.h:123
void OpacityCreateAll(void)
long int ipo1exc[3]
Definition: opacity.h:223
long ipmgex
Definition: opacity.h:300
bool lgUseFileOpac
Definition: opacity.h:209
long int ih2pof
Definition: opacity.h:223
bool lgScatON
Definition: opacity.h:196
realnum stimax[2]
Definition: opacity.h:317
long int ipo3exc[3]
Definition: opacity.h:223
double * opacity_sct
Definition: opacity.h:107
realnum * E2TauAbsTotal
Definition: opacity.h:139
realnum * TauScatFace
Definition: opacity.h:100
void OpacityAdd1Subshell(long int ipOpac, long int ipLowLim, long int ipUpLim, realnum abundance, char chStat)
long int ipBrems
Definition: opacity.h:223
double * eeFreeFreeOpacity
Definition: opacity.h:127
bool lgNegOpacIO
Definition: opacity.h:199
double o3exc3
Definition: opacity.h:297
long int ih2pof_ex
Definition: opacity.h:223
long int iphmra
Definition: opacity.h:223
bool lgOpacNeg
Definition: opacity.h:192
bool lgCaseB_no_pdest
Definition: opacity.h:185
void zero()
Definition: opacity.cpp:7
double * OldOpacSave
Definition: opacity.h:110
realnum ** TauScatGeo
Definition: opacity.h:92
void OpacityZeroOld(void)
long int ipCKshell
Definition: opacity.h:311
realnum * E2TauAbsOut
Definition: opacity.h:140
long int iophe1[9]
Definition: opacity.h:223
void OpacityAddTotal(void)
bool lgCaseB
Definition: opacity.h:174
float realnum
Definition: cddefines.h:124
realnum thmin
Definition: opacity.h:188
long int iopcom
Definition: opacity.h:223
long ipOpMgEx
Definition: opacity.h:300
realnum telec
Definition: opacity.h:188
bool lgCompileOpac
Definition: opacity.h:205
realnum * TauAbsFace
Definition: opacity.h:100
double eeFreeFreeTemp
Definition: opacity.h:130
const char * chName() const
Definition: opacity.h:80
long int iphmop
Definition: opacity.h:223
long int ioppr
Definition: opacity.h:223
realnum * TauAbsTotal
Definition: opacity.h:142
realnum tlamin
Definition: opacity.h:171
bool lgOpacStatic
Definition: opacity.h:153
realnum ** TauTotalGeo
Definition: opacity.h:96
long int nOpacTot
Definition: opacity.h:214
long int ipo3exc3[3]
Definition: opacity.h:223
double * opacity_sct_savzon1
Definition: opacity.h:119
long int ippr
Definition: opacity.h:223
const int LIMELM
Definition: cddefines.h:308
vector< double, allocator_avx< double > > ExpZone
Definition: opacity.h:133
realnum * E2TauAbsFace
Definition: opacity.h:137
double * FreeFreeOpacity
Definition: opacity.h:126
long int in1[3]
Definition: opacity.h:223
bool lgRedoStatic
Definition: opacity.h:160
long int ioptri
Definition: opacity.h:223
realnum ** TauAbsGeo
Definition: opacity.h:91
realnum * ExpmTau
Definition: opacity.h:145
Definition: opacity.h:78
void OpacityAdd1SubshellInduc(long int ipOpac, long int low, long int ihi, double a, double b, char chStat)
long ica2ex[2]
Definition: opacity.h:300
long int ih2pnt[2]
Definition: opacity.h:223
realnum * tmn
Definition: opacity.h:149
Definition: module.h:26
long int ih2pnt_ex[2]
Definition: opacity.h:223
bool lgCaseB_HummerStorey
Definition: opacity.h:178
realnum taumin
Definition: opacity.h:167
long ica2op
Definition: opacity.h:300
void OpacityZero(void)
Definition: opacity_zero.cpp:8