Table from data in 'sortsrc.list'
Filename Subroutine Description
abundances.cAbundancesPrtprint all abundances, both gas phase and grains
abundances.cAbundancesSetsets initial abundances after parameters are entered by reading input
abundances.cAbundancesTableinterpolate on table of points to do 'element table' command,
abundances.cPrtElemprint chemical composition at start of calculation
abund_starburst.cabund_starburstgenerate abundance set from Fred Hamann's starburst evolution grid
age_check.cAgeCheckcheck various timescales after calculation complete to confirm time steady OK
assert_results.cInitAssertResults this must be called first, done at startup of ParseCommands
assert_results.clgCheckAsserts checks asserts, last thing cloudy calls, returns TRUE if all are ok, FALSE if problems
assert_results.cParseAssertResults- parse input stream
atmdat_2photon.catmdat_2phot_ratehydrogen two photon emission, including induced emission
atmdat_2photon.catmdat_2phot_shapefunctiontwo photon emission function for hydrogen
atmdat_3body.catmdat_3bodyderive three-body recombination coefficients
atmdat_3body.cdainterpolate on three body recombination by Steve Cota
atmdat_char_tran.cChargTranEvalfill in the HCharExcIonOf and Rec arrays with Kingdon's fitted CT with H
atmdat_char_tran.cChargTranPun punch charge transfer coef
atmdat_char_tran.cChargTranSumHeatsum net heating due to charge transfer, called in HeatSum
atmdat_char_tran.cHCTIonH charge transfer ionization
atmdat_char_tran.cHCTRecomH charge transfer recombination
atmdat_char_tran.cMakeHCTDataholds data for charge tranfer fits
atmdat_coll_ion.catmdat_coll_ionD Verner's routine to compute collisional ionization rate coefficients
atmdat_dielrec_fe.catmdat_dielrec_feDielectronic recombination rates for Fe from Arnaud & Raymond 1992
atmdat_dielsupres.catmdat_DielSupresderive scale factors for suppression of Burgess dielectronic recombination
atmdat_HS_caseb.catmdat_HS_caseB- interpolate on line emissivities from Storey & Hummer tables for hydrogen
atmdat_h_photocs_fit.catmdat_hpfitstate specific photoionization cross sections for model hydrogen atom for any level up through NHYDRO_MAX_LEVEL defined 401L in cddefines.h
atmdat_H_phot_cs.catmdat_H_phot_cs-0 hydrogen cross sections
atmdat_h_rad_rec.catmdat_H_rad_reccalculates state-specific recombination rates for hydrogen and hydrogen-like ions
atmdat_ligbar.cligbarobtain collision strength for any Li-sequence line
atmdat_lines_setup.clines_setupconvert level 1 and level 2 line parameters and pointers into internal form used by code, line data were read in by atmdat_readin
atmdat_outer_shell.catmdat_outer_shelldetermine outer shell, and statistical weights of that and higher ion, for any ion written by Dima Verner
atmdat_phfit.catmdat_phfitderive photoionization cross sectoins for first 30 elements
atmdat_rad_rec.catmdat_rad_reccalculates rates of radiative recombination for all ions
atmdat_readin.catmdat_readinread in some data files, but only if this is very first call, called by Cloudy
atmdat_rec_lines.catmdat_rec_lineseffective recombination coefficients for lines of C, N, O, by D. Verner /
atom_fe2ovr.catoms_fe2ovrcompute FeII overlap with Lya
atom_fe2ovr.cfe2parevaluate FeII partition function
atom_fe2ovr.cFe2_ovr_DataInitstoring energy levels for Fred's FeII ground
atom_feii.cAssertFeIIDepcalled by assert feii depart coef command
atom_feii.cFeIIAccelcalled by rt_line_driving to compute radiative acceleration due to FeII lines
atom_feii.cFeIIAddLinessave accumulated FeII intensities called by lineset4
atom_feii.cFeIIBandsCreatereturns number of feii bands
atom_feii.cFeIICollRatesBoltzmannevaluate collision strenths, both interpolating on r-mat and creating g-bar find Boltzmann factors, evaluate collisional rate coefficients
atom_feii.cFeIIContCreatecreate FeII continuum bins to add lines into ncell cells between wavelengths lambda low and high, returns number of cells used
atom_feii.cFeIICreateread in needed data from file convert form of feii data, as read in from file within routine FeIICreate into physical form. called by atmdat_readin
atom_feii.cFeIIIntenZerozero out intensity of FeII atom
atom_feii.cFeIILevelPops main feii routine, called by CoolIron to evaluate iron cooling
atom_feii.cFeIILyaPumpfind rate of Lya excitation of the FeII atom
atom_feii.cFeIIOvrLaphandle overlapping FeII lines
atom_feii.cFeIIPointcalled by ContCreatePointers to create pointers for lines in large FeII atom
atom_feii.cFeIIPrintprint feii information
atom_feii.cFeIIPrintprint output from large feii atom, called by prtzone
atom_feii.cFeIIPun1Departsend the departure coef for physical level nPUN to unit ioPUN
atom_feii.cFeIIPunchLevelspunch feii levels and energies
atom_feii.cFeIIPunchLinespunch feii lines at end of calculation, if punch verner set, called by dopunch
atom_feii.cFeIIPunchLineStuffinclude FeII lines in punched optical depths, etc, called from PunchLineStuff
atom_feii.cFeIIPunDatapunch line data
atom_feii.cFeIIPunDepartpunch some departure coef for large atom, set with punch feii departure command
atom_feii.cFeIIPunPop- punch level populations
atom_feii.cFeIIResetreset some variables, called by zero
atom_feii.cFeIIRTMakecalled by RT_line_all, does large FeII atom radiative transfer
atom_feii.cFeIISumBandsum up large FeII emission over certain bands, called in lineset4
atom_feii.cFeIITauInccalled once per zone in RT_tau_inc to increment large FeII atom line optical depths
atom_feii.cFeIIZeroinitialize some variables, called by zero one time before commands parsed
atom_feii.cFeII_Coldenmaintain H2 column densities within X
atom_feii.cFeII_LineZerozero out storage for large FeII atom, called by tauout
atom_feii.cFeII_OTSdo ots rates for FeII, called by RT_OTS
atom_feii.cFeII_RTOutdo outward rates for FeII, called by RT_diffuse
atom_feii.cFeII_RT_tau_resetreset optical depths for large FeII atom, called by update after each iteration
atom_feii.cParseAtomFeIIparse the atom FeII command
atom_hyperfine.cH21cmcomputes rate for H 21 cm from upper to lower excitation by atomic hydrogen
atom_hyperfine.cH21cm_electroncompute H 21 cm rate from upper to lower excitation by electrons - call by CoolEvaluate
atom_hyperfine.cH21cm_H_atom- evalutate H atom spin changing collision rate, called by CoolEvaluate
atom_hyperfine.ch21_t_ge_20compute rate for H 21 cm from upper to lower excitation by atomic hydrogen
atom_hyperfine.ch21_t_lt_20compute rate for H 21 cm from upper to lower excitation by atomic hydrogen
atom_hyperfine.cHyperfineCreatestablish space for hf arrays, reads atomic data from hyperfine.dat
atom_hyperfine.cHyperfineCS- returns collision strengths for hyperfine struc transitions
atom_level2.catom_level2do level population and cooling for two level atom, side effects: set elements of EmLine struc cooling via CoolAdd( chLab, (long)t->WLAng , t->cool); cooling derivative
atom_level3.catom_level3compute three level atom, 10, 21, and 20 are line
atom_leveln.catom_levelNcompute an arbitrary N level atom
atom_oi.catom_oidrive the solution of OI level populations, Ly-beta pumping
atom_oi.coi_level_popsget OI level population with Ly-beta pumping
atom_pop2.catom_pop2do level population for simple two level atom, no radiative transfer
atom_pop3.catom_pop3solve 3-level atom without radiative transfer, returns pops of level 2 and 3
atom_pop5.catom_pop5do five level atom population and cooling
atom_seq_beryllium.cAtomSeqBerylliumcompute level populations and emissivity for Be-sequence ions
atom_seq_boron.cAtomSeqBoroncompute cooling from 5-level boron sequence model atom
cddrive.ccdCautionsprint out all cautions after calculation, on arbitrary io unit
cddrive.ccdClosePunchFilescloses all the punch files that have been used
cddrive.ccdColmget the column density for a constituent
cddrive.ccdDate- puts date of code into string
cddrive.ccdDLineget the predicted emergent line intensity, also index for line in stack
cddrive.ccdDrivemain routine to call cloudy under all circumstances)
cddrive.ccdDrivemain routine to call cloudy under all circumstances)
cddrive.ccdEmsobtain the local emissivity for a line, for the last computed zone
cddrive.ccdEms_ipobtain the local emissivity for a line with known index
cddrive.ccdErrorsproduce summary of all warnings, cautions, etc, on arbitrary io unit
cddrive.ccdExecTimeany routine can call this, find the time [s] since cdInit was called ) prints all input commands into file
cddrive.ccdGetCooling_lastroutine to query results and return cooling of last zone
cddrive.ccdGetDepth_depthget depth structure from previous iteration
cddrive.ccdGetHeating_lastroutine to query results and return heating of last zone
cddrive.ccdGetnZonegets number of zones
cddrive.ccdGetPressure_lastroutine to query results and return pressure of last zone
cddrive.ccdGetTemp_lastroutine to query results and return temperature of last zone
cddrive.ccdIonFracget ionization fractions for a constituent
cddrive.ccdLineget the predicted line intensity, also index for line in stack
cddrive.ccdLineListPunchcreate a file with a list of all emission lines punched, and their index within the emission line stack
cddrive.ccdLine_ipget the predicted line intensity, using index for line in stack
cddrive.ccdNoExeccall this routine to tell code not to actually execute
cddrive.ccdNotesprint stack of notes about current calculation
cddrive.ccdNwcnsget the number of cautions and warnings, to tell if calculation is ok
cddrive.ccdOutpredirect output to arbitrary Fortran unit number
cddrive.ccdPrtWLprint line wavelengths in Angstroms in the standard format - just a wrapper
cddrive.ccdReadroutine to read in command lines when cloudy used as subroutine
cddrive.ccdReasonGeowrte why the model stopped and type of geometry on io file
cddrive.ccdSurprisesprint out all surprises on arbitrary unit number
cddrive.ccdTalktells the code whether to print results or be silent
cddrive.ccdTempget mean electron temperature for any element
cddrive.ccdTimescalesreturns thermal, recombination, and H2 foramtion timescales
cddrive.ccdVersionproduces string that gives version number of the code
cddrive.ccdWarningswrite all warnings entered into comment stack
cddrive.cdebugLineprovides a debugging hook into the main line array
cdgetlinelist.ccdGetLineListroutine to read in master list of emission line wavelengths and ids, for generating loc grids, someday add cdGetNLRLineList
cdinit.ccdEXITexit handler to terminate calculation, called at end of calculation
cdinit.ccdInitroutine to initialize variables, called at start of calculation
cdspec.ccdSPECreturns the spectrum needed for Keith Arnaud's XSPEC
cdspec.cSpec_contcalled by cdSPEC to generate actual spectrum
cloudy.cBadStartannounce that things are so bad the calculation cannot even start
cloudy.ccloudythe main routine, this IS Cloudy, ret 0 normal exit, 1 error exit, called by maincl when used as standalone program
cont_createmesh.cChckFillperform sanity check confirming that the energy array has been properly filled
cont_createmesh.cContCreateMeshcalls fill to set up continuum energy mesh if first call, otherwise reset to original mesh
cont_createmesh.cfilldefine the continuum energy grid over a specified range
cont_createmesh.cread_continuum_meshread the continuum definition from the file continuum_mesh.dat
cont_createmesh.crfield_opac_mallocMALLOC space for opacity arrays
cont_createpointers.cContBandsCreate- read set of continuum bands to enter total emission into line stack
cont_createpointers.cContCreatePointersset up pointers for lines and continua called by cloudy after input read in and continuum mesh has been set
cont_createpointers.cfiddleadjust energy bounds of certain cells so that match ionization edges exactly
cont_createpointers.cipShellsassign continuum energy pointers to shells for all atoms, called by ContCreatePointers
cont_createpointers.cLimitShsets upper energy limit to subshell integrations
cont_ffun.cffunevaluate total flux for sum of all continuum sources
cont_ffun.cffun1derive flux at a specific energy, for one continuum
cont_ffun.cReadSB99called to work the table starburst command
cont_ffun.cReadTablecalled by TABLE READ to read in continuum from PUNCH TRANSMITTED CONTINUUM
cont_gammas.cGammaBnevaluate photoionization rate for single shell with induced recomb
cont_gammas.cGammaBnPLevaluate photoionization rate for single shell with induced recomb
cont_gammas.cGammaKevaluate photoionization rate for single shell
cont_gammas.cGammaPLevaluate photoionization rate for power law photo cross section
cont_gammas.cGammaPrtspecial version of gamma function to print strong contributors
cont_gammas.cGammaPrtRateprint photo rates for all shells of a ion and element
cont_gammas.cGammaPrtShellsfor the element nelem and ion, print total photo rate, subshells, and call GamaPrt for important subshells
cont_ipoint.cipContEnergygenerate unique pointer to energy within continuum array continuum energy in Rydbergs
cont_ipoint.cipFineContreturns array index within fine energy mesh
cont_ipoint.cipLineEnergygenerate unique pointer to line energy within energy mesh line energy in Rydbergs
cont_ipoint.cipointreturns pointer to any energy within energy mesh
cont_negative.cContNegativesanity check for negative continuum intensities
cont_pump.cContPumplocal continuum pumping rate radiative transfer for all lines
cont_pump.ccon_pump_op routine used to get continuum pumping of lines used in ContPump in call to qg32
cont_pump.cvfunapproximate form of Voit function
cont_setintensity.cconormnormalize continuum to proper intensity
cont_setintensity.cContSetIntensityderive intensity of incident continuum
cont_setintensity.cextindo extinction of incident continuum as set by extinguish command
cont_setintensity.cpintrintegrates L for any continuum between two limits, used for normalization
cont_setintensity.cptrcershow continuum pointers in real time following drive pointers command
cont_setintensity.cqintrintegrates Q for any continuum between two limits, used for normalization
cont_setintensity.csumconsums L and Q for net incident continuum
conv_base.cConvBasemain routine to drive ionization solution for all species, find total opacity called by ConvIoniz
conv_base.clgConvergcheck whether ionization of element nelem has converged
conv_eden_ioniz.cConvEdenIonizcalled by ConvTempIonz, calls ConvIoniz solving for eden
conv_eden_ioniz.clgConvEdenreturns true if electron density is converged
conv_fail.cConvFailhandle conergece failure
conv_init_solution.cConvInitSolutiondrive search for initial temperature, for illuminated face
conv_ioniz.cConvIonizcalled by ConvEdenIonz, it calls ConvBase until converged
conv_itercheck.cConvIterCheckcheck whether model has converged or whether more iterations are needed - implements the iter to converg comnd
conv_pres_temp_eden_ioniz.cConvFailhandle conergece failure
conv_pres_temp_eden_ioniz.cConvPresTempEdenIonizsolve for current pressure, calls PressureChange, ConvTempEdenIonize, called by cloudy
conv_temp_eden_ioniz.cConvTempEdenIonizdetermine temperature, called by ConPresTempEdenIoniz, calls ConvEdenIoniz to get electron density and ionization
conv_temp_eden_ioniz.cCoolHeatErrorevaluate ionization, and difference in heating and cooling, for temperature temp
conv_temp_eden_ioniz.clgConvTempreturns true if heating-cooling is converged
conv_temp_eden_ioniz.cMakeDerivderive numerical derivative of heating minus cooling
conv_temp_eden_ioniz.cPutHetColsave heating, cooling, and temperature in stack for numerical derivatives
cool_alum.cCoolAlumcompute aluminum cooling
cool_argo.cCoolArgocompute argon cooling
cool_calc.cCoolCalccompute calcium cooling
cool_carb.cCoolCarbevaluate total cooling due to carbon
cool_chlo.cCoolChlocompute chlorine cooling
cool_chro.cCoolChrocompute chromium cooling
cool_coba.cCoolCobacompute cobalt cooling
cool_dima.cColStrGBargenerate g-bar collision strengths for level 2 line2
cool_dima.cCoolDimacompute cooling due to level 2 lines
cool_etc.cCoolAddadd coolants to the cooling stack, called in evaluation of cooling function
cool_etc.cCoolSum total cooling from all entries into cooling stack
cool_etc.cCoolZeroset cooling and heating stack to zero
cool_eval.cCoolEvaluatemain routine to call others, to evaluate total cooling
cool_fluo.cCoolFluoevaluate total cooling due to fluorine
cool_iron.cCoolIroncompute iron cooling
cool_iron.cFe11Lev5compute populations and cooling due to 5 level Fe 11 ion
cool_iron.cFe13Lev5compute populations and cooling due to 5 level Fe 13 ion
cool_iron.cfe14cscompute collision strengths for forbidden transitions
cool_iron.cFe2_coolingcompute cooling due to FeII emission
cool_iron.cFe3Lev14compute populations and cooling due to 14 level Fe III ion
cool_iron.cFe4Lev12compute populations and cooling due to 12 level Fe IV ion
cool_iron.cFe7Lev8compute populations and cooling due to 8 level Fe VII ion
cool_iron.cFe_10_11_13_csevaluate collision stength for Fe
cool_magn.cCoolMagncompute magnesium cooling
cool_mang.cCoolMangcompute manganese cooling
cool_neon.cCoolNeonevaluate total cooling due to neon
cool_nick.cCoolNickcompute nickel cooling
cool_nitr.cCoolNitrevaluate total cooling due to nitrogen
cool_oxyg.cCoolOxygevaluate total cooling due to oxygen
cool_phos.cCoolPhoscompute phosphorus cooling
cool_pota.cCoolPotacompute potassium cooling
cool_pr.ccoolprstores coolants before block printed, when printing cooling agents
cool_punch.cCoolPunchpunch coolants
cool_scan.cCoolScancompute scandium cooling
cool_sili.cCoolSilicompute silicon cooling
cool_sodi.cCoolSodicompute sodium cooling
cool_sulf.cCoolSulfcompute sulphur cooling
cool_sulf.cS2cscompute [CoolHeavy] collision strengths compute collision strengths for [SII] transitions w/in S II ground term. From >>refer s2 cs Ramsbottom, C.A., Bell, K.L., Stafford, R.P. 1996, At. Data Nucl. Data Tables, 63, 57
cool_tita.cCoolTitacompute titanium cooling
cool_vana.cCoolVanacompute vanadium cooling
cool_zinc.cCoolZinccompute zinc cooling
dynamics.cDynaCreateArraysallocate some space needed to save the dynamics structure variables, called from DynaCreateArrays
dynamics.cDynaEndItercalled at end of iteration when advection is turned on
dynamics.cDynaEndZonecalled at end of zone calculation when advection is turned on
dynamics.cDynaIonize called from ionize to evaluate advective terms for current conditions
dynamics.cDynaPresChngFactor called from PressureChange to evaluate new density needed for current conditions and wind solution, returns ratio of new to old density
dynamics.cDynaPrtZone- called to print zone results
dynamics.cDynaPunch punch output for dynamics solutions
dynamics.cDynaPunchpunch info related to advection
dynamics.cDynaStartZonecalled at start of zone calculation when advection is turned on
dynamics.cDynaZerozero some dynamics variables, called from zero.c
fabden.cfabdencalled by dlaw command, returns density for any density law
grains.cgrainmain routine to converge grains thermal solution
grains_qheat.cGrainMakeDiffusemain routine for generating the grain diffuse emission, called by RT_diffuse
heat_punch.cHeatPunchpunch contributors to local heating, with punch heat command, called by punch_do
heat_sum.cHeatSumevaluate heating and secondary ionization for current conditions
heat_sum.cHeatZerois called by ConvBase
helike.cAGN_He1_CSroutine to punch table needed for AGN3 - collision strengths of HeI
helike.cContinuumLowering- limit max prin. quan. no. due to continuum lowering processes
helike.cdefect- calculate quantum defect.
helike.cHeCreatecreate he-like series, called by ContCreatePointers
helike.che_assign- assigns quantum numbers and indices to iso.quant_desig and QuantumNumbers2Index, respectively
helike.che_energy- calculates energy of a given level.
helike.cprintstuff- in helike.h, printflag determines what will be printed.
helike.cprt_He_like_DeparCoefroutine to print departure coefficients for he-like species
helike.cprt_He_like_Popsroutine to print level populations for he-like species
helike_cs.cAtomCSInterpdo the atom
helike_cs.cCS_l_mixing_PS64- find rate for l-mixing collisions by protons, for neutrals
helike_cs.cHeCollidevaluate collisional rates
helike_cs.cHeCSInterpinterpolate on He1 collision strengths
helike_cs.cIonCSInterpdo the ions
helike_einsta.cAngerJ- used by scqdri
helike_einsta.cDoFSMixing- applies a fine structure mixing approximation to A's. To be replaced by method that treats the entire rate matrix.
helike_einsta.cForbiddenAulscalculates transition probabilities for forbidden transitions.
helike_einsta.che_1transcompute Aul for given line
helike_einsta.cJint- used by scqdri
helike_einsta.critoa- converts the square of the radial integral for a transition (calculated by scqdri) to the transition probability, Aul.
helike_einsta.cscqdri- stands for Semi-Classical Quantum Defect Radial Integral
helike_level.cHeLikeErrorfills uncertainty arrays
helike_level.cHeLikeLevellevel populations
helike_recom.ccross_section- calculates the photoionization cross_section for a given level and photon energy
helike_recom.cHelikeCheckRecomb- called by SanityCheck to confirm that recombination coef are ok, return value is relative error between new calculation of recom, and interp value
helike_recom.cHeRecom- do recomb coef for He, called by HeLike
helike_recom.cHe_cross_sectionreturns cross section (cm^-2), given EgammaRyd, the photon energy in Ryd, ipLevel, the index of the level, 0 is ground, 3 within 2 3P, nelem is charge, equal to 1 for Helium this is a wrapper for cross_section
helike_recom.cHe_RRCoef_Teevaluated radiative recombination coef at some temperature
helike_recom.cradrecomb- calculates radiative recombination coefficients.
helike_recom.cRecomb_Seaton59- find recombination for given n,using Seaton 59 approximation. The following three are needed by Recomb_Seaton59: ExponentialInt X1Int X2Int
helike_recom.cRecomInt- Integral in milne relation. Called by qg32.
highen.chighendo high energy radiation field - gas interaction, Compton scattering, etc
hydrobranch.cHydroBranchcompute branching ratios for Jason Ferguson's model hydrogen atom
hydrocollid.cC6cs123line collision rates for lower levels of hydrogenic carbon, n=1,2,3
hydrocollid.cCa20cs123line collision rates for lower levels of hydrogenic calcium, n=1,2,3
hydrocollid.cFe26cs123line collision rates for lower levels of hydrogenic iron, n=1,2,3
hydrocollid.cH1cs123hydrogen collision data levels involving 1s,2s,2p,3.
hydrocollid.cHCSAR_interpinterpolate on collision strengths
hydrocollid.cHe2cs123line collision strengths for lower levels of helium ion, n=1,2,3, by K Korista
hydrocollid.cHydcs123Hydrogenic de-excitation collision rates n=1,2,3
hydrocollid.cHydroCollidevaluate collision rate for model hydrogen atom
hydrocollid.cNe10cs123line collision rates for lower levels of hydrogenic neon, n=1,2,3
hydroeinsta.cHydroEinstAcalculates Einstein A's from osillator strengths
hydrogenic.cHydrogenicmain routine to call HydroLevel and determine model hydrogen atom level balance
hydrogenic.cHydroRenorm- renormalize H so that it agrees with the chemistry
hydrolevel.cHydroLevelcalls HydroLevelPop or HydroT2Low to solve for ionization balance and level populations of model hydrogen atom
hydrolevel.cPrtHydroTrace1print trace info for hydrogen-like species
hydrolevelpop.cHydroLevelPopsolve for ionization balance level populations of model hydrogen atom
hydrooscilstr.cHydroOscilStrcomputes hydrogenic oscillator strengths, used in the function hdexct.
hydroreccool.cHydroRecCoolhydrogen recombination cooling, called by iso_cool
hydrorecom.cHydroRecomphotoionization, recombination, radiative rates for model hydrogen atom
hydrot2low.cHydroT2Lowcalled to do hydrogenic level populations when temp too low for matrix, forces total of level populations to add up to iso.xIonSimple[ipH_LIKE][nelem], so results of this routine will always agree with that value
hydro_bauman.c In this version, quantites that would normal cause a 64-bit floating point processor
hydro_bauman.c( or is it precision ). We use LOG_10 for convenience.
hydro_bauman.chvcalculates photon energy in ergs for n -> n' transitions for H and H-like ions
hydro_bauman.cH_Einstein_A_lincalculates Einstein A for any nlz
hydro_bauman.cH_photo_cs_linreturns hydrogenic photoionization cross section in cm-2
hydro_bauman.cotherversion begins to fail. The trade-off is, of course, lower accuracy
hydro_bauman.cThisallows us to use an upper principle quantum number `n' greater than which the
hydro_bauman.ctoeither underflow or overflow are evaluated using logs instead of floating point math.
hydro_vs_rates.cHion_colldeexc_cscollision strength for collisional de-excitation for any levels of hydrogenic Z
hydro_vs_rates.cHion_coll_ioniz_ratecoefcalculate hydrogenic ionization rates for ions with all n, and Z
hydro_vs_rates.chydro_vs_deexcitcompute collision strength for collisional deexcitation for hydrogen atom, from >>refer H1 collision Vriens, L., & Smeets, A.H.M. 1980, Phys Rev A 22, 940 hydro_vs_ioniz generate hydrogenic collisional ionization rate coefficients for quantum number n
hypho.chypho- create hydrogenic photoionization cross sections
input_init.cinput_initinitial input_readarray array for storing line images at start of calculation line image is up and low case
ion_alumi.cIonAlumiionization balance for aluminum
ion_argon.cIonArgoncompute ionization balance of argon
ion_beryl.cIonBerylionization balance for beryllium
ion_boron.cIonBoronionization balance for boron
ion_calci.cIonCalciperform ionization balance for calcium
ion_carbo.cIonCarbocompute ionization balance for carbon
ion_chlor.cIonChlorionization balance for chlorine
ion_chrom.cIonChromdo ionization balance for chromium
ion_cobal.cIonCobaldo ionization balance for cobalt
ion_collis.cion_collisfill in collisional ionization rates, and resulting cooling
ion_coppe.cIonCoppedo ionization balance for copper The testing can be commented out
ion_DR_Badnell.c init < 0 or init >302 or final < 0 or final > 302
ion_DR_Badnell.c '-1': the transition is not defined
ion_DR_Badnell.c '-2': initial <= final
ion_DR_Badnell.c '99': unknown invalid entries
ion_DR_Badnell.c It returns
ion_fluor.cIonFluorcompute ionization balance for fluorine
ion_helium.cIonHeliumsolve ionization balance for helium
ion_iron.cIonIronionization balance for iron
ion_lithi.cIonLithicompute ionization balance for lithium
ion_magne.cIonMagneionization balance for magnesium
ion_manga.cIonMangaderive ionization balance for manganese
ion_neon.cIonNeonionization balance for neon
ion_nicke.cIonNickeionization balance for nickel
ion_nitro.cIonNitroionization balance for nitrogen
ion_oxyge.cIonOxygederive ionization balance for oxygen
ion_phosi.cIonPhosiderive ionization balance for phosphorus
ion_photo.cion_photofill array PhotoRate with photoionization rates for heavy elements
ion_potas.cIonPotascompute ionization equilibrium for Potassium
ion_recomb.cion_recombgenerate recombination coefficients for any species
ion_recomb.cion_recombAGNgenerate recombination coefficients for AGN table
ion_recomb.clint-e817 pclint generates tons of bogus nelem < 0 warnings
ion_scand.cIonScanddo ionization balance for scandium
ion_silic.cIonSilicdetermine ionization balance of Silicon
ion_sodiu.cIonSodiuionization balance for sodium
ion_solver.cion_solversolve the bi-diagonal matrix for ionization balance
ion_sulph.cIonSulphcompute ionization balance for sulphur
ion_titan.cIonTitandetermine ionization balance for titanium
ion_trim.cion_trimraise or lower most extreme stages of ionization considered, called by ConvBase - ion limits were originally set by
ion_vanad.cIonVanaddo ionization balance for vanadium
ion_zero.cion_zerozero out heating save arrays
ion_zinc.cIonZincionization balance for zinc
iso_cool.ciso_coolcompute net cooling due to hydrogenc atom species, ground state photoionization of hydrogenic species done in sumheat
iso_create.ciso_createcreate data for hydrogen and helium, 1 per coreload, called by ContCreatePointers in turn called after commands parsed
iso_create.ciso_zerozero data for hydrogen and helium
iso_ionize_recombine.cChargeTransferUpdateupdate rate of ct ionization and recombination for H atoms
iso_ionize_recombine.ciso_ionize_recombinefind state specific creation and destruction rates for iso sequences
iso_photo.ciso_photodo photoionization rates for element nelem on the ipISO isoelectronic sequence
iter_end_chk.citer_end_checkafter each zone by Cloudy, determines whether model is complete
iter_startend.cIterRestartrestart iteration
iter_startend.cIterStartset and save values of many variables at start of iteration
lines_service.cabscfconvert gf into absorption coefficient
lines_service.cchIonLbluse information in line array to generate a null terminated ion label in "Fe 2"
lines_service.cchLineLbluse information in line transfer arrays to generate a line label
lines_service.cDumpLineprint various information about an emission line vector, used in debugging, print to std out, ioQQQ
lines_service.ceinaconvert a gf into an Einstein A
lines_service.cemit_fracreturns fraction of populations the produce emission
lines_service.cEmLineJunkset all elements of EmLine struc to dangerous values
lines_service.cEmLineZeroset all elements of EmLine struc to zero
lines_service.cFndLineHtsearch through line heat arrays to find the strongest heat source
lines_service.cgbar0compute g-bar gaunt factor for neutrals
lines_service.cgbar1compute g-bar collision strength using Mewe approximations
lines_service.cGetGFconvert Einstein A into oscillator strength
lines_service.cHLineTransOpacSetdefinecurrent transition probabilities and opacities for H lines
lines_service.clgTauGoodreturns true is we have not overrun optical depth scale
lines_service.clinaddenter lines into the line storage array, called once per zone
lines_service.clindstadd local line intensity to line luminosity stack
lines_service.cLineConvRate2CSconvert down coll rate back into electron cs in case other parts of code need this for reference
lines_service.cMakeCScompute collision strength by g-bar approximations
lines_service.cOccupationNumberLine- derive the photon occupation number at line center for any line
lines_service.coutline- adds line photons to reflin and outlin
lines_service.cPntForLinegenerate pointer for forbidden line
lines_service.cPutCSenter a collision strength into an individual line vector
lines_service.cPutExtraenter and 'extra' intensity source for some line
lines_service.cPutLineenter local line intensity into the intensity stack for eventual printout
lines_service.cRefIndexcalculates the index of refraction of air using the line energy in wavenumbers, used to convert vacuum wavelengths to air wavelengths.
lines_service.cTexcLinederive excitation temperature of line from contents of line array
lines_service.ctotlinsum total intensity of cooling, recombination, or intensity lines
lines_service.cWavlenErrorGet- find difference between two wavelengths
magnetic.cMagnetic_evaluateevaluate some parameters to do with magnetic field
magnetic.cMagnetic_initinitialize magnetic field parameters
magnetic.cMagnetic_reinit- reinitialized magnetic field at start of new iteration
magnetic.cParseMagnetparse magnetic field command
maincl.cmainprogram that reads input and calls cloudy to compute a single model, or try to optimize an observed model. Routine returns 0 if model is ok, and 1 if problems occurred.
map.cmap_doproduce map of heating-cooling space for specified zone, called as result of map command
math_complex.ccmabsdp complex absolute value
math_complex.ccmaddretn the sum of two dp complex nos.
math_complex.ccmdivretn the quotient of two dp complex nos.
math_complex.ccmexpdp complex exponential
math_complex.ccmmulretn the product of two dp complex nos.
math_complex.ccmnegdp complex unary minus operation
math_complex.ccmsubretn the difference of two dp complex nos.
math_complex.cftocmconvert floats to dp complex
mean.cavercompute average of various quantities over the computed geometry called by startenditer to initialize, radinc to increment, and prtfinal for final results
mean.cMeanIncincrement mean ionization fractions and temperatures over computed structure, in radius_increment
mean.cMeanIonRadiusdo radius mean ionization fractions or temperature over radius for any element
mean.cMeanIonVolumedo volume mean ionization fractions or temperature over volume for any element
mean.cMeanZerozero mean of ionization fractions array
molcol.cmolcolgenerate and print molecular column densities
mole_co_atom.ccdCO_coldenreturn column density in H2, negative -1 if cannot find state, header is cddrive
mole_co_atom.cCO_PopsEmisCoolevaluate rotation levels populations, emission, and cooling
mole_co_drive.cCO_drive- public routine, calls CO_solve to converge molecules
mole_co_drive.clgMolecAveraverage old and new molecular equilibrium balance from CO_solve
mole_co_ele_recomb.cCO_ele_recomb() contains all heavy element reactions with electrons
mole_co_etc.cCO_Initcalled from cdInit to initialized co routines
mole_co_etc.cCO_update_chem_ratesupdate rate coefficients, only temp part - in mole_co_etc.c
mole_co_gas_grain.cCO_gasgraindefines matrix elements for gas-grain chemistry of heavy element molecules
mole_co_hyd_he.cCO_stepfills in matrix for heavy elements molecular routines
mole_co_monox.cCO_stepfills in matrix for heavy elements molecular routines
mole_co_photo.cCO_photofills in matrix elements for heavy element photon and cosmic ray processes
mole_co_rates.cCO_ratescalculates all the rates for coupled reactions in the heavy element network.
mole_co_solve.cCO_stepfills in matrix for heavy elements molecular routines
mole_co_step.cCO_stepfills in matrix for heavy elements molecular routines
mole_h2.ccdH2_coldenreturn column density in H2, negative -1 if cannot find state, header is cddrive
mole_h2.cH2_Accelradiative acceleration due to H2
mole_h2.cH2_Coldenmaintain H2 column densities within X
mole_h2.cH2_collid_rates- set H2 collision rates
mole_h2.cH2_ContPointset the ipCont struc element for the H2 molecule, called by ContCreatePointers
mole_h2.cH2_coolingevaluate cooling and heating due to H2 molecule
mole_h2.cH2_DRchoose next zone thickness based on H2 big molecule
mole_h2.cH2_InterEnergyinternal energy of H2 called in PresTotCurrent
mole_h2.cH2_itrzn- average number of H2 pop evaluations per zone
mole_h2.cH2_LevelPopsdo level H2_populations for H2, called by Hydrogenic
mole_h2.cH2_Level_low_matrixevaluate CO rotation cooling
mole_h2.cH2_LineZeroinitialize optical depths in H2, called from RT_tau_init
mole_h2.cH2_RadPressrad pre due to h2 lines called in PresTotCurrent
mole_h2.cH2_RTMakedo RT for H2 - called from RT_line_all
mole_h2.cH2_RT_diffusedo emission from H2 - called from RT_diffuse
mole_h2.cH2_RT_tau_incincrement optical depth for the H2 molecule, called from RT_tau_inc
mole_h2.cH2_RT_tau_resetthe large H2 molecule, called from RT_tau_reset
mole_h2.cH2_X_coll_rate_evaluatefind collisional rates within X
mole_h2.cturnthis flag on to do minimal debug print of pops
mole_h2_create.cH2_Createcreate variables for the H2 molecule, called by ContCreatePointers after continuum mesh has been set up
mole_h2_etc.cH2_gs_ratesevaluate rates between ground and star states of H2 for use in chemistry
mole_h2_etc.cH2_init- called to initialize things from cdInit
mole_h2_etc.cH2_Solomon_ratefind rates between H2s and H2g and other levels, for eventual use in the chemistry
mole_h2_etc.cH2_Zerozero out vars in the large H2 molecule, called from zero before any commands are parsed
mole_h2_etc.cH2_zero_pops_too_low- zero out some H2 variables if we decide not to compute the full sim, called by H2_LevelPops
mole_h2_etc.cmole_H2_LTEsets Boltzmann factors and LTE unit population of large H2 molecular
mole_h2_form.cmole_H2_formfind state specific rates grains and H- form H2
mole_h2_io.c cdH2_Line returns 1 if we found the line, or FALSE==0 if we did not find the line because ohoto-para transition or upper level has lower energy than lower level
mole_h2_io.cchMolBranchreturns a char with the spectroscopic branch of a transition
mole_h2_io.cH2_LinesAddadd in explicit lines from the large H2 molecule, called by lines_molecules
mole_h2_io.cH2_ParsePunchparse the punch h2 command
mole_h2_io.cH2_ParsePunchparse the punch h2 command
mole_h2_io.cH2_Prt_column_densityprint H2 info into zone results, called from prtzone for each printed zone
mole_h2_io.cH2_Prt_line_tauprint line optical depths, called from premet in response to print line optical depths command
mole_h2_io.cH2_Prt_Zoneprint H2 info into zone results, called from prtzone for each printed zone
mole_h2_io.cH2_PunchDopunch some properties of the large H2 molecule
mole_h2_io.cH2_PunchLineStuffinclude H2 lines in punched optical depths, etc, called from PunchLineStuff
mole_h2_io.cH2_Punch_line_datapunch line data for H2 molecule
mole_h2_io.cH2_ReadCollRatesread collision rates
mole_h2_io.cH2_ReadDissprobread dissociation probabilities and kinetic energies for all electronic levels
mole_h2_io.cH2_ReadEnergiesread energies for all electronic levels
mole_h2_io.cH2_ReadTransprobread transition probabilities
mole_h2_io.cH2_Read_hminus_distributionread distribution function for H2 population following formation from H minus
mole_h_drive.chmoledetermine populations of hydrogen molecules
mole_h_drive.chmole_init- initialize some hmole vars
mole_h_drive.chmole_olddetermine populations of hydrogen molecules
mole_h_drive.chmole_reactionsupdate hmole reactions
mole_h_step.c>> chng 02 nov 7 rjrw, Mole Moreliano: changes to linearized iterative form
mole_h_step.caboutgenerating the in and out vectors from a text string, e.g. "H +
mole_h_step.candnext to switch on the prints in the matrix assembly which apply to
mole_h_step.cfromRobin Williams:
mole_h_step.cH=> H2" ;-), but you'd have to verify uniqueness).
mole_h_step.chmiratcompute radiative association rate for H-
mole_h_step.chmole_stepdo a step in chemical network
mole_h_step.ckindof naming scheme for the reactions may come in handy (I'd thought
mole_h_step.clint-e778 const express eval to 0
mole_h_step.cofa pain grepping down to find the 47th reaction, so I guess some
mole_h_step.cswitchprintsol on to check which terms in the chemical matrix change,
mole_h_step.cTheprocess for these kind of problems seems to be pretty uniform:
mole_h_step.cthespecies involved to find what reactions are involved. It's a bit
opacity_add1element.cOpacityAdd1Elemententer total photo cross section for all subshells into opacity array
opacity_add1subshell.cOpacityAdd1Subshelladd opacity due to single shell to main opacity array
opacity_add1subshell.cOpacityAdd1SubshellInducadd opacity of individual species, including stimulated emission
opacity_addtotal.cOpacityAddTotalderive total opacity for this position, called by ConvBase
opacity_createall.chmiopcderive total H- H minus opacity
opacity_createall.cOpacityCreate1Elementgenerate ionic subshell opacities by calling atmdat_phfit
opacity_createall.cOpacityCreateAllcompute initial set of opacities for all species
opacity_createall.cOpacityValenceRescaleroutine to rescale non-OP valence shell cross sections
opacity_createall.cOpacity_iso_photo_csreturns photoionization cross section for isoelectronic sequences
opacity_createall.copacity_more_memoryallocate more memory for opacity stack
opacity_createall.craylehcompute Rayleigh scattering cross section for Lya
opacity_createall.cYan_H2_CS- cross sections for the photoionization of H2 NB NB NB NB NB NB NB NB NB NB NB NB NB NB everything set here must be written to the opacity store files
opacity_zero.cOpacityZerozero out opacity save arrays, save old opacity in OldOpacSave array
optimize_amoeba.coptimize_amoebaroutine for optimizing model parameters
optimize_do.coptimize_domain driver for optimization runs
optimize_func.coptimize_funcactual function called during evaluation of optimization run
optimize_phymir.coptimize_phymirPeter van Hoof's optimization routine
optimize_powell.coptimize_powell- spectrum minimization routine - logic closely based on routine in Press et al, but totally recoded to be redistributable
parse_absmag.cParseAbsMagparse the absolute magnitude command
parse_abundances.cParseAbundancesparse and read in composition as set by abundances command
parse_age.cParseAgeparse parameters off the age command
parse_agn.cParseAgnparse parameters for the AGN continuum shape command
parse_atomco.cParseAtomCOparse information from the rotor command line
parse_atomh2.cParseAtomH2parse information from the atom command line
parse_atomhelike.cParseAtomHeLikeparse parameters off the helium command
parse_atomhlike.cParseAtomHLikeparse information from the atom h-like command line
parse_backgrd.cParseBackgrdparse options for the BACKGROUND command - this actually enters two continua
parse_blackbody.cParseBlackbodyparse parameters off black body command
parse_CMB.cParseCMBparse parameters from fireball command
parse_commands.cParseCommandsmain command line parser, decode command, then call other routines to read
parse_compile.cParseCompilecompile werner or kurucz model atmospheres into cloudy format, originallly by K Volk, also compile opacity and grains
parse_constant.cParseConstantparse parameters from the 'constant ...' command
parse_coronal.cParseCoronalparse parameters off coronal equilibrium command
parse_cosmic_rays.cParseCosmicRaysparse the cosmic rays command
parse_crashdo.cParseCrashDoany of several tests to check that the code can crash
parse_dlaw.cParseDLawparse parameters on the dlaw command
parse_dont.cParseDontparse the dont command - do not do something
parse_drivecmnd.cdgauntdrive gaunt factor routines by letting user query values
parse_drivecmnd.cDrvCaseBHSallow user to query hydrogen A's, asks for up, low level, gives A, drive hyas
parse_drivecmnd.cDrvHyasallow user to query hydrogen A's, asks for up, low level, gives A, drive hyas
parse_drivecmnd.cParseDriveCmndparse the drive command - drive calls to various subs
parse_element.cParseElementparse options on element command
parse_fluc.cParseFlucparse the fluctuations command, which affects either density or abundances
parse_f_nu.cParseF_nuparse intensity command parameters
parse_globule.cParseGlobuleparse parameters off the globule command
parse_grain.cParseGrainparse parameters on grains command
parse_hden.cParseHDENparse the hden command
parse_init.cParseInitbring an initialization file into input stream before parse
parse_interp.cParseInterpparse parameters on interpolate command
parse_ionpar.cParseIonParparse the ionization parameter command
parse_map.cParseMapparse map command to produce map of heating and cooling, map is produced by calling punt(" map")
parse_metal.cParseMetalparse parameters on metal command
parse_norm.cParseNormparse parameters on the normalize command
parse_optimize.cGetOptColDenread observed column densities & errors for optimizer
parse_optimize.cGetOptLineIntparse observed line intensites for optimization routines
parse_optimize.cGetOptTempread observed temperatures & errors for optimizer
parse_optimize.cParseOptimizeparse the optimize command line
parse_plot.cParsePlotparse the plot command
parse_plot.cParsePlotRangeOptionparse range from plot command
parse_powerlawcontinuum.cParsePowerlawContinuumparse the power law continuum command
parse_print.cParsePrintparse the print command
parse_print.cprt_constantsprint physical constants
parse_punch.cChkUnitscheck for keyword UNITS on line, then scan wavelength or energy units if present
parse_punch.cClosePunchFilesclose all punch files
parse_punch.cParsePunchparse the punch command
parse_punch.cPunchFilesInitinitialize punch file pointers, called from cdInit
parse_radius.cParseRadiusparse the radius command
parse_rangeoption.cParseRangeOptionparse the range option on the luminosity command
parse_ratio.cParseRatioderive continuum luminosity of this continuum relative to previous
parse_set.cParseSetscan parameters off SET command
parse_sphere.cParseSphereparse parameters on sphere command
parse_stop.cParseStopparse the stop command
parse_table.clines_tableenvoked by table lines command, check if we can find all lines in a given list
parse_table.cParseTableparse the table read command
parse_table.cread_hm05read in the data files and interpolate the continuum to the correct redshift
parse_tlaw.cParseTLawparse parameters on the tlaw command to set temperature as function of depth, currently only does Bertoldi & Draine simple T law
parse_trace.cParseTraceread in options off the trace command line
plot.cplotmaster routine to generate some sort of plot
pressure_change.clgConvPresfinds amount by which density should change to move towards pressure equilibrium returns true if pressure is converged
pressure_change.cPressureChangecalled by ConvPresTempEdenIoniz evaluate the current pressure, change needed to get it to converge, the global static variable pressure_change_factor aplies this correction factor to all gas constituents, sets conv.lgConvPres true if good pressure, false if pressure change capped
pressure_total.cPresTotCurrentdetermine the gas and line radiation pressures for current conditions, this sets values of pressure.PresTotlCurr, also calls tfidle
prt.cprt_LineLabelspunch all labels and wavelengths for emission line array
prt.cprt_wl- print floating wavelength in Angstroms, in output format
prt.csprt_wlwrite wavelength to string - must be kept parallel with prt_wl
prt_alltau.cPrtAllTaumaster routine controlling printout of optical depths at end of calculation
prt_columns.cPrtColumnsprint column densities of all elements
prt_comment.cbadprtprint out coolants if energy not conserved
prt_comment.cchkCaHepscheck whether CaII K and H epsilon overlap
prt_comment.coutsumsum outward continuum beams
prt_comment.cPrtCommentanalyze model, generating comments on its features
prt_comment.cprt_smooth_predictionscheck whether fluctuations in any predicted quantities occurred
prt_continuum.cPrtContinuumprint information about continuum if requested with PRINT CONTINUUM command, called by PrtFinal
prt_final.cgett2analyze computed structure to get structural t^2
prt_final.cgett2o3analyze computed [OIII] spectrum to get t^2
prt_final.cPrtFinalcreate PrtFinal pages of printout, emission line intensities, etc
prt_final.cStuffCommentroutine to stuff comments into the stack of comments, def in lines.h
prt_header.cPrtHeaderprint program's header, including luminosities and ionization parameters
prt_linepres.cPrtLinePresprint line radiation pressures for current conditions
prt_lines.cDrive_cdLinedo the drive cdLine command
prt_lines.clinesmain routine to put emission line intensities into line stack, calls lineset1, 2, 3, 4
prt_linesum.cPrtLineSumparse print line sum command to enter set of lines into sum
prt_lines_continuum.clines_continuumput energetics, H, and He lines into line intensity stack
prt_lines_general.cGetMaxhLinefind the strongest heating line
prt_lines_general.clines_generalput general information and energetics into line intensity stack
prt_lines_grains.clines_hydroput H-iso seq into line intensity stack
prt_lines_helium.clines_heliumput energetics, H, and He lines into line intensity stack
prt_lines_helium.cTempInterpinterpolates on a grid of values to produce predicted value at current Te.
prt_lines_hydro.clines_hydroput H-iso seq into line intensity stack
prt_lines_lv1_k_zn.clines_lv1_k_znplace lines of elements potatium and heavier into lines storage stack
prt_lines_lv1_li_ne.clines_lv1_li_neplace lines of elements lithium through neon into lines storage stack n_ion for C, N, or O recombination lines from Dima's list, also zero's line in master stack so not entered second time in later dump of all rec lines
prt_lines_lv1_na_ar.clines_lv1_na_arplace lines of elements sodium through argon into lines storage stack
prt_lines_molecules.clines_moleculesput energetics, H, and He lines into line intensity stack
prt_meanion.cPrtMeanIonprint mean ionization fractions or temperatures for all elements
prt_met.cprtmetprint all line optical depths at end of iteration
prt_zone.cPrtZoneprint out individual zone results
prt_zone.cprt_H_like_DeparCoefprint out hydrogenic populations
prt_zone.cprt_H_like_Popsprint out hydrogenic populations
punch_do.cpun1Linecalled by PunchLineStuff to produce output for one line
punch_do.cpunchh emiss, for chapt 4, routine is below
punch_do.cPunchDoproduce punch output during calculation, chTime is 'MIDL' during calculation, 'LAST' at the end
punch_do.cPunchGauntscalled by punch gaunts command to output gaunt factors
punch_do.cPunchLineStuffpunch optical depths or source functions for all transferred lines
punch_do.cPunchNewContinuumproduce the 'punch new continuum' output
punch_do.cPunchNewContinuumproduce the 'punch new continuum' output
punch_do.cPunchSpecialgenerate output for the punch special command
punch_do.cPunLineIntensityproduce the 'punch lines intensity' output
punch_do.cpunResultspunch results from punch results command
punch_do.cPunResults1Linedo single line of output for the punch results and punch line intensity commands
punch_do.cPunResults1Linedo single line of output for the punch results and punch line intensity commands
punch_do.cthenumber of emission lines across one line of printout
punch_line.cpunch_lineparse punch lines command, or actually do the punch lines output
punch_line.cPunch_Line_RTparse the punch line rt command - read in a set of lines
punch_linedata.cPunch1LineDatapunch data for one line
punch_linedata.cPunchLineDatapunches selected line data for all lines transferred in code
punch_opacity.cpunch_opacitypunch total opacity in any element, punch opacity command
punch_special.cPunchSpecialgenerate output for the punch special command
radius_first.cradius.drad
radius_first.cradius.drad_x_fillfac
radius_first.cradius_firstderive thickness of first zone, called after conditions in first zone are established, sets
radius_increment.cpnegopcpunch negative opacities on io unit, iff 'set negopc' command was given
radius_increment.cradius_incrementdo work associated with geometry increments of this zone, called before RT_tau_inc
radius_next.cContRatecalled by radius_next to find energy of maximum continuum-gas interaction
radius_next.cGrainRateDrcalled by radius_next to find grain heating rate dr
radius_next.cradius_nextuse adaptive logic to find next zone thickness
radius_next.cTODO2 - this routine is very important since it sets the pace for the calculation, and directly affects the convergence of the code. Most of the logic is very old and messy. 1) make sure all test cases have punch dr 2) cat all these reasons together into one file and sort on the reason 3) discover what logic is the main pacesetter for the code 4) which are never triggered and so can be removed
rt_continuum_shield_fcn.cconpmplocal continuum pumping rate radiative transfer for all lines
rt_continuum_shield_fcn.cconpmplocal continuum pumping rate radiative transfer for all lines
rt_continuum_shield_fcn.crt_continuum_shield_fcncomputing continuum shielding due to single line
rt_continuum_shield_fcn.cvfunvoit function helper routine
rt_diffuse.cRT_diffuseevaluate local diffuse emission for this zone, fill in ConEmitLocal array with diffuse emission, OTS rates for this zone were set in RT_OTS, called by Cloudy, this routine adds energy to the outward beam
rt_escprob.cesca0k2derive Hummer's K2 escape probability for Doppler core only
rt_escprob.cesc_CRDcoreescape probability for CRD with no wings
rt_escprob.cesc_CRDwingescape probability for CRD with wings
rt_escprob.cesc_CRDwing_1sidefundamental escape probability radiative transfer routine, for complete redistribution
rt_escprob.cesc_PRDescape probability radiative transfer for incomplete redistribution
rt_escprob.cesc_PRD_1sidefundamental escape probability radiative transfer routine for incomplete redistribution
rt_escprob.cRTesc_lyaescape prob for hydrogen atom Lya, using Hummer and Kunasz results, called by hydropesc
rt_escprob.cRT_DestProbreturns line destruction probability due to continuum opacity
rt_escprob.cRT_LineWidthdetermine half width of any line with known optical depths
rt_line_all.cRT_line_alldo escape and destruction probs for all lines in code. Called with FALSE arg by ionize, to only redo destruction probabilites, and with TRUE by cloudy to do both escape and destruction
rt_line_driving.cRT_line_drivingderive radiative acceleration due to line absorption of incident continuum
rt_line_one.cRT_line_staticdo line radiative transfer for static geometry, evaluates escape and destruction probability, called by HydroPEsc, RT_line_all
rt_line_one.cRT_line_winddo line radiative transfer for wind geometry
rt_line_one_tauinc.cRT_line_one_tauincincrement optical depths for all heavy element lines, zone by zone, mainly called by RT_tau_inc, but also by FeII
rt_line_one_tau_reset.cRT_line_one_tau_resetcomputes average of old and new optical depths for new scale at end of iter, called by update, also FeIILevelPops
rt_ots.cRT_OTScompute diffuse fields due to H, He atoms, ion, triplets, metal recombination, called by ConvBase
rt_ots.cRT_OTS_AddContadd local destruction of continuum to ots field
rt_ots.cRT_OTS_AddLineadd local destruction of lines to ots field
rt_ots.cRT_OTS_ChkSumsanity check confirms summed continua reflect contents of individuals
rt_ots.cRT_OTS_Updatesum flux, otscon, otslin, ConInterOut, outlin, to form SummeDif, SummedCon SummedOcc
rt_ots.cRT_OTS_Zero- zero out some vectors - this is only called when code initialized by ContSetIntensity
rt_radiative_acceleration.cRT_radiative_accelerationradiative acceleration due to incident continuum, calls rt_line_driving for lines
rt_recom_effic.cRT_recom_efficgenerate escape probability function for continua,
rt_stark.cRT_starkcompute stark broadening escape probabilities using Puetter formalism
rt_tau_inc.cRT_tau_incincrement optical depths once per zone, called after radius_increment
rt_tau_init.cRT_tau_initset initial outward optical depths at start of first iteration, it is only called by cloudy one time per complete calculation, just after continuum set up and before start of convergence attempts. RT_tau_reset after first iteration, updates the optical depths, mirroring this routine but with the previous iteration's variables
rt_tau_reset.cRT_tau_resetafter first iteration, updates the optical depths, mirroring this routine but with the previous iteration's variables
sanity_check.cSanityCheck check that various parts of the code still work, called by Cloudy after continuum and optical depth arrays are set up, but before initial temperature and ionization
service.cAnuUnitproduce continuum energy in arbitrary units
service.cBadMallocannounce memory allocation failure - put breakpoint here to find where
service.cBadOpengeneral error handler for trying to open file, but failing
service.cBadReadgeneral error handler for trying to read data, but failing
service.cbrokenset flag saying that the code is broken,
service.ccap4convert first 4 char of input line chLab into chCAP all in caps, null termination
service.ccapsconvert input command line (through eol) to ALL CAPS
service.ccdEXITthe routine that should be called to exit cloudy
service.cchIonLbluse information in line array to generate a null terminated ion label in "Fe 2"
service.cCodeReview- placed next to code that needs to be checked
service.ccsphotreturns photoionization cross section from opacity stage using std pointers
service.cdbg_printfis a debug print routine that was provided by Peter Teuben, as a component from his NEMO package. It offers run-time specification of the level of debugging
service.cdsexpsafe exponential function for doubles
service.ce2second exponential integral
service.cFFmtReadscan input line for free format number
service.cfixit- say that code needs to be fixed
service.cfudgeenter fudge factors, or some arbitrary number, with fudge command
service.cGetElemscans line image, finds element. returns atomic number j, on C scale
service.cGetQuoteget any name between double quotes off command line return string as chLabel, is null terminated
service.cinsaneset flag saying that insanity has occurred
service.clgMatchdetermine whether match to a keyword occurs on command line, return value is 0 if no match, and position of match within string if hit
service.cMyAsserta version of assert that fails gracefully
service.cMyCallocwrapper for calloc(). Returns a good pointer or dies.
service.cMyGaussRanGaussa wrapper for RandGauss, see below
service.cMyMallocwrapper for malloc(). Returns a good pointer or dies.
service.cNoNumbgeneral error handler for no numbers on input line
service.cqg3232 point Gaussian quadrature, original fortran given to Gary F by Jim Lattimer
service.cqipcompute pow(x,n) for positive integer n through repeated sqarings
service.cRandGaussnormal random variate generator
service.csexpsafe exponential function
service.cShowMeproduce request to send information to GJF after a crash
service.cspsortnetlib routine to sort array returning sorted indices this label is null terminated
service.cTestCodeset flag saying that test code is in place
service.ctheprototypes are in cddefines.h and so are automatically picked up by all routines
service.cTotalInsanitygeneral error handler for something that cannot happen
stars_atlas.cAtlasCompilerebin Kurucz stellar models to match energy grid of code
stars_atlas.cAtlasGetOneget one of the Atlas model atmospheres, coded by K. Volk
stars_atlas.cAtlasInterpolateinterpolate on atlas model atmospheres, by K Volk
stars_costar.cCoStarCompilerebin costar stellar atmospheres to match cloudy energy grid, called by the compile stars command
stars_costar.cCoStarInterpolateread in and interpolate on costar grid of windy O atmospheres
stars_kurucz79.ckurucz79obtain interpolated Kurucz stellar atmosphere
stars_mihals.cmihalsgenerate continuum from Mihalas stellar atmosphere
stars_rauch02.cRauchCompile02rebin Rauch stellar models to match energy grid of code
stars_rauch02.cRauchInitialize02K Volk's routine to compact the 66 Rauch atmospheres into a large ascii file.
stars_rauch02.cRauchInterpolate02get one of the Rauch model atmospheres, original version by K. Volk
stars_rauch_old.cRauchCompilerebin Rauch stellar models to match energy grid of code
stars_rauch_old.cRauchInitializeK Volk's routine to compact the 66 Rauch atmospheres into a large ascii file.
stars_rauch_old.cRauchInterpolateget one of the Rauch model atmospheres, original version by K. Volk
stars_werner.cWernerCompilerebin Werner stellar atmospheres to match cloudy energy grid
stars_werner.cWernerInterpolateread in and interpolate on Werner grid of PN atmospheres, by K Volk
stars_werner.cWernerInterpolate_oneget a single Werner PN atmosphere, by K Volk
tabden.ctabdeninterpolate on table of points for density with dlaw table command, by K Volk
tfidle.ctauffcompute optical depth where cloud is thin to free-free and plasma freq
tfidle.ctfidleupdate some temperature dependent variables
tfidle.cvelsetset thermal velocities for all particles in gas
thirdparty.cThisfile contains routines (perhaps in modified form) written by third parties. Use and distribution of these works are determined by their respective copyrights.
thirdparty_bevington.clinfitdo linear least squares fit to arrays
thirdparty_lapack.cTheseare wrappers for lapack linear algebra routines. There are two versions of the lapack routines - a fortran version that I converted to C with forc to use if nothing else is available (included in the Cloudy distribution), and an option to link into an external lapack library that may be optimized for your machine. By default the tralated C routines will be used. To use your machine's lapack library instead, define the macro LAPACK and link into your library. This is usually done with a command line switch "-DLAPACK" on the compiler command, and the linker option "-llapack"
vary_input.cvary_inputsets input lines to feed into cloudy in optimization runs
warnings.cbangincalled by routine comment to enter surprise into comment stack
warnings.ccaunincalled by comment to enter caution into comment stack
warnings.cnoteinenter a note about calculation into comment array
warnings.cwarninenter warnings at the end of the calculations into large stack
warnings.cwcnintinitialize stack or warnings, cautions, notes
zero.crfield_optac_zerozero out rfield arrays between certain limits
zero.czerozero out or initialize variables, called by cdInit, but also by optimize_func during optimization, this is called before any commands are parsed, called one time per model, at very start
zerologic.cZerologicset initial values for logical variables this is called before any commands are parsed
zone_startend.cZoneEndlast routine called after all zone calculations, before iter_end_check, upon exit radiation field is for outer edge of current zone
zone_startend.cZoneStartset variables that change with each zone, like radius, depth, upon exit flux will be flux at center of zone about to be computed