cloudy  trunk
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 
263 
270  double PopLevels[LIMLEVELN+1],
272 
273  };
274 extern t_atoms atoms;
275 
276 #endif /* ATOMS_H_ */
t_atoms::xMg2Max
realnum xMg2Max
Definition: atoms.h:260
t_atoms::c12
double c12
Definition: atoms.h:245
t_atoms::popmg2
realnum popmg2
Definition: atoms.h:262
AtomSeqBeryllium
void AtomSeqBeryllium(double cs12, double cs13, double cs23, const TransitionProxy &t, double a30)
Definition: atom_seq_beryllium.cpp:13
t_atoms::ipoiex
long int ipoiex[5]
Definition: atoms.h:249
realnum
float realnum
Definition: cddefines.h:103
atom_level3
void atom_level3(const TransitionProxy &t10, const TransitionProxy &t21, const TransitionProxy &t20)
Definition: atom_level3.cpp:15
multi_arr< double, 2 >
ex
static double * ex
Definition: species2.cpp:28
atom_pop3
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
atom_pop2
double atom_pop2(double omega, double g1, double g2, double a21, double bltz, double abund)
Definition: atom_pop2.cpp:9
TransitionProxy
Definition: transition.h:23
atom_pop5
void atom_pop5(const double g[], const double ex[], 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 pump12, double pump13, double pump14, double pump15)
Definition: atom_pop5.cpp:13
LIMLEVELN
const long LIMLEVELN
Definition: atoms.h:237
t_atoms::d5200r
realnum d5200r
Definition: atoms.h:242
AulPump
static double ** AulPump
Definition: species2.cpp:29
col_str
static double ** col_str
Definition: species2.cpp:29
t_atoms::pmpo15
realnum pmpo15
Definition: atoms.h:257
t_atoms::nNegOI
long int nNegOI
Definition: atoms.h:252
CollRate
static double ** CollRate
Definition: species2.cpp:29
t_atoms::pmpo51
realnum pmpo51
Definition: atoms.h:257
AtomSeqBoron
void AtomSeqBoron(const TransitionProxy &t21, const TransitionProxy &t31, const TransitionProxy &t41, const TransitionProxy &t32, const TransitionProxy &t42, const TransitionProxy &t52, double cs51, double cs43, double cs53, double cd54, double pump_rate, const char *chLabel)
Definition: atom_seq_boron.cpp:11
t_atoms::p2nit
realnum p2nit
Definition: atoms.h:242
t_atoms::DepLTELevels
double DepLTELevels[LIMLEVELN+1]
Definition: atoms.h:271
abund
t_abund abund
Definition: abund.cpp:5
AulEscp
static double ** AulEscp
Definition: species2.cpp:29
t_atoms::popoi
double popoi[N_OI_LEVELS]
Definition: atoms.h:255
pops
static double * pops
Definition: species2.cpp:28
t_atoms
Definition: atoms.h:239
atoms
t_atoms atoms
Definition: atoms.cpp:5
depart
static double * depart
Definition: species2.cpp:28
t_atoms::PopLevels
double PopLevels[LIMLEVELN+1]
Definition: atoms.h:270
atom_oi_calc
void atom_oi_calc(double *coloi)
Definition: atom_oi.cpp:23
N_OI_LEVELS
const int N_OI_LEVELS
Definition: atoms.h:236
AulDest
static double ** AulDest
Definition: species2.cpp:29
atom_levelN
void atom_levelN(long int nlev, 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 create[], const double destroy[], bool lgCollRateDone, double *cooltl, double *coolder, const char *chLabel, int *nNegPop, bool *lgZeroPop, bool lgDeBug, bool lgLTE=false, multi_arr< double, 2 > *Cool=NULL, multi_arr< double, 2 > *dCooldT=NULL)
Definition: atom_leveln.cpp:15
t_atoms::c13
double c13
Definition: atoms.h:245
atom_level2
void atom_level2(const TransitionProxy &t)
Definition: atom_level2.cpp:17
g
static double * g
Definition: species2.cpp:28