21 char chParamType[20] =
"";
39 p.
NoNumb(
"blackbody temperature");
50 fprintf(
ioQQQ,
"PROBLEM The specified log of the temperature, %.3e, is too large.\nSorry.\n",
69 fprintf(
ioQQQ,
" This temperature is very low - the blackbody will have significant flux low the low energy limit of the code, presently %10.2e Ryd.\n",
79 fprintf(
ioQQQ,
" This temperature is very high - the blackbody will have significant flux above the high-energy limit of the code,%10.2e Ryd.\n",
92 strcpy( chParamType ,
"STE" );
98 "the BLACKBODY K STE command.\n");
99 fprintf(
ioQQQ,
"Do not specify the luminosity since STE does this.\n");
108 lgIntensitySet =
true;
115 else if( p.
nMatch(
"LUMI") )
117 strcpy( chParamType ,
"LUMINOSITY" );
123 lgIntensitySet =
true;
126 else if( p.
nMatch(
"RADI") )
128 strcpy( chParamType ,
"RADIUS" );
135 lgIntensitySet =
true;
138 else if( p.
nMatch(
"DENS") )
140 strcpy( chParamType ,
"ENERGY DENSITY" );
145 if( !p.
nMatch(
" LOG") && (p.
nMatch(
"LINE") || a > 10.) )
149 rlogl = log10(4.*STEFAN_BOLTZ) + 4.*a;
152 p.
NoNumb(
"energy density");
153 lgIntensitySet =
true;
156 else if( p.
nMatch(
"DILU") )
158 strcpy( chParamType ,
"DILUTION FACTOR" );
167 fprintf(
ioQQQ,
"PROBLEM Is the dilution factor > 1 on this "
168 "blackbody command physical?\n" );
178 p.
NoNumb(
"dilution factor" );
179 lgIntensitySet =
true;
182 else if( p.
nMatch(
"DISK") )
187 strcpy( chParamType ,
"DISK" );
203 lgIntensitySet =
false;
214 fprintf(
ioQQQ,
" This command has come between a previous ordered pair of continuum shape and luminosity commands.\n Reorder the commands to complete each continuum specification before starting another.\n" );
228 if( strcmp(chParamType,
"") == 0 )
241 strcpy( chHold ,
"BLACKbody= %f LOG ");
242 strcat( chHold , chParamType );
248 strcpy( chHold ,
"BLACKbody= %f LOG %f ");
249 strcat( chHold , chParamType );
269 fprintf(
ioQQQ,
" Too many continua entered; increase LIMSPC\n" );
bool nMatch(const char *chKey) const
NORETURN void TotalInsanity(void)
void ParseBlackbody(Parser &p)
void set_NaN(sys_float &x)
char chVarFmt[LIMPAR][FILENAME_PATH_LENGTH_2]
realnum vparm[LIMEXT][LIMPAR]
Illuminate::IlluminationType Illumination[LIMSPC]
NORETURN void NoNumb(const char *chDesc) const
#define DEBUG_ENTRY(funcname)
int fprintf(const Output &stream, const char *format,...)