24 const char *chOption = NULL;
34 lgQuoteFound = p.
nMatch(
"\"");
64 lgSizeDistribution =
true;
66 lgSizeDistribution =
false;
119 else if( p.
nMatch(
"LINE") )
138 fprintf(
ioQQQ,
" Impossible value for linear abundance.\n" );
159 if( gp.
dep < FLT_MIN )
161 fprintf(
ioQQQ,
" Grain abundance entered here (%f) is impossible.\n", gp.
dep );
190 chOption =
"ORION GRAPHITE ";
191 if( lgSizeDistribution )
200 else if( p.
nMatch(
"SILI") )
203 chOption =
"ORION SILICATE ";
204 if( lgSizeDistribution )
217 if( lgSizeDistribution )
230 else if( p.
nMatch(
" PAH") )
235 chOption =
"PAH C120 ";
241 chOption =
"PAH C15 ";
250 if( lgSizeDistribution )
265 if( lgSizeDistribution )
275 else if( p.
nMatch(
" ISM") )
280 chOption =
"ISM GRAPHITE ";
281 if( lgSizeDistribution )
290 else if( p.
nMatch(
"SILI") )
293 chOption =
"ISM SILICATE ";
294 if( lgSizeDistribution )
307 if( lgSizeDistribution )
325 if( lgSizeDistribution )
346 string command(
"GRAIN ABUND=%f LOG " );
356 if( chOption == NULL )
370 command +=
"FUNCTION ";
373 command +=
"FUNCTION SUBLIMATION ";
379 if( !lgSizeDistribution )
380 command +=
"SINGLE ";
383 command +=
"NO QHEAT ";
388 command +=
"NO REEVALUATE ";
390 command +=
"NO HEATING ";
392 command +=
"NO COOLING ";
398 fprintf(
ioQQQ,
" grain command string is too long. This is parse_grain\n");
bool nMatch(const char *chKey) const
const int FILENAME_PATH_LENGTH_2
NORETURN void TotalInsanity(void)
long nMatch(const char *chKey, const char *chCard)
int GetQuote(string &chLabel)
bool nMatchErase(const char *chKey)
char chVarFmt[LIMPAR][FILENAME_PATH_LENGTH_2]
realnum vparm[LIMEXT][LIMPAR]
NORETURN void StringError() const
void mie_read_opc(const char *, const GrainPar &)
void ParseGrain(Parser &p)
#define DEBUG_ENTRY(funcname)
int fprintf(const Output &stream, const char *format,...)