24 int32
ipiv[4], nerror;
99 if( AbunxIon <= 1e-20 || boltz > 30. )
102 t->
Lo->
Pop = AbunxIon;
177 for( i=0; i <= 3; i++ )
190 zz[1][1] = r10 + r12 + r13;
197 zz[2][2] = r20 + r21 + r23;
204 zz[3][3] = r30 + r31 + r32;
207 for( j=0; j <= 3; j++ )
209 for( i=0; i <= 3; i++ )
211 amat[i][j] = zz[i][j];
213 bvec[j] = zz[3+1][j];
219 getrs_wrapper(
'N', 4, 1, (
double*)amat, 4, ipiv, bvec, 4, &nerror);
223 fprintf(
ioQQQ,
" AtomSeqBeryllium: dgetrs finds singular or ill-conditioned matrix\n" );
228 for( i=0; i <= 3; i++ )
230 zz[3+1][i] = bvec[i];
234 for( i=0; i <= 3; i++ )
244 fprintf(
ioQQQ,
" AtomSeqBeryllium finds non-positive pop,=" );
245 for( i=0; i <= 3; i++ )
249 fprintf(
ioQQQ,
"%s \n", chLab );
250 fprintf(
ioQQQ,
" te=%g total abund=%g boltz=%g \n",
267 t->
Lo->
Pop = AbunxIon;