punch.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  t_punch

Defines

#define LIMPUN   100L

Functions

void PunchDo (const char *chTime)
void pun1Line (EmLine *t, FILE *io, float xLimit, long index, double population)
void PunchLineData (FILE *io)
void punch_opacity (FILE *io, long int np)
void PunchSpecial (FILE *io, const char *chTime)
void Punch1LineData (EmLine *t, FILE *io, bool lgCS_2)
void punch_line (FILE *ip, const char *chDo, bool lgLog3, char *chHeader)
void punch_average (long int ipPun, const char *chJob, char *chHeader)
void punch_colden (char header[], FILE *ioPUN, const char *chDo)
void Punch_Line_RT (FILE *ip, const char *chJob)
void punchFITSfile (FILE *io, int option)
void HeatPunch (FILE *io)
void CoolPunch (FILE *io)

Variables

EXTERN struct t_punch punch


Define Documentation

#define LIMPUN   100L

Definition at line 4 of file punch.h.

Referenced by ParsePunch(), PunchFilesInit(), and zero().


Function Documentation

void CoolPunch ( FILE *  io  ) 

void HeatPunch ( FILE *  io  ) 

void pun1Line ( EmLine t,
FILE *  io,
float  xLimit,
long  index,
double  population 
)

void Punch1LineData ( EmLine t,
FILE *  io,
bool  lgCS_2 
)

Punch1LineData data for punch one line

Parameters:
t 
io 
lgCS_2 this flag says whether collision strength should be punched - should be false for multi level atoms since sums are not done properly

Todo:
1 define lifetime and collision rate for multi-level species so that the critical density is derived correctly in this routine. For now the flag lgCS_2 being true means to punch crit den and is only true for two-level systems all places where this routine is called with lgCS_2 false need to be fixed

Definition at line 276 of file punch_linedata.cpp.

References EmLine::Aul, chIonLbl(), COLL_CONST, EmLine::cs, DEBUG_ENTRY, DEBUG_EXIT, EmLine::gf, EmLine::gHi, EmLine::gLo, phycon, PrintEfmt(), prt_wl(), t_phycon::sqrte, and EmLine::WLAng.

Referenced by FeIIPunData(), H2_Punch_line_data(), and PunchLineData().

Here is the call graph for this function:

void punch_average ( long int  ipPun,
const char *  chJob,
char *  chHeader 
)

punch_average parse punch average command, or actually do the punch output

Parameters:
ipPun - array index for file for final punch output
chJob - the job we shall do, READ for reading from input stream, PUNCH

Definition at line 11 of file punch_average.cpp.

References ASSERT, caps(), cdColm(), cdEXIT(), cdIonFrac(), cdTemp(), t_punch::chAverageSpeciesLabel, t_punch::chAverageType, t_elementnames::chElementNameShort, DEBUG_ENTRY, DEBUG_EXIT, elementnames, FFmtRead(), FILENAME_PATH_LENGTH_2, GetElem(), input, INPUT_LINE_LENGTH, input_readarray(), ioQQQ, t_punch::ipPnunit, MALLOC, t_punch::nAverage2ndPar, t_punch::nAverageIonList, t_punch::nAverageList, nMatch(), NoNumb(), t_input::nRead, punch, and TotalInsanity().

Referenced by ParsePunch(), and PunchDo().

Here is the call graph for this function:

void punch_colden ( char  header[],
FILE *  ioPUN,
const char *  chDo 
)

punch_colden parse punch column density command, or actually do the punch lines output

Parameters:
ip the file we will write to
chDo 

Definition at line 12 of file punch_colden.cpp.

References caps(), cdColm(), cdEXIT(), colden, DEBUG_ENTRY, DEBUG_EXIT, FFmtRead(), INPUT_LINE_LENGTH, input_readarray(), ioQQQ, MAX2, NoNumb(), NPUNLM, and SMALLFLOAT.

Referenced by ParsePunch(), and PunchDo().

Here is the call graph for this function:

void punch_line ( FILE *  ip,
const char *  chDo,
bool  lgLog3,
char *  chHeader 
)

punch_line parse punch lines command, or actually do the punch output

Parameters:
ip the file we will write to
chDo 
lgLog3 

Definition at line 19 of file punch_line.cpp.

References ASSERT, caps(), cdEmis(), cdEmis_ip(), cdEXIT(), cdLine(), t_input::chCARDCAPS, DEBUG_ENTRY, DEBUG_EXIT, t_radius::depth_mid_zone, FFmtRead(), input, INPUT_LINE_LENGTH, input_readarray(), ioQQQ, NPUNLM, nzone, radius, sprt_wl(), and wavelength.

Referenced by ParsePunch(), and PunchDo().

Here is the call graph for this function:

void Punch_Line_RT ( FILE *  ip,
const char *  chJob 
)

Punch_Line_RT parse the punch line rt command - read in a set of lines

Parameters:
ip the file we will write to
*chJob 

Definition at line 230 of file punch_line.cpp.

References caps(), cdEXIT(), chLabel, chLineLbl(), DEBUG_ENTRY, DEBUG_EXIT, dense, t_radius::depth_mid_zone, t_dense::eden, EmisLines, FFmtRead(), INPUT_LINE_LENGTH, input_readarray(), ioQQQ, EmLine::ipCont, LIMLINE, nMatch(), opac, t_opac::opacity_abs, t_opac::opacity_sct, phycon, radius, t_radius::Radius_mid_zone, and t_phycon::te.

Referenced by ParsePunch(), and PunchDo().

Here is the call graph for this function:

void punch_opacity ( FILE *  io,
long int  np 
)

void PunchDo ( const char *  chTime  ) 

PunchDo produce punch output during calculation

Parameters:
chTime chTime is null terminated 4 char string, either "MIDL" or "LAST"

Todo:
2 introduce units option for wavelength and include area for intensity to make luminosity

Todo:
2 possible to grab input lines to say what each parameter is? As in "PARAM1 is HDEN"?

Definition at line 102 of file punch_do.cpp.

References t_wind::AccelCont, t_wind::AccelLine, t_wind::AccelTot, t_timesc::AgeCOMoleDest, AGN_He1_CS(), AGN_Hemis(), t_opac::albedo, t_rfield::anu, t_rfield::anu2, t_rfield::AnuOrg, AnuUnit(), ASSERT, GrainBin::asym, EmLine::Aul, GrainBin::AveDustZ, GrainBin::AvRadius, t_gv::bin, BOLTZMANN, t_colden::C1Pops, t_colden::C2Pops, called, cdColm(), cdExecTime(), cdEXIT(), cdLine(), t_tag_LineSv::chALab, ChargTranPun(), t_rfield::chContLabel, GrainBin::chDstLab, chDummy, t_elementnames::chElementSym, t_punch::chHashString, chLabel, t_rfield::chLineLabel, t_punch::chLineListLabel, t_punch::chPunch, t_punch::chPunchArgs, t_Heavy::chShell, t_tag_LineSv::chSumTyp, t_thermal::ClGrid, CO_findrk(), CO_punch_mol(), t_colden::colden, colden, t_iso::ColIoniz, EmLine::ColUL, t_rfield::comdn, COmole, t_rfield::comup, t_rfield::ConEmitLocal, t_rfield::ConEmitOut, t_rfield::ConEmitReflec, t_rfield::ConInterOut, t_rfield::ConRefIncid, conv, t_radius::Conv2PrtInten, t_dynamics::Cool, EmLine::cool, CoolPunch(), t_geometry::covgeo, t_secondaries::csupra, t_thermal::ctot, EmLine::damp, DEBUG_ENTRY, DEBUG_EXIT, dense, t_radius::depth, t_radius::depth_mid_zone, DoppVel, t_radius::drad, t_gv::dstab, GrainBin::dstab1, GrainBin::dstAbund, GrainBin::dstpot, t_gv::dstsc, GrainBin::DustDftVel, dynamics, DynaPunch(), DynaPunchTimeDep(), t_dense::eden, t_dense::EdenHCorr, t_dense::EdenTrue, elementnames, EmisLines, EN1RYD, t_phycon::EnergyBinding, t_phycon::EnergyExcitation, t_phycon::EnergyIonization, EmLine::EnergyWN, t_magnetic::EnthalpyDensity, t_phycon::EnthalpyDensity, EVRYD, t_rfield::extin_mag_V_extended, t_rfield::extin_mag_V_point, FeII_Cont, FeIIPunchColden(), FeIIPunchLevels(), FeIIPunchLines(), FeIIPunchOpticalDepth(), FeIIPunDepart(), FeIIPunPop(), t_geometry::FillFac, findspecies(), t_rfield::fine_anu, t_rfield::fine_opac_zone, t_rfield::fine_opt_depth, t_rfield::flux, t_rfield::FluxSave, t_wind::fmul, GammaPrt(), t_iso::gamnc, t_dense::gas_phase, t_gv::GasCoolColl, GrainBin::GasHeatPhotoEl, geometry, t_gv::GraphiteEmission, grid, gv, t_colden::H0_21cm_lower, t_colden::H0_21cm_upper, t_colden::H0_ov_Tspin, h2, H2_PunchDo(), t_hmi::H2_Solomon_dissoc_rate_used_H2g, t_hmi::H2_total, t_dynamics::Heat, t_hmi::HeatH2Dexc_used, t_hmi::HeatH2Dish_used, t_thermal::heating, HeatPunch(), Heavy, molecule::hevmol, HFLines, t_conv::hist_pres_correct, t_conv::hist_pres_current, t_conv::hist_pres_density, t_conv::hist_pres_npres, t_conv::hist_temp_cool, t_conv::hist_temp_heat, t_conv::hist_temp_ntemp, t_conv::hist_temp_temp, hmi, t_hmi::Hmolec, t_thermal::HtGrid, t_thermal::htot, HydroRecCool(), hyperfine, Singleton< t_ADfA >::Inst(), Singleton< T >::Inst(), GrainBin::IntArea, t_grid::interpParameters, ion_recombAGN(), ionbal, ioQQQ, ipALUMINIUM, ipCARBON, ipCOL_elec, ipCOL_H0, ipCOL_H2g, ipCOL_H2s, ipCOL_H3p, ipCOL_Hp, ipCOL_HTOT, t_punch::ipConPun, EmLine::ipCont, t_opac::ipElement, ipFineCont(), ipH1s, ipH2p, ipH2s, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipIRON, t_iso::ipIsoLevNIonCon, ipMAGNESIUM, t_rfield::ipMaxBolt, ipMH2g, ipMH2p, ipMH2s, ipMH3p, ipMHm, ipoint(), t_iso::ipOpac, ipOXYGEN, t_punch::ipPnunit, ipRecEsc, ipRecNetEsc, ipRecRad, ipSILICON, ipSODIUM, ipSULPHUR, ipT146, ipT157, ipT370, ipT610, ipT63, t_rfield::ipV_filter, iso, iteration, iterations, t_punch::lg_separate_iterations, lgCheckAsserts(), t_conv::lgConvPres, t_conv::lgConvTemp, t_dense::lgElmtOn, t_punch::lgFLUSH, t_grid::lgGrid, t_grid::lgGridDone, t_h2::lgH2ON, t_punch::lgHashEndIter, t_iterations::lgLastIt, t_LineSave::lgLineEmergent, t_punch::lgLinEvery, t_map::lgMapBeingDone, t_map::lgMapDone, t_grid::lgOutputTypeOn, t_punch::lgPunchEveryZone, t_punch::lgPunLstIter, t_geometry::lgSphere, t_dynamics::lgStatic, t_called::lgTalk, t_DoppVel::lgTurb_pressure, LIMELM, t_rfield::line_count, LineSave, LineSv, t_punch::LinEvery, magnetic, map, map_do(), t_map::MapZone, MAX2, MIN2, mole, N_H_MOLEC, t_gv::nBin, t_punch::ncPunchSkip, nFeIIConBins, t_rfield::nfine, t_rfield::nflux, NGRID, t_grid::nintparm, t_punch::nLineList, t_conv::nPres2Ioniz, t_punch::npunch, t_punch::nPunchEveryZone, t_Heavy::nsShells, t_LineSave::nsum, t_mole::num_comole_calc, NUM_OUTPUT_TYPES, t_iso::numLevels_local, t_rfield::nupper, nzone, t_thermal::nZonGrid, t_colden::O1Pops, OccupationNumberLine(), opac, t_opac::opacity_abs, t_rfield::otscon, t_rfield::otslin, t_rfield::outlin, t_rfield::outlin_noplot, t_dense::pden, EmLine::Pdest, EmLine::Pelec_esc, EmLine::Pesc, pfeii(), t_ADfA::ph1(), t_ionbal::PhotoRate_Shell, phycon, t_pressure::pinzon, plankf(), t_iso::Pop2Ion, POW2, t_pressure::pres_radiation_lines_curr, t_pressure::PresGasCurr, t_pressure::PresInteg, t_pressure::PresRamCurr, t_magnetic::pressure, pressure, t_pressure::PresTotlCorrect, t_pressure::PresTotlCurr, t_pressure::PresTotlInit, t_pressure::PresTurbCurr, prt_LineLabels(), prt_wl(), PrtColumns(), PrtMeanIon(), EmLine::pump, t_punch::punarg, punch, punch_average(), punch_colden(), punch_line(), Punch_Line_RT(), punch_opacity(), punchFITSfile(), PunchGaunts(), PunchLineData(), PunchLineStuff(), t_punch::PunchLWidth, PunchNewContinuum(), PunchSpecial(), PunLineIntensity(), punResults(), GrainBin::pure_sc1, t_radius::r1r0sq, radius, t_radius::Radius_mid_zone, t_iso::RadRec_caseB, t_iso::RadRecomb, t_dynamics::Rate, GrainBin::rate_h2_form_grains_used, t_gv::rate_h2_form_grains_used_total, t_ionbal::RateIonizTot, t_ionbal::RateRecomTot, t_rfield::reflin, rfield, SDIV(), secondaries, sexp(), ShowMe(), t_gv::SilicateEmission, SMALLFLOAT, t_timesc::sound_speed_adiabatic, t_dynamics::Source, struc, t_opac::TauAbsFace, t_opac::TauAbsGeo, EmLine::TauCon, EmLine::TauIn, TauLines, t_opac::TauScatFace, EmLine::TauTot, t_phycon::te, t_phycon::te03, t_phycon::te10, t_phycon::te70, GrainBin::tedust, t_thermal::TeGrid, t_phycon::TeInit, t_phycon::telogn, t_phycon::TeProp, t_struc::testr, TexcLine(), tfidle(), thermal, t_dynamics::time_elapsed, t_timesc::time_H2_Dest_here, timesc, TorF(), t_gv::TotalEden, TotalInsanity(), t_rfield::TotDiff2Pht, t_grid::totNumModels, t_rfield::trans_coef_total, t_hyperfine::Tspin21cm, t_DoppVel::TurbVel, t_hmi::UV_Cont_rel2_Draine_DB96_depth, t_hmi::UV_Cont_rel2_Habing_TH85_depth, t_tag_LineSv::wavelength, t_rfield::widflx, wind, t_wind::windv, t_punch::wlLineList, t_secondaries::x12tot, t_dense::xIonDense, and t_dense::xMassDensity.

Referenced by cloudy().

void punchFITSfile ( FILE *  io,
int  option 
)

void PunchLineData ( FILE *  io  ) 

void PunchSpecial ( FILE *  io,
const char *  chTime 
)

PunchSpecial generate output for the punch special command

Parameters:
io 
chTime 

Definition at line 11 of file punch_special.cpp.

References t_rfield::anu, t_rfield::anu2, t_iso::As2nu, DEBUG_ENTRY, DEBUG_EXIT, dense, t_radius::depth, t_radius::drad, EmisLines, EN1RYD, fnzone, h2, H2Lines, EmLine::ipCont, ipH1s, ipH2p, ipH2s, ipH_LIKE, ipHYDROGEN, iso, iteration, t_h2::lgH2ON, EmLine::opacity, t_iso::Pop2Ion, EmLine::PopLo, EmLine::PopOpc, EmLine::pump, PunFeII(), radius, rfield, RYDLAM, EmLine::TauCon, EmLine::TauIn, t_rfield::widflx, and t_dense::xIonDense.

Referenced by PunchDo().

Here is the call graph for this function:


Variable Documentation

EXTERN struct t_punch punch


Generated for cloudy by doxygen 1.5.9