32 fprintf(
ioQQQ,
" Sorry, H-like He does not exist.\n");
41 if(
nMatch(
"EXCI",chCard) )
47 else if(
nMatch(
"IONI",chCard) )
58 fprintf(
ioQQQ,
"This command changed to ATOM H-LIKE COLLISIONS L-MIXING\n");
59 fprintf(
ioQQQ,
"I will parse it for now, but may not in the future.\n");
65 else if(
nMatch(
"L-MI",chCard) )
74 else if(
nMatch(
"THER",chCard) )
78 if(
nMatch(
"NO T",chCard) )
90 else if(
nMatch(
"PENG",chCard) )
94 else if(
nMatch(
" OFF" , chCard ) )
105 fprintf(
ioQQQ,
" needs parameter\n" );
109 else if(
nMatch(
" OFF" , chCard ) )
119 fprintf(
ioQQQ,
" needs parameter\n" );
124 else if(
nMatch(
"DAMP",chCard) )
128 fprintf(
ioQQQ,
" Sorry, the DAMPING option is not implemented for the he-like sequence.\n");
136 else if(
nMatch(
"DIEL",chCard) )
140 fprintf(
ioQQQ,
" Sorry, but dielectronic recombination onto the h-like sequence is not possible.\n");
145 if(
nMatch(
" OFF",chCard) )
153 else if(
nMatch(
"LEVE",chCard) )
167 if(
nMatch(
"PRIN",chCard) )
181 if(
nMatch(
"LARG",chCard) )
188 else if(
nMatch(
"SMAL",chCard) ||
nMatch(
"COMP",chCard) )
200 else if( ( numLevels < 3 ) && !
nMatch(
"COLL",chCard) && ipISO ==
ipH_LIKE )
203 fprintf(
ioQQQ,
" cannot have fewer than 3 levels, the requested number was %li\n" ,
205 fprintf(
ioQQQ,
" Sorry.\n" );
208 else if( ( numLevels < 3 ) && !
nMatch(
"COLL",chCard) && ipISO ==
ipHE_LIKE)
211 fprintf(
ioQQQ,
" cannot have fewer than 3 levels, the requested number was %li\n" ,
213 fprintf(
ioQQQ,
" Sorry.\n" );
219 fprintf(
ioQQQ,
" Not possible to set nhlvl to >NHYDRO_MAX_LEVEL-2= %i\n",
221 fprintf(
ioQQQ,
" change NHYDRO_MAX_LEVEL\n");
230 fprintf(
ioQQQ,
" Not possible to set iso.numLevels_max[ipH_LIKE][ipHYDROGEN] to such a high value, since "
231 "alpha transition not within energy bounds of code\n");
233 fprintf(
ioQQQ,
" lowest energy is %e and corresponding highest level is %li\n" ,
238 if(
nMatch(
"COLL",chCard) )
242 fprintf(
ioQQQ,
"There must be at least one collapsed level.\n");
247 if(
nMatch(
"ELEM",chCard) )
257 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
268 else if(
nMatch(
"ELEM",chCard) )
278 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
287 else if(
nMatch(
"ERRO",chCard) &&
nMatch(
"GENE" , chCard ) )
307 else if(
nMatch(
" FSM",chCard) )
311 fprintf(
ioQQQ,
" Sorry, but fine-structure mixing can only be implemented for the He-like sequence.\n");
317 if(
nMatch(
" OFF",chCard) )
323 else if(
nMatch(
"GBAR",chCard) )
327 fprintf(
ioQQQ,
" Sorry, the GBAR option is only implemented for the He-like sequence.\n");
338 if(
nMatch(
"VRIE",chCard) )
343 else if(
nMatch(
" NEW",chCard) )
356 else if(
nMatch(
" OFF",chCard) )
363 fprintf(
ioQQQ,
" needs parameter\n" );
369 else if(
nMatch(
"LYMA",chCard) )
374 if(
nMatch(
" OFF",chCard) )
379 else if(
nMatch(
"SCALE",chCard) )
394 fprintf(
ioQQQ,
" Sorry, I didn\'t recognize an option on this ATOM H-LIKE LYMAN PUMP command.\n");
395 fprintf(
ioQQQ,
" The options are \" OFF\", and \"SCALE\".\n");
410 else if(
nMatch(
"RECO",chCard) &&
419 else if(
nMatch(
"REDI",chCard) )
427 if(
nMatch(
" PRD",chCard) )
432 else if(
nMatch(
" CRD",chCard) )
437 else if(
nMatch(
"CRDW",chCard) )
443 else if( !
nMatch(
"SHOW",chCard) )
445 fprintf(
ioQQQ,
" There should have been a second keyword on this command.\n");
446 fprintf(
ioQQQ,
" Options are _PRD, _CRD, CRDW (_ is space). Sorry.\n");
451 if(
nMatch(
"ALPH",chCard) )
456 if(
nMatch(
"RESO",chCard) )
461 else if(
nMatch(
"SUBO",chCard) )
466 else if(
nMatch(
"SHOW",chCard) )
468 fprintf(
ioQQQ,
" Ly a is ");
471 fprintf(
ioQQQ,
"complete redistribution with wings\n");
475 fprintf(
ioQQQ,
"complete redistribution with core only.\n");
479 fprintf(
ioQQQ,
"partial redistribution.\n");
483 fprintf(
ioQQQ,
"special Lya.\n");
487 fprintf(
ioQQQ,
" PROBLEM Impossible value for iso.ipLyaRedist.\n");
491 fprintf(
ioQQQ,
" Other %s resonance lines are ",
496 fprintf(
ioQQQ,
"complete redistribution with wings\n");
500 fprintf(
ioQQQ,
"complete redistribution with core only.\n");
504 fprintf(
ioQQQ,
"partial redistribution.\n");
508 fprintf(
ioQQQ,
" PROBLEM Impossible value for iso.ipResoRedist.\n");
512 fprintf(
ioQQQ,
" %s subordinate lines are ",
517 fprintf(
ioQQQ,
"complete redistribution with wings\n");
521 fprintf(
ioQQQ,
"complete redistribution with core only.\n");
525 fprintf(
ioQQQ,
"partial redistribution.\n");
529 fprintf(
ioQQQ,
" PROBLEM Impossible value for iso.ipSubRedist.\n");
535 fprintf(
ioQQQ,
" here should have been another keyword on this command.\n");
536 fprintf(
ioQQQ,
" Options are ALPHA, RESONANCE, SUBORDINATE. Sorry.\n");
542 else if(
nMatch(
"MATR",chCard) )
544 if(
nMatch(
" POP",chCard) )
548 else if(
nMatch(
" LOW",chCard) )
554 fprintf(
ioQQQ,
" There should have been a keyword on the MATRIX option.\n");
555 fprintf(
ioQQQ,
" The keywords are POPulations, and LOWte.\n");
560 else if(
nMatch(
"TOPO",chCard) )
564 fprintf(
ioQQQ,
" The behavior of the TOPOFF option for the H-like sequence has changed since version 07.02.\n");
565 fprintf(
ioQQQ,
" Originally, it accepted a number and distributed \"topoff\" equally into that many levels at the top of the model.\n");
566 fprintf(
ioQQQ,
" Now, the option works the same as in the He-like sequence, which is to turn off topoff altogether.\n" );
569 if(
nMatch(
" OFF",chCard) )
572 fprintf(
ioQQQ,
"ISO %li TOPOFF is OFF\n", ipISO );
581 fprintf(
ioQQQ,
" There should have been a keyword - STOP\n" );