20         const char chDetail[] )
 
   38         if( strcmp( chMode , 
"pres" )==0 )
 
   45                                 " PROBLEM  ConvFail %li, pressure not converged; itr %li, zone %.2f Te:%.3e Hden:%.4e curr Pres:%.4e Error:%.4e%% Pra/gas:%.3e\n", 
 
   60                                         "\n PROBLEM continued, pressure not converged; we are stuck at the sonic point.\n\n");
 
   67         else if( strcmp( chMode, 
"eden" ) == 0 )
 
   75                                 " PROBLEM  ConvFail %li, eden not converged itr %li zone %li fnzone %.2f correct=%.3e " 
  101         else if( strcmp( chMode, 
"ioni" ) == 0 )
 
  107                         fprintf( 
ioQQQ, 
" PROBLEM  ConvFail %li, %s ionization not converged" 
  108                                 " iteration %li zone %li fnzone %.2f reason %s BadConvIoniz0:%g [1]=%g\n", 
 
  120         else if( strcmp( chMode, 
"pops" ) == 0 )
 
  127                         fprintf( 
ioQQQ, 
" PROBLEM  ConvFail %li, %s population not converged" 
  128                                 " iteration %li zone %li fnzone %.2f %s %g %g\n", 
 
  140         else if( strcmp( chMode, 
"grai" ) == 0 )
 
  146                         fprintf( 
ioQQQ, 
" PROBLEM  ConvFail %ld, a grain failure occurred" 
  147                                 " iteration %li zone %li fnzone  %.2f %s %g %g\n", 
 
  159         else if( strcmp( chMode, 
"temp" ) == 0 )
 
  166                                 " PROBLEM  ConvFail %ld, Temp not converged itr %li zone %li fnzone %.2f Te=%.4e" 
  167                                 " Htot=%.3e Ctot=%.3e rel err=%.3e rel tol:%.3e\n", 
 
  181                                 fprintf( 
ioQQQ, 
" Solution not converged due to %10.10s\n", 
 
  188                 fprintf( 
ioQQQ, 
" ConvFail called with insane mode %s detail %s\n", 
 
  214         fprintf( 
ioQQQ, 
" Stop due to excessive convergence failures - there have been %ld so far. \n", 
 
  216         fprintf( 
ioQQQ, 
" This limit can be reset with the FAILURES command.\n" );
 
  222                 fprintf( 
ioQQQ,
"\n This problem may be solved by adding cosmic rays.\n");
 
  224                 fprintf( 
ioQQQ,
"\n The chemistry is not designed to work without a source of ionization.\n");
 
  225                 fprintf( 
ioQQQ, 
" >>> Add galactic background cosmic rays with the COSMIC RAYS BACKBOUND command and try again.\n\n" );
 
  231                 fprintf( 
ioQQQ, 
" These were all pressure failures - we may be near an unstable point in the cooling curve. \n");
 
  232                 fprintf( 
ioQQQ, 
" The PUNCH PRESSURE HISTORY command will show the n-T-P curve, and may be interesting.\n\n");
 
  253                 fprintf( 
ioQQQ, 
" ConvFail sets lgAbort since nTotalFailures=%ld is >= LimFail=%ld\n", 
 
  256                 fprintf( 
ioQQQ, 
" This limit can be reset with the FAILURES command.\n");
 
double convIonizNewVal() const 
const char * chConvIoniz() const 
sys_float safe_div(sys_float x, sys_float y, sys_float res_0by0)
void map_do(FILE *io, const char *chType)
realnum HeatCoolRelErrorAllowed
void ConvFail(const char chMode[], const char chDetail[])
realnum gas_phase[LIMELM]
#define DEBUG_ENTRY(funcname)
int fprintf(const Output &stream, const char *format,...)
double convIonizOldVal() const