Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes 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-2023 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 lgOpacAllocated;
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 struct t_opac : public module {
67 
68  const char *chName() const
69  {
70  return "opac";
71  }
72  void zero();
73  void comment(t_warnings&) {}
79  vector<realnum> TauAbsGeo[2];
80  vector<realnum> TauScatGeo[2];
81 
84  vector<realnum> TauTotalGeo[2];
85 
88  vector<realnum> TauAbsFace, TauScatFace;
89 
91  vector<double> opacity_abs;
92 
94  vector<double> opacity_sct;
95 
97  vector<double> OldOpacSave;
98 
100  vector<double> albedo;
101 
104  vector<double> opacity_abs_savzon1;
106  vector<double> opacity_sct_savzon1;
107 
110  vector<double> OpacStatic;
111 
113  vector<double> FreeFreeOpacity;
114  vector<double> eeFreeFreeOpacity;
115 
118 
121 
124  vector<realnum> E2TauAbsFace;
126  vector<realnum> E2TauAbsTotal;
127  vector<realnum> E2TauAbsOut;
129  vector<realnum> TauAbsTotal;
130 
132  vector<realnum> ExpmTau;
133 
136  vector<realnum> tmn;
137 
141 
148 
151  vector<double> OpacStack;
152 
155 
159 
161  bool lgCaseB;
162 
166 
170 
173 
176  thmin;
177 
179  bool lgOpacNeg;
180 
183  bool lgScatON;
184 
187 
193 
197 
201  long int nOpacTot;
202 
210  long int ipRayScat,
211 
213  iopcom,
214 
216  ippr,
217  ioppr,
218 
220  ipBrems,
221 
223  iphmra,
224 
226  iphmop,
227 
229  ih2pnt[2],
230  ih2pof,
231  /* excited state versions of above H2+ variables */
232  ih2pnt_ex[2],
233  ih2pof_ex,
234 
236  iophe1,
237 
239  ioptri,
240 
272  ipElement[LIMELM][LIMELM][7][3],
273 
275  in1[3],
276 
278  ipo3exc[3],
279  ipo3exc3[3],
280  ipo1exc[3];
281 
283  double o3exc;
284  double o3exc3;
285 
287  long iopo2d,
288 
290  ipmgex,
291  ipOpMgEx,
292 
294  ica2ex[2],
295  ica2op;
296 
298  long int ipCKshell;
299 
302 
305 
306  };
307 extern t_opac opac;
308 
309 
310 
311 #endif /* OPACITY_H_ */
void OpacityAdd1Element(long int ipZ)
Definition: opacity_add1element.cpp:12
long iopo2d
Definition: opacity.h:287
realnum otsmin
Definition: opacity.h:301
Definition: warnings.h:11
long int ipElement[LIMELM][LIMELM][7][3]
Definition: opacity.h:210
void comment(t_warnings &)
Definition: opacity.h:73
long int ipRayScat
Definition: opacity.h:210
bool lgCaseB_no_photo
Definition: opacity.h:169
vector< realnum > E2TauAbsOut
Definition: opacity.h:127
double o3exc
Definition: opacity.h:283
vector_avx< double > ExpZone
Definition: opacity.h:120
void OpacityCreateAll(void)
Definition: opacity_createall.cpp:114
long int ipo1exc[3]
Definition: opacity.h:210
long ipmgex
Definition: opacity.h:287
vector< double > OldOpacSave
Definition: opacity.h:97
bool lgUseFileOpac
Definition: opacity.h:196
vector< realnum > TauAbsTotal
Definition: opacity.h:129
long int ih2pof
Definition: opacity.h:210
bool lgScatON
Definition: opacity.h:183
realnum stimax[2]
Definition: opacity.h:304
long int ipo3exc[3]
Definition: opacity.h:210
vector< realnum > TauAbsFace
Definition: opacity.h:88
vector< double > FreeFreeOpacity
Definition: opacity.h:113
void OpacityAdd1Subshell(long int ipOpac, long int ipLowLim, long int ipUpLim, realnum abundance, char chStat)
Definition: opacity_add1subshell.cpp:10
long int ipBrems
Definition: opacity.h:210
bool lgNegOpacIO
Definition: opacity.h:186
double o3exc3
Definition: opacity.h:284
long int ih2pof_ex
Definition: opacity.h:210
long int iphmra
Definition: opacity.h:210
bool lgOpacNeg
Definition: opacity.h:179
vector< double > albedo
Definition: opacity.h:100
bool lgCaseB_no_pdest
Definition: opacity.h:172
typename std::vector< T, allocator_avx< T >> vector_avx
Definition: vectorize.h:331
vector< double > opacity_sct
Definition: opacity.h:94
vector< realnum > ExpmTau
Definition: opacity.h:132
void zero()
Definition: opacity.cpp:7
void OpacityZeroOld(void)
Definition: opacity_zero.cpp:37
long int ipCKshell
Definition: opacity.h:298
vector< double > OpacStack
Definition: opacity.h:151
void OpacityAddTotal(void)
Definition: opacity_addtotal.cpp:27
bool lgCaseB
Definition: opacity.h:161
vector< realnum > TauAbsGeo[2]
Definition: opacity.h:79
long int iophe1
Definition: opacity.h:210
float realnum
Definition: cddefines.h:127
realnum thmin
Definition: opacity.h:175
long int iopcom
Definition: opacity.h:210
long ipOpMgEx
Definition: opacity.h:287
realnum telec
Definition: opacity.h:175
bool lgCompileOpac
Definition: opacity.h:192
double eeFreeFreeTemp
Definition: opacity.h:117
t_opac opac
Definition: opacity.cpp:5
const char * chName() const
Definition: opacity.h:68
long int iphmop
Definition: opacity.h:210
long int ioppr
Definition: opacity.h:210
realnum tlamin
Definition: opacity.h:158
bool lgOpacStatic
Definition: opacity.h:140
long int nOpacTot
Definition: opacity.h:201
vector< double > opacity_abs_savzon1
Definition: opacity.h:104
long int ipo3exc3[3]
Definition: opacity.h:210
vector< double > opacity_sct_savzon1
Definition: opacity.h:106
long int ippr
Definition: opacity.h:210
const int LIMELM
Definition: cddefines.h:318
vector< double > OpacStatic
Definition: opacity.h:110
long int in1[3]
Definition: opacity.h:210
vector< double > eeFreeFreeOpacity
Definition: opacity.h:114
bool lgRedoStatic
Definition: opacity.h:147
long int ioptri
Definition: opacity.h:210
Definition: opacity.h:66
void OpacityAdd1SubshellInduc(long int ipOpac, long int low, long int ihi, double a, double b, char chStat)
Definition: opacity_add1subshell.cpp:65
vector< double > opacity_abs
Definition: opacity.h:91
long ica2ex[2]
Definition: opacity.h:287
vector< realnum > TauTotalGeo[2]
Definition: opacity.h:84
vector< realnum > E2TauAbsTotal
Definition: opacity.h:126
long int ih2pnt[2]
Definition: opacity.h:210
vector< realnum > TauScatGeo[2]
Definition: opacity.h:80
bool lgOpacAllocated
Definition: cdinit.cpp:42
Definition: module.h:26
vector< realnum > E2TauAbsFace
Definition: opacity.h:124
long int ih2pnt_ex[2]
Definition: opacity.h:210
vector< realnum > TauScatFace
Definition: opacity.h:88
bool lgCaseB_HummerStorey
Definition: opacity.h:165
realnum taumin
Definition: opacity.h:154
vector< realnum > tmn
Definition: opacity.h:136
long ica2op
Definition: opacity.h:287
void OpacityZero(void)
Definition: opacity_zero.cpp:8