39 fprintf(
ioQQQ,
" WARNING - I am saving line data but element %s is turned off.\n",
46 fprintf(
ioQQQ,
"Some elements are turned off and save line data requested.\n");
47 fprintf(
ioQQQ,
"Code is now designed to do save line data only with all elements on.\n");
48 fprintf(
ioQQQ,
"Please try again with all elements on.\n");
49 fprintf(
ioQQQ,
"Please try again with all elements on.\n");
68 fprintf( ioPUN,
"\n Recombination lines of C, N, O\n" );
69 fprintf( ioPUN,
"#Ion\tWL(A)\tCoef\tIon\tWL(A)\tCoef\n" );
73 long limit =
MIN2(NRECCOEFCNO,i+nskip);
75 for(
long j=i; j < limit; j++ )
79 fprintf( ioPUN,
"%s\t%6ld\t%8.3f\t",
107 for(
long i=0; i <
LIMELM; i++ )
109 for(
long j=0; j < LIMELM+1; j++ )
118 fprintf( ioPUN,
" Level 2 transferred lines\n" );
128 fprintf( ioPUN,
"\n\n\n end level 2, start inner shell UTA\n" );
135 fprintf( ioPUN,
"\n\n\n end inner shell, start H-like iso seq\n" );
139 for(
long nelem=0; nelem <
LIMELM; nelem++ )
156 fprintf( ioPUN,
"\n\n\n end H-like iso seq, start He-like iso seq\n" );
158 for(
long nelem=1; nelem <
LIMELM; nelem++ )
173 fprintf( ioPUN,
"\n\n\n end he-like iso seq, start hyperfine structure lines\n" );
181 fprintf( ioPUN,
"\n\n\n end hyperfine, start database lines\n" );
184 for (
int ipSpecies=0; ipSpecies <
nSpecies; ++ipSpecies)
187 em !=
dBaseTrans[ipSpecies].Emis().end(); ++em)
193 fprintf( ioPUN,
"\n\n\n end database, start satellite lines\n" );
197 for(
long nelem = ipISO; nelem <
LIMELM; nelem++ )
220 fprintf( ioPUN,
" end satellite, start H2 lines\n" );
226 bool lgPopsConverged;
227 double old_val, new_val;
228 (*diatom)->H2_LevelPops( lgPopsConverged, old_val, new_val );
229 (*diatom)->H2_Punch_line_data( ioPUN,
false );
237 fprintf(
ioQQQ ,
"\n The code is left in a disturbed state after creating the SAVE LINE DATA file.\n"
238 " No calculation is actually performed, only the SAVE LINE DATA file is produced.\n"
239 " Remove the SAVE LINE DATA command to do the calculation.\n\n ChkMonitorend is ok.\n" );
248 fprintf( ioPUN,
"#Ion\tWL\tgl\tgu\tgf\tA\tCS\tn(crt)\tdamp\n" );
292 fprintf( ioPUN,
"\t%3ld\t%3ld",
294 (
long)((*t.
Lo()).g()),
295 (
long)((*t.
Hi()).g()) );
327 fprintf( ioPUN,
"\t%7.4f", 0. );
341 fprintf( ioPUN,
"\t%.3e",CritDen );
void prt_wl(FILE *ioOUT, realnum wl)
void SetGasPhaseDensity(const long nelem, const realnum density)
string chIonLbl(const TransitionProxy &t)
TransitionList UTALines("UTALines",&AnonStates)
multi_arr< int, 3 > ipSatelliteLines
void Save1LineData(const TransitionProxy &t, FILE *io, bool lgCS_2)
TransitionList HFLines("HFLines",&AnonStates)
void CoolEvaluate(double *tot)
NORETURN void SaveLineData(FILE *io)
bool lgTemperatureConstant
molezone * findspecieslocal(const char buf[])
TransitionList TauLine2("TauLine2",&AnonStates)
void TempChange(double TempNew, bool lgForceUpdate)
t_elementnames elementnames
t_iso_sp iso_sp[NISO][LIMELM]
double xIonDense[LIMELM][LIMELM+1]
EmissionList::reference Emis() const
vector< diatomics * > diatoms
qList::iterator Hi() const
vector< vector< TransitionList > > SatelliteLines
double AnuUnit(realnum energy)
qList::iterator Lo() const
realnum & col_str() const
realnum RecCoefCNO[4][NRECCOEFCNO]
CollisionProxy Coll() const
#define DEBUG_ENTRY(funcname)
int fprintf(const Output &stream, const char *format,...)
const char * chConSavEnr[LIMPUN]
sys_float SDIV(sys_float x)
void rec_lines(double t, realnum r[][NRECCOEFCNO])
char chElementName[LIMELM][CHARS_ELEMENT_NAME]
void EdenChange(double EdenNew)
vector< TransitionList > dBaseTrans
void iso_collide(long ipISO, long nelem)
vector< diatomics * >::iterator diatom_iter
void PrintLineDataHeader(FILE *ioPUN)