cloudy
trunk
|
Go to the source code of this file.
Data Structures | |
struct | t_punch |
Macros | |
#define | LIMPUN 100L |
Functions | |
void | PunchDo (const char *chTime) |
void | pun1Line (transition *t, FILE *io, realnum xLimit, long index, double population) |
NORETURN void | PunchLineData (FILE *io) |
void | punch_opacity (FILE *io, long int np) |
void | PunchSpecial (FILE *io, const char *chTime) |
void | Punch1LineData (transition *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 |
Definition at line 8 of file punch.h.
Referenced by InitDefaultsPreparse(), ParsePunch(), and PunchFilesInit().
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, 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_transition::Coll, t_thermal::collam, conv, t_dynamics::Cool, t_collision::cs, t_thermal::ctot, DEBUG_ENTRY, dense, t_radius::depth_mid_zone, dynamics, elementnames, t_transition::Emis, FndLineHt(), t_dynamics::Heat, t_collision::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, t_emission::Pesc, phycon, t_emission::pump, punch, radius, SMALLFLOAT, spsort(), t_emission::TauIn, TauLine2, TauLines, t_phycon::te, thermal, t_punch::WeakHeatCool, and t_dense::xIonDense.
Referenced by PunchDo().
void pun1Line | ( | transition * | t, |
FILE * | io, | ||
realnum | xLimit, | ||
long | index, | ||
double | population | ||
) |
punch one line, called by PunchLineStuff
t | |
io | |
xLimit | |
index | |
population |
Definition at line 3395 of file punch_do.cpp.
References AnuUnit(), t_punch::chConPunEnr, t_elementnames::chElementSym, t_elementnames::chIonStage, chLineLbl(), t_emission::dampXvel, t_DoppVel::doppler, DoppVel, elementnames, t_transition::Emis, t_transition::EnergyWN, t_quantumState::g, t_emission::gf, t_transition::Hi, t_quantumState::IonStg, t_punch::ipConPun, lgPopsFirstCall, lgPunchOpticalDepths, t_transition::Lo, t_quantumState::nelem, t_quantumState::Pop, prt_wl(), punch, t_emission::TauIn, WAVNRYD, and t_transition::WLAng.
Referenced by FeIIPunchLineStuff(), H2_PunchLineStuff(), and PunchLineStuff().
void Punch1LineData | ( | transition * | 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 293 of file punch_linedata.cpp.
References t_emission::Aul, chIonLbl(), t_transition::Coll, COLL_CONST, t_collision::cs, DEBUG_ENTRY, t_transition::Emis, t_quantumState::g, t_emission::gf, t_transition::Hi, t_transition::ipCont, t_transition::Lo, phycon, PrintEfmt(), prt_wl(), t_phycon::sqrte, and t_transition::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, 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, 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 25 of file punch_line.cpp.
References ASSERT, caps(), cdEmis(), cdEmis_ip(), cdEXIT, cdLine(), t_input::chCARDCAPS, DEBUG_ENTRY, t_radius::depth_mid_zone, FFmtRead(), h2, input, INPUT_LINE_LENGTH, input_readarray(), ioQQQ, lgAbort, t_h2::lgH2ON, LineSave, MAX2, NPUNLM, t_LineSave::nsum, nzone, radius, SMALLFLOAT, 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 295 of file punch_line.cpp.
References caps(), cdEXIT, chLabel, chLineLbl(), DEBUG_ENTRY, dense, t_radius::depth_mid_zone, t_dense::eden, FFmtRead(), INPUT_LINE_LENGTH, input_readarray(), ioQQQ, LIMLINE, nMatch(), opac, t_opac::opacity_abs, t_opac::opacity_sct, phycon, radius, t_radius::Radius_mid_zone, StatesElem, t_phycon::te, and Transitions.
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(), AS_LOCAL_ONLY, ASSERT, cdEXIT, t_rfield::chContLabel, t_elementnames::chElementNameShort, t_elementnames::chElementSym, t_punch::chOpcTyp, t_Heavy::chShell, continuum, DEBUG_ENTRY, 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_yield >::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_yield::nelec_eject(), 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, open_data(), POW3, PrintE93(), prtPunOpacSummary(), t_punch::punarg, punch, rfield, StatesElem, 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 abund, t_wind::AccelCont, t_wind::AccelGravity, 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, 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, t_hmi::chLab, chLabel, t_rfield::chLineLabel, t_punch::chLineListLabel, t_punch::chPunch, t_punch::chPunchArgs, t_Heavy::chShell, t_tag_LineSv::chSumTyp, t_optimize::chVarFmt, t_thermal::ClGrid, GrainBin::cnv_H_pCM3, CO_findrk(), CO_punch_mol(), t_colden::colden, colden, t_iso::ColIoniz, t_transition::Coll, 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, t_collision::cool, CoolPunch(), t_geometry::covgeo, t_secondaries::csupra, t_thermal::ctot, t_thermal::dCooldT, DEBUG_ENTRY, 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, GrainBin::dustp, dynamics, DynaPunch(), DynaPunchTimeDep(), t_dense::eden, t_dense::EdenHCorr, t_dense::EdenTrue, t_yield::elec_eject_frac(), elementnames, t_transition::Emis, EN1RYD, t_phycon::EnergyBinding, t_phycon::EnergyExcitation, t_phycon::EnergyIonization, 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::flux_total_incident, t_wind::fmul, GammaPrt(), t_iso::gamnc, t_dense::gas_phase, t_gv::GasCoolColl, GrainBin::GasHeatPhotoEl, geometry, t_gv::GrainEmission, t_gv::GraphiteEmission, grid, GridGatherAfterCloudy(), GridGatherInCloudy(), 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, hcmap, t_dynamics::Heat, t_hmi::HeatH2Dexc_used, t_hmi::HeatH2Dish_used, t_thermal::heating, HeatPunch(), Heavy, molecule::hevmol, HFLines, t_transition::Hi, 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 >::Inst(), Singleton< t_yield >::Inst(), GrainBin::IntArea, t_grid::interpParameters, GrainBin::IntVol, ion_recombAGN(), ionbal, ioQQQ, ipALUMINIUM, ipCARBON, ipCOL_elec, ipCOL_H0, ipCOL_H2g, ipCOL_H2s, ipCOL_H3p, ipCOL_Hp, ipCOL_HTOT, t_punch::ipConPun, t_opac::ipElement, ipFineCont(), ipH1s, ipH2p, ipH2s, ipH_LIKE, ipHe1s1S, ipHe2p1P, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s3S, ipHE_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, is_odd(), iso, iteration, iterations, molecule::label, t_punch::lg_separate_iterations, t_grid::lgAbort, lgAbort, lgCheckAsserts(), t_conv::lgConvPres, t_conv::lgConvTemp, t_dense::lgElmtOn, t_punch::lgFITS, t_punch::lgFLUSH, t_grid::lgGrid, t_grid::lgGridDone, t_h2::lgH2ON, t_punch::lgHashEndIter, t_iterations::lgLastIt, t_LineSave::lgLineEmergent, t_punch::lgLineListRatio, t_punch::lgLinEvery, t_hcmap::lgMapBeingDone, t_hcmap::lgMapDone, t_grid::lgOutputTypeOn, t_punch::lgPunchEveryZone, t_punch::lgPunLstIter, t_punch::lgRealPunch, t_geometry::lgSphere, t_dynamics::lgStatic, t_called::lgTalk, t_DoppVel::lgTurb_pressure, t_grid::lgWarn, LIMELM, t_rfield::line_count, LineSave, LineSv, t_punch::LinEvery, t_transition::Lo, magnetic, map_do(), t_hcmap::MapZone, MAX2, mean, MIN2, mole, N_H_MOLEC, t_gv::nBin, t_punch::ncPunchSkip, t_yield::nelec_eject(), 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, optimize, t_rfield::otscon, t_rfield::otslin, t_rfield::outlin, t_rfield::outlin_noplot, t_dense::pden, t_ionbal::PhotoRate_Shell, phycon, t_pressure::pinzon, plankf(), t_quantumState::Pop, t_emission::PopOpc, 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(), 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, t_radius::Radius, 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, RYDLAM, safe_div(), SDIV(), secondaries, sexp(), ShowMe(), t_gv::SilicateEmission, SMALLFLOAT, t_timesc::sound_speed_adiabatic, t_dynamics::Source, StatesElem, struc, t_opac::TauAbsFace, t_opac::TauAbsGeo, t_emission::TauIn, TauLines, t_opac::TauScatFace, t_phycon::te, t_phycon::te03, t_phycon::te10, t_phycon::te70, GrainBin::tedust, t_thermal::TeGrid, t_phycon::TeInit, t_phycon::telogn, TempChange(), t_phycon::TeProp, t_struc::testr, TexcLine(), 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, Transitions, t_hyperfine::Tspin21cm, t_DoppVel::TurbVel, t_hmi::UV_Cont_rel2_Draine_DB96_depth, t_hmi::UV_Cont_rel2_Habing_TH85_depth, wavelength, t_tag_LineSv::wavelength, t_rfield::widflx, wind, t_wind::windv, t_punch::wlLineList, t_secondaries::x12tot, t_dense::xIonDense, t_mean::xIonMeans, and t_dense::xMassDensity.
Referenced by BadStart(), and cloudy().
void punchFITSfile | ( | FILE * | io, |
int | option | ||
) |
Punch spectra to a FITS compatible file.
io | |
option |
Definition at line 85 of file punch_fits.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, 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().
NORETURN void PunchLineData | ( | FILE * | io | ) |
PunchLineData punches selected line data for all lines transferred in code
io |
Definition at line 25 of file punch_linedata.cpp.
References atmolEmis, C12O16Rotate, C13O16Rotate, cdEXIT, t_elementnames::chElementName, t_elementnames::chElementSym, CO_PopsEmisCool(), t_thermal::ConstTemp, CoolEvaluate(), DEBUG_ENTRY, dense, t_dense::eden, t_dense::EdenHCorr, elementnames, FeIIPunData(), t_dense::gas_phase, H2_LevelPops(), H2_Punch_line_data(), HFLines, t_transition::Hi, hmi, t_hmi::Hmolec, Singleton< T >::Inst(), ioQQQ, ipH1s, ipH_LIKE, ipHe1s1S, ipHE_LIKE, ipHYDROGEN, ipMH2g, ipMH2s, iso, iso_collide(), t_dense::lgElmtOn, t_thermal::lgTemperatureConstant, LIMELM, linesAdded2, LineSave, t_transition::Lo, MIN2, nCORotate, t_quantumState::nelem, nHFLines, NISO, nLevel1, t_iso::numLevels_max, nUTA, nWindLine, phycon, t_quantumState::Pop, Punch1LineData(), t_LineSave::RecCoefCNO, SatelliteLines, SDIV(), TauLine2, TauLines, t_phycon::te, TempChange(), thermal, Transitions, 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 12 of file punch_special.cpp.
References t_rfield::anu, t_rfield::anu2, t_iso::As2nu, ASSERT, C12O16Rotate, DEBUG_ENTRY, dense, t_radius::depth, t_radius::drad, t_transition::Emis, EN1RYD, fnzone, h2, H2Lines, ipH1s, ipH2p, ipH2s, ipH_LIKE, ipHYDROGEN, iso, iteration, t_h2::lgH2ON, phycon, PunFeII(), radius, rfield, RYDLAM, StatesElem, t_emission::TauIn, t_phycon::te, Transitions, t_rfield::widflx, and t_dense::xIonDense.
Referenced by PunchDo().
Referenced by AnuUnit(), atmdat_3body(), atmdat_DielSupres(), ChkUnits(), ClosePunchFiles(), ConvBase(), ConvIterCheck(), CoolPunch(), grid_do(), H2_ParsePunch(), H2_PunchDo(), HeatPunch(), InitDefaultsPreparse(), ion_recomb(), IonCarbo(), iso_radiative_recomb(), main(), OpacityCreate1Element(), ParsePunch(), ParseSet(), PrtComment(), pun1Line(), punch_average(), punch_opacity(), PunchDo(), PunchFilesInit(), PunchLineStuff(), PunchNewContinuum(), PunResults1Line(), radius_first(), and radius_next().