cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
atoms.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2013 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef ATOMS_H_
5 #define ATOMS_H_
6 
15 void AtomSeqBeryllium(double cs12,
16  double cs13,
17  double cs23,
18  const TransitionProxy & t,
19  double a30);
20 
37 void AtomSeqBoron(
38  const TransitionProxy & t21,
39  const TransitionProxy & t31,
40  const TransitionProxy & t41,
41  const TransitionProxy & t32,
42  const TransitionProxy & t42,
43  const TransitionProxy & t52,
44  double cs51,
45  double cs43,
46  double cs53,
47  double cd54,
48  double pump_rate ,
49  const char *chLabel
50 );
51 
55 void atom_level2(const TransitionProxy & t );
56 
63 void atom_level3(const TransitionProxy & t10,
64  const TransitionProxy & t21,
65  const TransitionProxy & t20);
66 
76 double atom_pop2(double omega,
77  double g1,
78  double g2,
79  double a21,
80  double bltz,
81  double abund);
82 
102 double atom_pop3(
103  double g1, double g2, double g3,
104  double o12, double o13, double o23,
105  double a21, double a31, double a32,
106  double Tex12, double Tex23,
107  realnum *pop2,
108  double abund,
109  double gam2,
110  double r12,
111  double r13 );
112 
146 void atom_pop5(const double g[],
147  const double ex[],
148  double cs12,
149  double cs13,
150  double cs14,
151  double cs15,
152  double cs23,
153  double cs24,
154  double cs25,
155  double cs34,
156  double cs35,
157  double cs45,
158  double a21,
159  double a31,
160  double a41,
161  double a51,
162  double a32,
163  double a42,
164  double a52,
165  double a43,
166  double a53,
167  double a54,
168  double p[],
169  realnum abund,
170  double *Cooling,
171  double *CoolingDeriv,
172  double pump12,
173  double pump13,
174  double pump14,
175  double pump15
176  );
177 
204 void atom_levelN(
205  long int nlev,
206  realnum abund,
207  const double g[],
208  const double ex[],
209  char chExUnits,
210  double pops[],
211  double depart[],
212  double ***AulEscp,
213  double ***col_str,
214  double ***AulDest,
215  double ***AulPump,
216  double ***CollRate,
217  const double create[],
218  const double destroy[],
219  bool lgCollRateDone,
220  double *cooltl,
221  double *coolder,
222  const char *chLabel,
223  int *nNegPop,
224  bool *lgZeroPop,
225  bool lgDeBug,
226  bool lgLTE=false,
227  multi_arr<double,2> *Cool=NULL,
228  multi_arr<double,2> *dCooldT=NULL);
229 
233 void atom_oi_calc(double *coloi);
234 
236 const int N_OI_LEVELS = 6;
237 const long LIMLEVELN = 20L;
238 
239 struct t_atoms {
240 
243 
245  double c12, c13;
246 
249  long int ipoiex[5];
250 
252  long int nNegOI;
253 
256 
258 
262  popmg2;
263 
270  double PopLevels[LIMLEVELN+1],
272 
273  };
274 extern t_atoms atoms;
275 
276 #endif /* ATOMS_H_ */
static double ** AulPump
Definition: species2.cpp:29
double c13
Definition: atoms.h:245
void AtomSeqBeryllium(double cs12, double cs13, double cs23, const TransitionProxy &t, double a30)
double atom_pop3(double g1, double g2, double g3, double o12, double o13, double o23, double a21, double a31, double a32, double Tex12, double Tex23, realnum *pop2, double abund, double gam2, double r12, double r13)
Definition: atom_pop3.cpp:10
const int N_OI_LEVELS
Definition: atoms.h:236
double DepLTELevels[LIMLEVELN+1]
Definition: atoms.h:270
realnum d5200r
Definition: atoms.h:242
void atom_oi_calc(double *coloi)
Definition: atom_oi.cpp:23
static double * g
Definition: species2.cpp:28
realnum pmpo15
Definition: atoms.h:257
realnum pmpo51
Definition: atoms.h:257
static double ** col_str
Definition: species2.cpp:29
double atom_pop2(double omega, double g1, double g2, double a21, double bltz, double abund)
Definition: atom_pop2.cpp:9
t_abund abund
Definition: abund.cpp:5
double popoi[N_OI_LEVELS]
Definition: atoms.h:255
void atom_pop5(const double g[], const double EnerWN[], double cs12, double cs13, double cs14, double cs15, double cs23, double cs24, double cs25, double cs34, double cs35, double cs45, double a21, double a31, double a41, double a51, double a32, double a42, double a52, double a43, double a53, double a54, double p[], realnum abund, double *Cooling, double *CoolingDeriv, double pump01, double pump02, double pump03, double pump04)
Definition: atom_pop5.cpp:13
t_atoms atoms
Definition: atoms.cpp:5
float realnum
Definition: cddefines.h:107
static double * depart
Definition: species2.cpp:28
void atom_level3(const TransitionProxy &t10, const TransitionProxy &t21, const TransitionProxy &t20)
Definition: atom_level3.cpp:15
realnum xMg2Max
Definition: atoms.h:260
static double ** AulDest
Definition: species2.cpp:29
void atom_levelN(long int nLevelCalled, realnum abund, const double g[], const double ex[], char chExUnits, double pops[], double depart[], double ***AulEscp, double ***col_str, double ***AulDest, double ***AulPump, double ***CollRate, const double source[], const double sink[], bool lgCollRateDone, double *cooltl, double *coolder, const char *chLabel, int *nNegPop, bool *lgZeroPop, bool lgDeBug, bool lgLTE, multi_arr< double, 2 > *Cool, multi_arr< double, 2 > *dCooldT)
Definition: atom_leveln.cpp:15
realnum p2nit
Definition: atoms.h:242
static double * ex
Definition: species2.cpp:28
realnum popmg2
Definition: atoms.h:260
static double ** CollRate
Definition: species2.cpp:29
void atom_level2(const TransitionProxy &t)
Definition: atom_level2.cpp:17
Definition: atoms.h:239
long int ipoiex[5]
Definition: atoms.h:249
static double ** AulEscp
Definition: species2.cpp:29
long int nNegOI
Definition: atoms.h:252
const long LIMLEVELN
Definition: atoms.h:237
double c12
Definition: atoms.h:245
double PopLevels[LIMLEVELN+1]
Definition: atoms.h:270
void AtomSeqBoron(const TransitionProxy &t10, const TransitionProxy &t20, const TransitionProxy &t30, const TransitionProxy &t21, const TransitionProxy &t31, const TransitionProxy &t41, double cs40, double cs32, double cs42, double cs43, double pump_rate, const char *chLabel)
static double * pops
Definition: species2.cpp:28