52 for(
int i=0; i < 6; i++ )
75 " P8446 finds Lbeta, OI widths=%10.2e%10.2e and esc prob=%10.2e%10.2e esAB=%10.2e\n",
84 xoi = opacoi/(opacoi + opaclb);
85 xlb = opaclb/(opacoi + opaclb);
95 " P8446 opac Lb, OI=%10.2e%10.2e X Lb, OI=%10.2e%10.2e FLb, OI=%10.2e%10.2e\n",
96 opaclb, opacoi, xlb, xoi, flb, foi );
221 static double g[6]={9.,3.,9.,3.,15.,9};
268 c12 = c21*
g[1]/
g[0]*e12;
269 c13 = c31*
g[2]/
g[0]*e12*e23;
270 c14 = c41*
g[3]/
g[0]*e12*e23*e34;
271 c15 = c51*
g[4]/
g[0]*e12*e23*e34*e45;
272 c16 = c61*
g[5]/
g[0]*e12*e23*e34*e45*e56;
279 c23 = c32*
g[2]/
g[1]*e23;
280 c24 = c42*
g[3]/
g[1]*e23*e34;
281 c25 = c52*
g[4]/
g[1]*e23*e34*e45;
282 c26 = c62*
g[5]/
g[1]*e23*e34*e45*e56;
288 c34 = c43*
g[3]/
g[2]*e34;
289 c35 = c53*
g[4]/
g[2]*e34*e45;
290 c36 = c63*
g[5]/
g[2]*e34*e45*e56;
295 c45 = c54*
g[4]/
g[3]*e45;
296 c46 = c64*
g[5]/
g[3]*e45*e56;
299 c56 = c65*
g[5]/
g[4]*e56;
304 simple = (c16 +
atoms.
pmpo15)/(c61 + c62 + c64 + a65 + a64 + a62);
308 for( i=1; i < 6; i++ )
318 for( i=0; i < 6; i++ )
329 zz[1][1] = c21 + c23 + c24 + c25 + c26 + a21;
330 zz[2][1] = -c32 - a32;
333 zz[5][1] = -c62 - a62;
338 zz[2][2] = c31 + c32 + c34 + c35 + c36 + a32;
339 zz[3][2] = -c43 - a43;
340 zz[4][2] = -c53 - a53;
347 zz[3][3] = c41 + c42 + c43 + c45 + c46 + a41 + a43;
349 zz[5][3] = -c64 - a64;
356 zz[4][4] = c51 + c52 + c53 + c54 + c56 + a51 + a53;
357 zz[5][4] = -c65 - a65;
365 zz[5][5] = c61 + c62 + c63 + c64 + c65 + a65 + a64 + a62;
368 for( j=0; j < 6; j++ )
370 for( i=0; i < 6; i++ )
372 amat[i][j] = zz[i][j];
386 fprintf(
ioQQQ,
" oi_level_pops: dgetrs finds singular or ill-conditioned matrix\n" );
392 for( i=0; i < 6; i++ )
398 for( i=0; i < 6; i++ )
419 e12*e23*e34*e45*e56);
421 fprintf(
ioQQQ,
" oilevl finds levl pop" );
424 fprintf(
ioQQQ,
"\n" );
426 fprintf(
ioQQQ,
" oilevl finds dep coef" );
428 fprintf(
ioQQQ,
"%11.3e", deptoi[i] );
429 fprintf(
ioQQQ,
"\n" );
437 fprintf(
ioQQQ,
" OILEVL finds negative population" );
440 fprintf(
ioQQQ,
"\n" );
442 fprintf(
ioQQQ,
" simple 5 =%10.2e\n", simple );
STATIC void oi_level_pops(double abundoi, double *coloi)
void atom_oi_calc(double *coloi)
#define DEBUG_ENTRY(funcname)
realnum & Pelec_esc() const
EmissionList::reference Emis() const
TransitionProxy trans(const long ipHi, const long ipLo)
realnum GetDopplerWidth(realnum massAMU)
t_iso_sp iso_sp[NISO][LIMELM]
double popoi[N_OI_LEVELS]
double xIonDense[LIMELM][LIMELM+1]
realnum AtomicWeight[LIMELM]
TransitionList TauLines("TauLines", &AnonStates)
void getrs_wrapper(char trans, long N, long nrhs, double *A, long lda, int32 *ipiv, double *B, long ldb, int32 *info)
void getrf_wrapper(long M, long N, double *A, long lda, int32 *ipiv, int32 *info)
void PutCS(double cs, const TransitionProxy &t)