00001
00002
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