/home66/gary/public_html/cloudy/c08_branch/source/atomfeii.h

Go to the documentation of this file.
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 _ATOMFEII_H_
00005 #define _ATOMFEII_H_
00006 
00016 void AssertFeIIDep( double *pred , double *BigError , double *StdDev );
00017 
00020 void FeIIFillLow16(void);
00021 
00023 void FeIICreate(void);
00025 void FeIIPrint(void);
00026 
00027 void FeIILevelPops(void);
00028 
00034 double FeIISumBand(realnum wl1, 
00035           realnum wl2);
00036 
00038 void FeII_RT_TauInc(void);
00039 
00041 void FeII_RT_tau_reset(void);
00042 
00044 void FeIIPoint(void);
00045 
00046 
00051 void FeIIAccel(double *fe2drive);
00052 
00053 
00059 void FeII_RT_Make( bool lgDoEsc , 
00060                                 bool lgUpdateFineOpac );
00061 
00063 void FeIIAddLines( void );
00064 
00068 void FeIIPunchLevels( FILE * ioPUN );
00069 
00074 void FeIIPunchColden(
00075   FILE *ioPUN );
00076 
00081 void FeII_Colden( const char *chLabel );
00082 
00083 
00087 void FeIIPunchLines( FILE * ioPUN );
00088 
00092 void FeIIPunchOpticalDepth( FILE * ioPUN );
00093 
00095 void FeII_LineZero(void);
00096 
00098 void FeIIIntenZero(void);
00099 
00101 double FeIIRadPress(void);
00102 
00106 double FeII_InterEnergy(void);
00107 
00113 void FeIIPunDepart(FILE* ioPUN , 
00114         bool lgDoAll );
00115 
00116 void PunFeII( FILE * io );
00117 
00123 void FeIIPun1Depart(FILE * ioPUN , long int nPUN );
00129 void FeIIPunData(
00130         FILE* ioPUN ,
00131         bool lgDoAll );
00132 
00141 void FeIIPunPop(FILE* ioPUN , 
00142         bool lgPunchRange ,
00143         long int ipRangeLo ,
00144         long int ipRangeHi ,
00145         bool lgPunchDensity );
00146 
00147 
00154 void FeIIPunchLineStuff( FILE * io , realnum xLimit  , long index);
00155 
00156 #if 0
00157 
00163 void FeIIPun1Pop( 
00164         FILE * ioPUN , 
00165         long int nPUN );
00166 #endif
00167 
00169 void FeIIZero(void);
00170 
00172 void FeIIReset(void);
00173 
00175 void FeII_OTS(void);
00176 
00178 void FeII_RT_Out(void);
00179 
00181 void ParseAtomFeII(char *chCard );
00182 
00184 #define NFE2LEVN        371
00185 
00189 extern bool lgFeIIMalloc;
00190 
00191 EXTERN struct t_FeII {
00192 
00195         long int nFeIILevel;
00197         long int nFeIILevelAlloc;
00198 
00202         bool lgFeIILargeOn;
00203 
00205         bool lgSlow;
00206 
00208         bool lgPrint;
00209 
00211         bool lgSimulate;
00212 
00214         char chFeIIAtom[7];
00215 
00217         bool lgShortFe2;
00218 
00221         bool lgLyaPumpOn;
00222 
00225         realnum fe2ener[2];
00226 
00228         realnum fe2thresh;
00229 
00231         realnum fe2con_wl1 , fe2con_wl2;
00233         long int nfe2con;
00234 
00236         int ipRedisFcnResonance;
00237         int ipRedisFcnSubordinate;
00238 
00242         double Fe2_large_cool, 
00243           ddT_Fe2_large_cool, 
00244           Fe2_large_heat;
00245 
00248         double /*Fe2_16levl_cool , 
00249                 ddT_Fe2_16levl_cool ,*/
00250                 ddT_Fe2_UVsimp_cool ,
00251                 Fe2_UVsimp_cool;
00252 
00254         double fe21308, 
00255           fe21207, 
00256           fe21106, 
00257           fe21006, 
00258           fe21204, 
00259           fe21103, 
00260           fe21104, 
00261           fe21001, 
00262           fe21002, 
00263           fe20201, 
00264           fe20302, 
00265           fe20706, 
00266           fe20807, 
00267           fe20908, 
00268           fe21007, 
00269           fe21107, 
00270           fe21108, 
00271           fe21110, 
00272           fe21507, 
00273           fe21208, 
00274           fe21209, 
00275           fe21211, 
00276           fe21406, 
00277           fe21508, 
00278           fe21609;
00280         double 
00281                 fe25to6 ,
00282                 fe27to7 ,
00283                 fe28to8 ,
00284                 fe29to9 ,
00285                 fe32to6 ,
00286                 fe33to7 ,
00287                 fe37to7 ,
00288                 fe39to8 ,
00289                 fe40to9 ,
00290                 fe37to6 ,
00291                 fe39to7 ,
00292                 fe40to8 ,
00293                 fe41to9 ,
00294                 fe39to6 ,
00295                 fe40to7 ,
00296                 fe42to7 ,
00297                 fe41to8 ,
00298                 fe42to6 ,
00299                 fe43to7 ,
00300                 fe36to2 ,
00301                 fe36to3 ,
00302                 fe32to1 ,
00303                 fe33to2 ,
00304                 fe36to5 ,
00305                 fe32to2 ,
00306                 fe33to3 ,
00307                 fe30to3 ,
00308                 fe33to6 ,
00309                 fe24to2 ,
00310                 fe32to7 ,
00311                 fe35to8 ,
00312                 fe34to8 ,
00313                 fe27to6 ,
00314                 fe28to7 ,
00315                 fe30to8 ,
00316                 fe24to6 ,
00317                 fe29to8 ,
00318                 fe24to7 ,
00319                 fe22to7 ,
00320                 fe38to11 ,
00321                 fe19to8 ,
00322                 fe17to6 ,
00323                 fe18to7 ,
00324                 fe18to8 ,
00325                 fe80to28 ,
00326                 fe17to7 ,
00327                 for7;
00328 
00329         }       FeII;
00330 
00331         /* this info used to estimate destruction of Lya by overlap with FeII
00332  * in case where large atom is not turned on */
00333 
00335 const int NFEII = 373;
00337 const int NFE2PR = 61;
00338 
00339 class t_fe2ovr_la : public Singleton<t_fe2ovr_la>
00340 {
00341         friend class Singleton<t_fe2ovr_la>;
00342 protected:
00343         t_fe2ovr_la();
00344 private:
00345         realnum fe2lam[NFEII];
00346         realnum fe2osc[NFEII];
00347         realnum fe2enr[NFEII];
00348         realnum fe2gs[NFEII];
00349 
00350         long int ipfe2[NFEII];
00351 
00353         realnum feopc[NFEII];
00354         realnum Fe2TauLte[NFEII];
00355         realnum Fe2PopLte[NFEII];
00356 
00357         double fe2pt[NFE2PR];
00358         double fe2pf[NFE2PR];
00359 
00361         double fe2par(double te);
00362 public:
00363         void zero_opacity();
00364 
00365         void init_pointers();
00366 
00368         void tau_inc();
00369 
00371         void atoms_fe2ovr(void);
00372 };
00373 
00374 #endif /* _ATOMFEII_H_ */

Generated on Mon Feb 16 12:01:12 2009 for cloudy by  doxygen 1.4.7