34 int indexOfSmallest = 0;
36 const int NUM_DR_TYPES = 13;
41 } drValues[NUM_DR_TYPES];
58 static double drad_last_iteration=-1.;
95 dr_time_dep = drad_last_iteration;
129 drcol = pow(10.,
MIN2(35.,drcol));
166 drStromgren = pow( drStromgren , 0.33333);
179 drStromgren = FLT_MAX;
241 while( i < 100 && factor < 0.05 )
247 factor = fabs(factor-1.);
299 drH2 = change /
SDIV(
322 drValues[0].dr = drOpacity;
324 drValues[2].dr = drStromgren;
326 drValues[4].dr = drcol;
327 drValues[5].dr = dr912;
328 drValues[6].dr = drthrm;
329 drValues[7].dr = winddr;
330 drValues[8].dr = dradf;
331 drValues[9].dr = drTabDen;
332 drValues[10].dr = drH2;
333 drValues[11].dr = drContPres;
334 drValues[12].dr = dr_time_dep;
336 strcpy( drValues[0].whatToSay,
"drOpacity" );
337 strcpy( drValues[1].whatToSay,
"radius.Radius/20.");
338 strcpy( drValues[2].whatToSay,
"drStromgren");
339 strcpy( drValues[3].whatToSay,
"radius.router[iteration-1]/10.");
340 strcpy( drValues[4].whatToSay,
"drcol");
341 strcpy( drValues[5].whatToSay,
"dr912");
342 strcpy( drValues[6].whatToSay,
"drthrm");
343 strcpy( drValues[7].whatToSay,
"winddr");
344 strcpy( drValues[8].whatToSay,
"dradf");
345 strcpy( drValues[9].whatToSay,
"drTabDen");
346 strcpy( drValues[10].whatToSay,
"drH2");
347 strcpy( drValues[11].whatToSay,
"drContPres");
348 strcpy( drValues[12].whatToSay,
"dr_time_dep");
350 for( i=0; i<NUM_DR_TYPES; i++ )
352 if( drValues[i].dr < drValues[indexOfSmallest].dr )
390 MIN4( drthrm, winddr, dradf, drTabDen ),
391 MIN3( drH2, drContPres, dr_time_dep ) );
447 " radius_first called, finds dr=%13.5e drMinimum=%12.3e sdrmin=%10.2e sdrmax=%10.2e\n",
454 " PROBLEM radius_first detected likely insanity, found dr=%13.5e \n",
radius.
drad);
456 " radius_first: calculation continuing but crash is likely. \n");
479 static int iter_punch=-1;
491 "radius_first keys from radius.sdrmin\n");
498 "radius_first keys from radius.sdrmax\n");
502 ASSERT( indexOfSmallest < NUM_DR_TYPES - 1 );
504 drValues[indexOfSmallest].whatToSay);
513 "radius_first keys from drOpacity, opac was %.2e at %.2e Ryd\n",
514 BigOpacity , BigOpacityAnu );
519 "radius_first keys from radius.Radius\n" );
524 "radius_first keys from drStromgren\n");
529 "radius_first keys from time dependent\n");
534 "radius_first keys from radius.router[iteration-1]\n");
539 "radius_first keys from drcol\n");
544 "radius_first keys from radius.sdrmin\n");
549 "radius_first keys from dr912\n");
554 "radius_first keys from radius.sdrmax\n");
559 "radius_first keys from drthrm\n");
564 "radius_first keys from winddr\n");
569 "radius_first keys from H2 lyman lines\n");
574 "radius_first keys from dradf\n");
579 "radius_first keys from drTabDen\n");
584 "radius_first keys from radiative acceleration across zone\n");
589 fprintf(
ioQQQ,
"radius_first insanity, radius is %e\n" ,