cloudy
trunk
|
00001 /* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and 00002 * others. For conditions of distribution and use see copyright notice in license.txt */ 00003 00004 #ifndef _OPACITY_H_ 00005 #define _OPACITY_H_ 00006 00011 extern bool lgOpacMalloced; 00012 00014 void OpacityCreateAll(void); 00015 00023 void OpacityAdd1Subshell( 00024 long int ipOpac, 00025 long int ipLowLim, 00026 long int ipUpLim, 00027 realnum abundance, 00028 char chStat ); 00029 00031 void OpacityAddTotal(void); 00032 00037 void OpacityAdd1Element( 00038 long int ipZ); 00039 00042 void OpacityZero(void); 00043 00045 void OpacityZeroOld(void); 00046 00055 void OpacityAdd1SubshellInduc( 00056 long int ipOpac, 00057 long int low, 00058 long int ihi, 00059 double a, 00060 double b, 00061 char chStat ); 00062 00063 /* limit to number of opacity cells available in the opacity stack 00064 #define NOPSV 1300000L*/ 00065 00066 /*lowest level where hydrogenic nu^-3 photo cross sect used*/ 00067 /*#define NHPLPHOT 400*/ 00068 00069 /* limit to number of cells in frequency array */ 00070 /* >>chng 00 oct 13, increase from 2000 to 2200 due to increase in FIR resolution */ 00071 /* >>chng 01 aug 19, increase from 2000 to 4000 due to increase in mid-range resolution */ 00072 /* >>chng 01 sep 24, get rid of NC ELL from code, totally MALLOC */ 00073 /*#define NC ELL 4000L*/ 00074 00075 EXTERN struct t_opac { 00076 00082 realnum **TauAbsGeo; 00083 realnum **TauScatGeo; 00084 00087 realnum **TauTotalGeo; 00088 00091 realnum *TauAbsFace, 00092 *TauScatFace; 00093 00095 double *opacity_abs; 00096 00098 double *opacity_sct; 00099 00101 double *OldOpacSave; 00102 00104 double *albedo; 00105 00108 double *opacity_abs_savzon1; 00110 double *opacity_sct_savzon1; 00111 00114 double *OpacStatic; 00115 00117 double *FreeFreeOpacity; 00118 00120 double *ExpZone; 00121 00124 realnum *E2TauAbsFace; 00126 realnum *E2TauAbsTotal; 00127 realnum *E2TauAbsOut; 00129 realnum *TauAbsTotal; 00130 00132 realnum *ExpmTau; 00133 00136 realnum *tmn; 00137 00140 bool lgOpacStatic; 00141 00147 bool lgRedoStatic; 00148 00151 double *OpacStack; 00152 00154 realnum tpcah[2]; 00155 00157 realnum taumin; 00158 00161 realnum tlamin; 00162 00164 bool lgCaseB; 00165 00168 bool lgCaseB_HummerStorey; 00169 00172 bool lgCaseB_no_photo; 00173 00175 bool lgCaseB_no_pdest; 00176 00178 realnum telec, 00179 thmin; 00180 00182 bool lgOpacNeg; 00183 00186 bool lgScatON; 00187 00189 bool lgNegOpacIO; 00190 00195 bool lgCompileOpac; 00196 00199 bool lgUseFileOpac; 00200 00204 long int nOpacTot; 00205 00213 long int ipRayScat, 00214 00216 iopcom, 00217 00219 ippr, 00220 ioppr, 00221 00223 ipBrems, 00224 00226 iphmra, 00227 00229 iphmop, 00230 00232 ih2pnt[2], 00233 ih2pof, 00234 00236 iophe1[9], 00237 00239 ioptri, 00240 00272 ipElement[LIMELM][LIMELM][7][3], 00273 00275 in1[3], 00276 00278 ipo3exc[3], 00279 ipo3exc3[3], 00280 ipo1exc[3], 00281 00283 iopo2d, 00284 00286 ipmgex, 00287 ipOpMgEx, 00288 00290 ica2ex[2], 00291 ica2op; 00292 00294 long int ipH2_photo_thresh , ipH2_photo_opac_offset; 00295 00297 long int ipCKshell; 00298 00300 realnum otsmin; 00301 00303 realnum stimax[2]; 00304 00305 } opac; 00306 00307 00308 00309 #endif /* _OPACITY_H_ */