12 double g1,
double g2,
double g3,
15 double o12,
double o13,
double o23,
18 double a21,
double a31,
double a32,
21 double Tex12,
double Tex23,
63 ASSERT( g1>0. && g2>0. && g3>0. && o12>=0. && o13>=0. && o23>=0. && a21>=0. && a31>=0. && a32>=0. &&
64 Tex12>=0. && Tex23>=0. );
67 b23 = exp(-Tex23/
phycon.te);
80 c23 =
dense.cdsqte*o23/g2*b23;
81 c32 =
dense.cdsqte*o23/g3;
82 c31 =
dense.cdsqte*o13/g3;
83 c21 =
dense.cdsqte*o12/g2;
85 alf = a21 + c21 + c23 + gam2;
86 bet = a31 + a32 + c31 + c32;
87 *pop2 = (
realnum)((
atoms.c13/bet +
atoms.c12/(c32 + a32))/(alf/(c32 + a32) - c23/bet));
88 pop3_v = (
atoms.c13 + *pop2*c23)/bet;
91 fac =
abund/(1. + *pop2 + pop3_v);
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)