44 static double HbFracOutOld=-1. , HbFracOutNew=-1.;
45 HbFracOutOld = HbFracOutNew;
46 double a, total, BeamedIn;
47 long int ipTotal =
cdLine(
"TOTL" , 4861.36f , &a , &total );
48 long int ipInwd =
cdLine(
"INWD" , 4861.36f , &a , &BeamedIn );
49 HbFracOutNew = 1. - pow(10. , (BeamedIn-total));
54 bool lgReasonGiven =
false;
57 if(
nzone>3 && ipInwd>=0 && ipTotal>=0 )
60 if( fabs(HbFracOutNew-HbFracOutOld)/HbFracOutNew>
conv.
autocv )
68 "old=%.3e new=%.3e \n",
69 HbFracOutOld , HbFracOutNew);
75 for( nelem=ipISO; nelem <
LIMELM; nelem++ )
99 if(
iso_sp[ipISO][nelem].trans(ipHi,ipLo).Emis().TauIn() > 0.5 )
115 lgReasonGiven =
true;
117 "nelem= %s iteration %li old %.3e new %.3e \n",
126 if( fabs(
iso_sp[ipISO][nelem].trans(ipHi,ipLo).Emis().TauTot() -
139 lgReasonGiven =
true;
140 fprintf(
save.
ipPunConv,
" %s-like subord, nelem= %s iteration %li old %.3e new %.3e \n" ,
158 if(
TauLines[i].Emis().TauIn() > 1. &&
171 lgReasonGiven =
true;
172 fprintf(
save.
ipPunConv,
" level 1 line %.1f iteration %li old %.3e new %.3e \n",
184 for( i=0; i<
NCOLD; ++i )
200 lgReasonGiven =
true;
201 fprintf(
save.
ipPunConv,
" H mole col species %li iteration %li old %.2e new %.2e H col den %.2e\n",
210 double biggestDiffer = 0.;
228 if( differ > biggestDiffer )
234 biggestDiffer = differ;
239 lgReasonGiven =
true;
261 lgReasonGiven =
true;
269 lgReasonGiven =
true;
NORETURN void TotalInsanity(void)
#define DEBUG_ENTRY(funcname)
long int cdLine(const char *chLabel, realnum wavelength, double *relint, double *absint)
EmissionList::reference Emis() const
TransitionProxy trans(const long ipHi, const long ipLo)
valarray< class molezone > species
t_elementnames elementnames
t_iso_sp iso_sp[NISO][LIMELM]
t_mole_global mole_global
realnum colden_old[NCOLD]
char chNotConverged[INPUT_LINE_LENGTH]
double discretization_error
double convergence_tolerance
char chElementSym[LIMELM][CHARS_ELEMENT_SYM]
TransitionList TauLines("TauLines", &AnonStates)