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 LIMPUN 100L |
void CoolPunch | ( | FILE * | io | ) |
CoolPunch punch coolants, called by punch_do
io |
Definition at line 16 of file cool_punch.cpp.
References CALLOC, t_thermal::chClntLab, t_thermal::collam, conv, t_dynamics::Cool, t_thermal::cooling, t_thermal::ctot, DEBUG_ENTRY, DEBUG_EXIT, t_radius::depth_mid_zone, dynamics, t_dynamics::Heat, t_thermal::heatnt, t_thermal::htot, IPRINT, t_conv::lgConvEden, t_conv::lgConvIoniz, t_conv::lgConvPres, t_conv::lgConvTemp, MAX2, MIN2, t_thermal::ncltot, phycon, punch, radius, sign(), spsort(), t_phycon::te, thermal, and t_punch::WeakHeatCool.
Referenced by PunchDo().
void HeatPunch | ( | FILE * | io | ) |
HeatPunch punch contributors to local heating, with punch heat command, called by punch_do
io |
Definition at line 22 of file heat_punch.cpp.
References ASSERT, C12O16Rotate, C13O16Rotate, CALLOC, cdEXIT(), t_thermal::chClntLab, t_elementnames::chElementSym, t_elementnames::chIonStage, chLabel, chLineLbl(), t_thermal::collam, conv, t_dynamics::Cool, EmLine::cs, t_thermal::ctot, DEBUG_ENTRY, DEBUG_EXIT, dense, t_radius::depth_mid_zone, dynamics, elementnames, FndLineHt(), EmLine::heat, t_dynamics::Heat, t_thermal::heating, t_thermal::heatnt, HFLines, t_thermal::htot, ioQQQ, IPRINT, t_conv::lgConvEden, t_conv::lgConvIoniz, t_conv::lgConvPres, t_conv::lgConvTemp, LIMELM, MIN2, t_thermal::ncltot, EmLine::Pesc, phycon, EmLine::pump, punch, radius, SMALLFLOAT, spsort(), EmLine::TauIn, TauLine2, TauLines, t_phycon::te, thermal, t_punch::WeakHeatCool, and t_dense::xIonDense.
Referenced by PunchDo().
void pun1Line | ( | EmLine * | t, | |
FILE * | io, | |||
float | xLimit, | |||
long | index, | |||
double | population | |||
) |
punch one line, called by PunchLineStuff
t | ||
io | ||
xLimit | ||
index | ||
population |
Definition at line 3203 of file punch_do.cpp.
References AnuUnit(), t_punch::chConPunEnr, t_elementnames::chElementSym, t_elementnames::chIonStage, chLineLbl(), EmLine::dampXvel, t_DoppVel::doppler, DoppVel, elementnames, EmLine::EnergyWN, EmLine::gf, EmLine::gHi, EmLine::gLo, EmLine::IonStg, t_punch::ipConPun, lgPopsFirstCall, lgPunchOpticalDepths, EmLine::nelem, EmLine::PopHi, EmLine::PopLo, prt_wl(), punch, EmLine::TauIn, WAVNRYD, and EmLine::WLAng.
Referenced by FeIIPunchLineStuff(), H2_PunchLineStuff(), and PunchLineStuff().
void Punch1LineData | ( | EmLine * | t, | |
FILE * | io, | |||
bool | lgCS_2 | |||
) |
Punch1LineData data for punch one line
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 |
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().
void punch_average | ( | long int | ipPun, | |
const char * | chJob, | |||
char * | chHeader | |||
) |
punch_average parse punch average command, or actually do the punch output
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().
void punch_colden | ( | char | header[], | |
FILE * | ioPUN, | |||
const char * | chDo | |||
) |
punch_colden parse punch column density command, or actually do the punch lines output
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().
void punch_line | ( | FILE * | ip, | |
const char * | chDo, | |||
bool | lgLog3, | |||
char * | chHeader | |||
) |
punch_line parse punch lines command, or actually do the punch output
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().
void Punch_Line_RT | ( | FILE * | ip, | |
const char * | chJob | |||
) |
Punch_Line_RT parse the punch line rt command - read in a set of lines
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().
void punch_opacity | ( | FILE * | io, | |
long int | np | |||
) |
punch_opacity punch total opacity in any element, punch opacity command
io | ||
np |
Definition at line 21 of file punch_opacity.cpp.
References abund, t_rfield::anu, t_rfield::AnuOrg, AnuUnit(), ASSERT, cdEXIT(), t_rfield::chContLabel, t_elementnames::chElementNameShort, t_elementnames::chElementSym, t_punch::chOpcTyp, t_Heavy::chShell, continuum, DEBUG_ENTRY, DEBUG_EXIT, dense, t_iso::DepartCoef, elementnames, EVRYD, FILENAME_PATH_LENGTH_2, t_rfield::fine_anu, t_rfield::fine_opac_zone, t_opac::FreeFreeOpacity, t_dense::gas_phase, Heavy, Singleton< T >::Inst(), Singleton< t_ADfA >::Inst(), t_opac::iophe1, ioQQQ, t_opac::ipElement, ipFineCont(), ipH1s, ipH_LIKE, ipHE_LIKE, t_Heavy::ipHeavy, ipHELIUM, ipHYDROGEN, t_iso::ipIsoLevNIonCon, ipLITHIUM, t_iso::ipOpac, iso, t_continuum::KshellLimit, t_abund::lgAGN, t_opac::lgRedoStatic, LIMELM, MAX2, MIN2, t_rfield::nfine, t_rfield::nflux, t_Heavy::nsShells, t_rfield::nupper, opac, t_opac::opacity_abs, t_opac::opacity_sct, OpacityAdd1Element(), OpacityAdd1SubshellInduc(), OpacityZero(), t_opac::OpacStack, t_opac::OpacStatic, t_iso::Pop2Ion, POW3, PrintE93(), prtPunOpacSummary(), t_punch::punarg, punch, rfield, and t_dense::xIonDense.
Referenced by PunchDo().
void PunchDo | ( | const char * | chTime | ) |
PunchDo produce punch output during calculation
chTime | chTime is null terminated 4 char string, either "MIDL" or "LAST" |
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 | |||
) |
Punch spectra to a FITS compatible file.
io | ||
option |
Definition at line 94 of file punch_fits.cpp.
References ASSERT, cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, t_grid::Energies, grid, t_grid::interpParameters, ioFITS_OUTPUT, ioQQQ, t_grid::lgGridDone, MAX2, maxParamValues, t_grid::naddparm, t_rfield::nflux, t_grid::nintparm, NUM_OUTPUT_TYPES, t_grid::numEnergies, t_grid::numParamValues, t_grid::paramData, t_grid::paramMethods, t_grid::paramNames, t_grid::paramRange, punchFITS_EnergyData(), punchFITS_EnergyHeader(), punchFITS_GenericData(), punchFITS_GenericHeader(), punchFITS_ParamData(), punchFITS_ParamHeader(), punchFITS_PrimaryHeader(), punchFITS_SpectraData(), punchFITS_SpectraHeader(), rfield, t_grid::Spectra, and t_grid::totNumModels.
Referenced by PunchDo().
void PunchLineData | ( | FILE * | io | ) |
PunchLineData punches selected line data for all lines transferred in code
io |
Definition at line 26 of file punch_linedata.cpp.
References C12O16Rotate, C13O16Rotate, cdEXIT(), t_elementnames::chElementName, t_elementnames::chElementSym, CO_PopsEmisCool(), t_thermal::ConstTemp, CoolEvaluate(), DEBUG_ENTRY, DEBUG_EXIT, dense, t_dense::eden, t_dense::EdenHCorr, elementnames, EmisLines, FeIIPunData(), t_dense::gas_phase, H2_LevelPops(), H2_Punch_line_data(), HFLines, hmi, t_hmi::Hmolec, HydroCollid(), Singleton< t_ADfA >::Inst(), ioQQQ, ipH1s, ipH_LIKE, ipHe1s1S, ipHE_LIKE, ipHYDROGEN, ipMH2g, ipMH2s, iso, t_dense::lgElmtOn, t_thermal::lgTSetOn, LIMELM, LineSave, MIN2, nCORotate, nHFLines, NISO, nLevel1, t_iso::numLevels_max, nUTA, nWindLine, phycon, EmLine::PopLo, Punch1LineData(), t_ADfA::rec_lines(), t_LineSave::RecCoefCNO, SDIV(), TauLine2, TauLines, t_phycon::te, tfidle(), thermal, UTALines, and t_dense::xIonDense.
Referenced by PunchDo().
void PunchSpecial | ( | FILE * | io, | |
const char * | chTime | |||
) |
PunchSpecial generate output for the punch special command
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().
Referenced by AnuUnit(), atmdat_3body(), atmdat_DielSupres(), cdDrive(), ChkUnits(), ClosePunchFiles(), ConvIterCheck(), CoolPunch(), grid_do(), gridXspec(), H2_ParsePunch(), H2_PunchDo(), HeatPunch(), HydroRecom(), ion_recomb(), IonCarbo(), lgOptimize_do(), main(), OpacityCreate1Element(), ParsePunch(), ParseSet(), PrtComment(), pun1Line(), punch_average(), punch_opacity(), PunchDo(), PunchFilesInit(), PunchLineStuff(), PunchNewContinuum(), PunResults1Line(), radius_first(), radius_next(), and zero().