cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Functions
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:

Go to the source code of this file.

Data Structures

class  drChoiceItem
 
class  drList
 

Functions

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

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

Definition at line 1173 of file radius_next.cpp.

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:

STATIC void GrainRateDr ( double *  grfreqm,
double *  gropacm 
)
int radius_next ( void  )

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

Definition at line 104 of file radius_next.cpp.

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, iso_sp, iteration, iterations, lgAbort, t_dynamics::lgAdvection, t_pressure::lgContRadPresOn, t_dense::lgDenFlucOn, t_cosmology::lgDo, t_trace::lgDrBug, t_radius::lgDrMinUsed, 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_dynamics::n_initial_relax, 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, wind, Wind::windv, t_struc::xIonDense, t_dense::xIonDense, and t_dense::xMassDensity.

Referenced by cloudy().

Here is the call graph for this function: