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 _DENSE_H_ 00005 #define _DENSE_H_ 00006 00007 /* dense.h density related variables */ 00008 00013 double dense_fabden(double radius, 00014 double depth); 00015 00020 double dense_tabden(double r0, 00021 double depth); 00022 00023 const int LIMTABDLAW = 500; 00024 00026 EXTERN struct t_dense 00027 { 00028 t_dense() { 00029 /* list of atomic weights, mass in AMU, used for thermal line widths */ 00030 /* >>refer all atomic weight Coplen, T.B. 2001, J. Phys. Chem REf Data, 30, 701 */ 00031 AtomicWeight[0] = 1.00794f; 00032 AtomicWeight[1] = 4.0026022f; 00033 AtomicWeight[2] = 6.9412f; 00034 AtomicWeight[3] = 9.0121823f; 00035 AtomicWeight[4] = 10.8117f; 00036 AtomicWeight[5] = 12.01078f; 00037 AtomicWeight[6] = 14.00672f; 00038 AtomicWeight[7] = 15.99943f; 00039 AtomicWeight[8] = 18.9984032f; 00040 AtomicWeight[9] = 20.17976f; 00041 AtomicWeight[10] = 22.989770f; 00042 AtomicWeight[11] = 24.30506f; 00043 AtomicWeight[12] = 26.9815382f; 00044 AtomicWeight[13] = 28.08553f; 00045 AtomicWeight[14] = 30.9737612f; 00046 AtomicWeight[15] = 32.0655f; 00047 AtomicWeight[16] = 35.4532f; 00048 AtomicWeight[17] = 39.9481f; 00049 AtomicWeight[18] = 39.09831f; 00050 AtomicWeight[19] = 40.0784f; 00051 AtomicWeight[20] = 44.9559108f; 00052 AtomicWeight[21] = 47.8671f; 00053 AtomicWeight[22] = 50.94151f; 00054 AtomicWeight[23] = 51.99616f; 00055 AtomicWeight[24] = 54.9380499f; 00056 AtomicWeight[25] = 55.8472f; 00057 AtomicWeight[26] = 58.9332009f; 00058 AtomicWeight[27] = 58.69342f; 00059 AtomicWeight[28] = 63.5463f; 00060 AtomicWeight[29] = 65.392f; 00061 } 00062 00066 realnum gas_phase[LIMELM]; 00067 00069 realnum AtomicWeight[LIMELM]; 00070 00073 realnum xMolecules[LIMELM]; 00074 00076 realnum H_sum_in_CO; 00077 00079 realnum xMassDensity; 00080 00083 realnum xMassDensity0; 00084 00086 realnum pden; 00087 00089 realnum wmole; 00090 00092 realnum xNucleiTotal; 00093 00095 realnum xMassTotal; 00096 00099 realnum HCorrFac; 00100 00107 long int IonLow[LIMELM+1]; 00108 long int IonHigh[LIMELM+1]; 00109 00119 realnum xIonDense[LIMELM+3][LIMELM+1]; 00120 00124 realnum AbundanceLimit; 00125 00131 bool lgElmtOn[LIMELM]; 00132 00134 bool lgSetIoniz[LIMELM]; 00135 00139 realnum SetIoniz[LIMELM][LIMELM+1]; 00140 00143 char chDenseLaw[5]; 00144 00145 /* this says keep initial density constant, 00146 * so pressure from iter to iter not really const */ 00147 bool lgDenseInitConstant; 00148 00150 double DensityLaw[10]; 00151 00153 bool lgAsChoose[LIMELM][LIMELM]; 00154 bool lgCSChoose[LIMELM][LIMELM]; 00155 00157 realnum frad[LIMTABDLAW]; 00158 realnum fhden[LIMTABDLAW]; 00159 00161 long int nvals; 00162 00164 bool lgDLWDepth; 00165 00167 double eden; 00168 00170 realnum eden_f; 00171 00174 double density_low_limit; 00175 00177 long int nzEdenBad; 00178 00180 realnum EdenSet; 00181 00183 realnum EdenExtra; 00184 00186 double SqrtEden; 00187 00190 double EdenHCorr; 00191 00194 double EdenHontoHCorr; 00195 00197 double EdenTrue; 00198 00200 double eden_from_metals; 00201 00203 bool lgEdenBad; 00204 00206 double edensqte; 00207 00211 double cdsqte; 00212 00215 realnum DensityPower; 00216 realnum rscale; 00217 realnum den0; 00218 00220 bool lgDenFlucOn; 00221 00224 bool lgDenFlucRadius; 00225 00227 realnum flong; 00228 realnum cfirst; 00229 realnum csecnd; 00230 realnum flcPhase; 00231 00232 } dense; 00233 00234 00235 #endif /* _DENSE_H_ */