/home66/gary/public_html/cloudy/c08_branch/source/atoms.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 _ATOMS_H_
00005 #define _ATOMS_H_
00006 
00007 
00016 void AtomSeqBeryllium(double cs12, 
00017   double cs13, 
00018   double cs23, 
00019   transition * t, 
00020   double a30);
00021 
00038 void AtomSeqBoron(
00039   transition * t21, 
00040   transition * t31, 
00041   transition * t41, 
00042   transition * t32, 
00043   transition * t42, 
00044   transition * t52, 
00045   double cs51,
00046   double cs43,
00047   double cs53,
00048   double cd54,
00049   double pump_rate ,
00050   const char *chLabel
00051 );
00052 
00056 void atom_level2(transition * t );
00057 
00064 void atom_level3(transition * t10, 
00065   transition * t21, 
00066   transition * t20);
00067 
00077 double atom_pop2(double omega, 
00078   double g1, 
00079   double g2, 
00080   double a21, 
00081   double bltz, 
00082   double abund);
00083 
00103 double atom_pop3(
00104         double g1, double g2, double g3, 
00105         double o12, double o13, double o23, 
00106         double a21, double a31, double a32, 
00107         double Tex12, double Tex23, 
00108         realnum *pop2, 
00109         double abund, 
00110         double gam2,
00111         double r12, 
00112         double r13 );
00113 
00141 void atom_pop5(double g[], 
00142   double ex[], 
00143   double cs12, 
00144   double cs13, 
00145   double cs14, 
00146   double cs15, 
00147   double cs23, 
00148   double cs24, 
00149   double cs25, 
00150   double cs34, 
00151   double cs35, 
00152   double cs45, 
00153   double a21, 
00154   double a31, 
00155   double a41, 
00156   double a51, 
00157   double a32, 
00158   double a42, 
00159   double a52, 
00160   double a43, 
00161   double a53, 
00162   double a54, 
00163   double p[], 
00164   realnum abund);
00165 
00192 void atom_levelN(
00193         long int nlev, 
00194         realnum abund, 
00195         const double g[], 
00196         const double ex[], 
00197         char chExUnits,
00198         double pops[], 
00199         double depart[],
00200         double ***AulEscp, 
00201         double ***col_str, 
00202         double ***AulDest, 
00203         double ***AulPump, 
00204         double ***CollRate,
00205         const double create[] ,
00206         const double destroy[] ,
00207         bool lgCollRateDone,
00208         double *cooltl, 
00209         double *coolder, 
00210         const char *chLabel, 
00211         int *nNegPop,
00212         bool *lgZeroPop ,
00213         bool lgDeBug);
00214 
00218 void atom_oi_calc(double *coloi);
00219 
00221 #define N_OI_LEVELS     6
00222 
00223 EXTERN struct t_atoms {
00224 
00226         realnum p2nit,
00227                 d5200r;
00228 
00230         double c12,
00231                 c13;
00232 
00235         long int ipoiex[5];
00236 
00238         long int nNegOI;
00239 
00241         realnum popoi[N_OI_LEVELS];
00242 
00243         double pmph31,
00244                 esch31;
00245 
00246         realnum pmpo51, 
00247                 pmpo15;
00248 
00250         realnum xMg2Max,
00252                 popmg2;
00253 
00254 #define LIMLEVELN       20L
00255 
00261         double PopLevels[LIMLEVELN+1], 
00262           DepLTELevels[LIMLEVELN+1];
00263 
00264         }       atoms;
00265 
00266 #endif /* _ATOMS_H_ */

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