41 double x1 ,
x2 , yy1 , yy2 , z1 , z2 , za , zb ,z;
47 if( nelem<ipHYDROGEN || nelem>
HS_NZ )
49 printf(
"atmdat_HS_caseB called with improper nelem, was%li and must be 1 or 2",nelem);
57 if( chCase ==
'a' || chCase==
'A' )
61 else if( chCase ==
'b' || chCase==
'B' )
67 printf(
"atmdat_HS_caseB called with improper case, was %c and must be A or B",chCase);
76 ipUp = (int)iHi; ipLo = (int)iLo;
80 ipUp = (int)iLo; ipLo = (int)iHi;
84 printf(
"atmdat_HS_caseB called with indices equal, %ld %ld \n",iHi,iLo);
91 printf(
" atmdat_HS_caseB called with lower quantum number less than 1, = %i\n",
98 printf(
" atmdat_HS_caseB called with upper quantum number greater than 25, = %i\n",
120 for( ipDens=0; ipDens <
atmdat.
nDensity[iCase][nelem]-1; ipDens++ )
138 for( ipTemp=0; ipTemp <
atmdat.
ntemp[iCase][nelem]-1; ipTemp++ )
186 z1 = log10(
atmdat.
Emiss[iCase][nelem][ipTemp][ipDens][ip]);
187 z2 = log10(
atmdat.
Emiss[iCase][nelem][ipTemp][ipDensHi][ip]);
195 za = z1 + log10( DenIn /
atmdat.
Density[iCase][nelem][ipDens] ) * (z2-z1)/(x2-x1);
198 z1 = log10(
atmdat.
Emiss[iCase][nelem][ipTempHi][ipDens][ip]);
199 z2 = log10(
atmdat.
Emiss[iCase][nelem][ipTempHi][ipDensHi][ip]);
207 zb = z1 + log10( DenIn /
atmdat.
Density[iCase][nelem][ipDens] ) * (z2-z1)/(x2-x1);
216 z = za + log10( TempIn /
atmdat.
ElecTemp[iCase][nelem][ipTemp] ) * (zb-za)/(yy2-yy1);
bool fp_equal(sys_float x, sys_float y, int n=3)
long int nDensity[2][HS_NZ]
double Density[2][HS_NZ][NHSDIM]
double Emiss[2][HS_NZ][NHSDIM][NHSDIM][NLINEHS]
double atmdat_HS_caseB(long int iHi, long int iLo, long int iZ, double TempIn, double DenIn, char chCase)
#define DEBUG_ENTRY(funcname)
double ElecTemp[2][HS_NZ][NHSDIM]