Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
radius_next.cpp File Reference
#include "cddefines.h"
#include "iso.h"
#include "geometry.h"
#include "h2.h"
#include "hyperfine.h"
#include "opacity.h"
#include "dense.h"
#include "heavy.h"
#include "grainvar.h"
#include "elementnames.h"
#include "dynamics.h"
#include "thermal.h"
#include "hmi.h"
#include "coolheavy.h"
#include "timesc.h"
#include "stopcalc.h"
#include "colden.h"
#include "phycon.h"
#include "rt.h"
#include "trace.h"
#include "wind.h"
#include "save.h"
#include "pressure.h"
#include "iterations.h"
#include "struc.h"
#include "radius.h"
#include "dark_matter.h"
#include "mole.h"
#include "rfield.h"
#include "freebound.h"
#include "lines_service.h"
#include "cosmology.h"
Include dependency graph for radius_next.cpp:

Classes

class  drChoiceItem
 
class  drList
 

Functions

STATIC void ContRate (double *freqm, double *opacm)
 
STATIC void GrainRateDr (double *grfreqm, double *gropacm)
 
void radius_next ()
 

Function Documentation

STATIC void ContRate ( double *  freqm,
double *  opacm 
)
Todo:
2 - 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 save 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

References t_mesh::anu(), ASSERT, t_CoolHeavy::brems_heat_total, CoolHeavy, DEBUG_ENTRY, dense, GrainVar::dstab, t_iso_sp::fb, t_rfield::flux, fprintf(), t_dense::gas_phase, GrainVar::GrainEmission, gv, Heavy, t_thermal::htot, ioQQQ, ipCARBON, t_rfield::ipEnergyBremsThin, ipH1s, ipH2s, ipH_LIKE, t_Heavy::ipHeavy, ipHYDROGEN, t_rfield::ipPlasma, iso_sp, GrainVar::lgDustOn(), t_dense::lgElmtOn, GrainVar::lgGrainPhysicsOn, MAX2, MIN2, t_rfield::nflux, opac, t_opac::opacity_abs, rfield, safe_div(), SDIV(), SMALLFLOAT, thermal, and t_mesh::widflx().

Referenced by radius_next().

Here is the call graph for this function:

void radius_next ( )

radius_next use adaptive logic to find next zone thickness return 0 if ok, 1 for abort

References abund, Wind::AccelTotalOutward, ASSERT, TransitionProxy::associated(), t_StopCalc::AV_extended, t_StopCalc::AV_point, drList::begin(), cdEXIT, t_dense::chDenseLaw, t_elementnames::chElementName, chLineLbl(), t_StopCalc::chSpeciesColumn, drList::clear(), t_StopCalc::col_H0_ov_Tspin, t_StopCalc::col_h2, t_StopCalc::col_h2_nut, t_StopCalc::col_monoxco, t_StopCalc::col_species, colden, t_colden::colden, TransitionProxy::Coll(), t_StopCalc::colnut, t_StopCalc::colpls, column(), molezone::column, ContRate(), cosmology, EmissionProxy::damp(), EmissionProxy::dampXvel(), dark, DEBUG_ENTRY, molezone::den, dense, dense_fabden(), dense_parametric_wind(), t_radius::depth, t_radius::Depth2Go, t_struc::depth_last, diatoms, t_geometry::DirectionalCosin, t_dense::DLW, t_struc::dr_ionfrac_limit, t_radius::drad, t_dynamics::dRad, t_struc::drad_last, t_radius::drChange, t_radius::drMinimum, t_radius::drNext, t_rt::dTauMase, dynamics, t_dense::eden, t_dense::eden_from_metals, t_struc::ednstr, elementnames, TransitionProxy::Emis(), drList::end(), EXIT_FAILURE, exp10(), t_rfield::extin_mag_V_extended, t_rfield::extin_mag_V_point, t_geometry::FillFac, findspecieslocal(), findspecieslocal_validate(), fixit, t_dense::flong, FndLineHt(), fprintf(), t_struc::gas_phase, t_dense::gas_phase, geometry, GetHubbleFactor(), t_radius::glbden, t_radius::glbdst, t_radius::glbpow, t_radius::glbrad, GrainRateDr(), t_pressure::gravity_symmetry, t_colden::H0_ov_Tspin, t_struc::H2_abund, t_hmi::H2_total, t_StopCalc::HColStop, CollisionProxy::heat(), t_hmi::HeatH2Dexc_used, t_hmi::HeatH2Dish_used, t_thermal::heating(), hmi, t_thermal::htot, hyperfine, drList::insert(), ioQQQ, ipCARBON, ipCOL_HTOT, t_save::ipDRout, ipH_LIKE, ipHELIUM, ipHYDROGEN, t_StopCalc::iptnu, t_dynamics::isInitialRelaxIteration(), iso_sp, iteration, iterations, t_dynamics::lgAdvection, t_pressure::lgContRadPresOn, t_dense::lgDenFlucOn, t_cosmology::lgDo, t_trace::lgDrBug, t_save::lgDROn, t_save::lgDRPLst, t_dense::lgElmtOn, t_radius::lgFixed, t_iterations::lgLastIt, t_mole_global::lgLeidenHack, t_rt::lgMaserSetDR, t_dark_matter::lgNFW_Set, t_dynamics::lgRecom, t_radius::lgSdrmaxRel, t_radius::lgSdrminRel, t_pressure::lgSonicPoint, Wind::lgStatic(), t_pressure::lgStrongDLimbo, t_thermal::lgTemperatureConstant, t_dynamics::lgTimeDependentStatic, t_trace::lgTrace, LIMELM, t_mole_global::list, t_rt::mas_hi, t_rt::mas_ion, t_rt::mas_lo, t_rt::mas_species, MAX2, MIN2, mole, mole_global, t_struc::molecules, t_rfield::nflux_with_check, t_mole_global::num_calc, nzone, t_struc::nzonePreviousIteration, opac, t_rfield::opac_mag_V_extended, t_rfield::opac_mag_V_point, EmissionProxy::opacity(), t_opac::opacity_abs, EmissionProxy::Pesc(), phycon, t_pressure::pinzon, EmissionProxy::PopOpc(), pow(), pressure, t_pressure::PresTotlCurr, EmissionProxy::pump(), radius, t_radius::Radius, t_cosmology::redshift_current, rfield, t_pressure::RhoGravity, t_radius::rinner, rt, safe_div(), SAFETY, save, SDIV(), t_radius::sdrmax, t_radius::sdrmin, t_radius::sdrmin_rel_depth, drList::size(), SMALLFLOAT, t_timesc::sound_speed_isothermal, t_mole_local::species, StopCalc, t_iterations::StopThickness, struc, DepthTable::tabval(), t_opac::TauAbsGeo, t_StopCalc::tauend, EmissionProxy::TauIn(), t_phycon::te, t_struc::testr, thermal, timesc, TotalInsanity(), trace, t_hyperfine::Tspin21cm, EmissionProxy::VoigtLineCen(), wind, Wind::windv, t_struc::xIonDense, t_dense::xIonDense, and t_dense::xMassDensity.

Referenced by cloudy().

Here is the call graph for this function: