00001 /* This file is part of Cloudy and is copyright (C)1978-2007 by Gary J. Ferland 00002 * For conditions of distribution and use see copyright notice in license.txt */ 00003 /* dense.h density related variables */ 00004 00009 double dense_fabden(double radius, 00010 double depth); 00011 00016 double dense_tabden(double r0, 00017 double depth); 00018 00019 const int LIMTABDLAW = 500; 00020 00022 EXTERN struct t_dense 00023 { 00024 t_dense() { 00025 /* list of atomic weights, mass in AMU, used for thermal line widths */ 00026 /* >>refer all atomic weight Coplen, T.B. 2001, J. Phys. Chem REf Data, 30, 701 */ 00027 AtomicWeight[0] = 1.00794f; 00028 AtomicWeight[1] = 4.0026022f; 00029 AtomicWeight[2] = 6.9412f; 00030 AtomicWeight[3] = 9.0121823f; 00031 AtomicWeight[4] = 10.8117f; 00032 AtomicWeight[5] = 12.01078f; 00033 AtomicWeight[6] = 14.00672f; 00034 AtomicWeight[7] = 15.99943f; 00035 AtomicWeight[8] = 18.9984032f; 00036 AtomicWeight[9] = 20.17976f; 00037 AtomicWeight[10] = 22.989770f; 00038 AtomicWeight[11] = 24.30506f; 00039 AtomicWeight[12] = 26.9815382f; 00040 AtomicWeight[13] = 28.08553f; 00041 AtomicWeight[14] = 30.9737612f; 00042 AtomicWeight[15] = 32.0655f; 00043 AtomicWeight[16] = 35.4532f; 00044 AtomicWeight[17] = 39.9481f; 00045 AtomicWeight[18] = 39.09831f; 00046 AtomicWeight[19] = 40.0784f; 00047 AtomicWeight[20] = 44.9559108f; 00048 AtomicWeight[21] = 47.8671f; 00049 AtomicWeight[22] = 50.94151f; 00050 AtomicWeight[23] = 51.99616f; 00051 AtomicWeight[24] = 54.9380499f; 00052 AtomicWeight[25] = 55.8472f; 00053 AtomicWeight[26] = 58.9332009f; 00054 AtomicWeight[27] = 58.69342f; 00055 AtomicWeight[28] = 63.5463f; 00056 AtomicWeight[29] = 65.392f; 00057 } 00058 00062 float gas_phase[LIMELM]; 00063 00065 float AtomicWeight[LIMELM]; 00066 00069 float xMolecules[LIMELM]; 00070 00072 float H_sum_in_CO; 00073 00075 float xMassDensity; 00076 00079 float xMassDensity0; 00080 00082 float pden; 00083 00085 float wmole; 00086 00088 float xNucleiTotal; 00089 00091 float xMassTotal; 00092 00095 float HCorrFac; 00096 00103 long int IonLow[LIMELM+1]; 00104 long int IonHigh[LIMELM+1]; 00105 00115 float xIonDense[LIMELM+3][LIMELM+1]; 00116 00122 bool lgElmtOn[LIMELM]; 00123 00125 bool lgSetIoniz[LIMELM]; 00126 00130 float SetIoniz[LIMELM][LIMELM+1]; 00131 00134 char chDenseLaw[5]; 00135 00136 /* this says keep initial density constant, 00137 * so pressure from iter to iter not really const */ 00138 bool lgDenseInitConstant; 00139 00141 double DensityLaw[10]; 00142 00144 bool lgAsChoose[LIMELM][LIMELM]; 00145 bool lgCSChoose[LIMELM][LIMELM]; 00146 00148 float frad[LIMTABDLAW]; 00149 float fhden[LIMTABDLAW]; 00150 00152 long int nvals; 00153 00155 bool lgDLWDepth; 00156 00158 double eden; 00159 00161 float eden_f; 00162 00165 double density_low_limit; 00166 00168 long int nzEdenBad; 00169 00171 float EdenSet; 00172 00174 float EdenExtra; 00175 00177 float SqrtEden; 00178 00181 double EdenHCorr; 00182 00185 double EdenHontoHCorr; 00186 00188 double EdenTrue; 00189 00191 double eden_from_metals; 00192 00194 bool lgEdenBad; 00195 00197 double edensqte; 00198 00202 double cdsqte; 00203 00206 float DensityPower; 00207 float rscale; 00208 float den0; 00209 00211 bool lgDenFlucOn; 00212 00215 bool lgDenFlucRadius; 00216 00218 float flong; 00219 float cfirst; 00220 float csecnd; 00221 float flcPhase; 00222 00223 } dense; 00224