cloudy  trunk
Defines | Functions
radius_next.cpp File Reference
#include "cddefines.h"
#include "lines_service.h"
#include "iso.h"
#include "geometry.h"
#include "h2.h"
#include "mole.h"
#include "hyperfine.h"
#include "opacity.h"
#include "dense.h"
#include "heavy.h"
#include "grainvar.h"
#include "elementnames.h"
#include "conv.h"
#include "rfield.h"
#include "dynamics.h"
#include "thermal.h"
#include "hmi.h"
#include "coolheavy.h"
#include "timesc.h"
#include "doppvel.h"
#include "stopcalc.h"
#include "colden.h"
#include "phycon.h"
#include "rt.h"
#include "trace.h"
#include "wind.h"
#include "punch.h"
#include "taulines.h"
#include "pressure.h"
#include "iterations.h"
#include "struc.h"
#include "radius.h"
Include dependency graph for radius_next.cpp:

Go to the source code of this file.

Defines

#define CHANGE_ION_HEAV   0.2f
#define CHANGE_ION_HHE   0.15f
#define WIND_CHNG_VELOCITY_RELATIVE   0.01
#define DNGLOB   0.10
#define Z   1.0001

Functions

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

Define Documentation

#define CHANGE_ION_HEAV   0.2f

Referenced by radius_next().

#define CHANGE_ION_HHE   0.15f

Referenced by radius_next().

#define DNGLOB   0.10

Referenced by radius_next().

#define WIND_CHNG_VELOCITY_RELATIVE   0.01

Referenced by radius_next().

#define Z   1.0001

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 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

Definition at line 1759 of file radius_next.cpp.

References t_rfield::anu, ASSERT, t_CoolHeavy::brems_heat_total, CoolHeavy, DEBUG_ENTRY, dense, t_gv::dstab, t_rfield::flux, t_dense::gas_phase, t_gv::GrainEmission, gv, Heavy, t_thermal::htot, ioQQQ, ipCARBON, t_rfield::ipEnergyBremsThin, ipH1s, ipH2s, ipH_LIKE, t_Heavy::ipHeavy, ipHYDROGEN, t_iso::ipIsoLevNIonCon, t_rfield::ipPlasma, iso, t_gv::lgDustOn, t_dense::lgElmtOn, t_gv::lgGrainPhysicsOn, MAX2, MIN2, t_rfield::nflux, opac, t_opac::opacity_abs, rfield, SMALLFLOAT, thermal, and t_rfield::widflx.

Referenced by radius_next().

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

Todo:
1 rm logic detecting temp and pres failure - these normally occur near troubled parts of cooling curve

Definition at line 71 of file radius_next.cpp.

References abund, t_wind::AccelTot, ASSERT, t_StopCalc::AV_extended, t_StopCalc::AV_point, C12O16Rotate, C13O16Rotate, cdEXIT, CHANGE_ION_HEAV, CHANGE_ION_HHE, t_dense::chDenseLaw, t_elementnames::chElementName, chLineLbl(), co, t_struc::CO_molec, t_StopCalc::col_H0_ov_Tspin, t_StopCalc::col_h2, t_StopCalc::col_h2_nut, t_StopCalc::col_monoxco, t_colden::colden, colden, t_StopCalc::colnut, t_StopCalc::colpls, COmole, ContRate(), conv, DEBUG_ENTRY, dense, dense_fabden(), dense_tabden(), t_radius::depth, t_radius::Depth2Go, t_struc::depth_last, t_geometry::DirectionalCosin, DNGLOB, t_DoppVel::doppler, DoppVel, 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_conv::EdenErrorAllowed, t_struc::ednstr, elementnames, t_transition::Emis, t_rfield::extin_mag_V_extended, t_rfield::extin_mag_V_point, t_geometry::FillFac, findspecies(), t_dense::flong, FndLineHt(), fp_equal(), t_dense::gas_phase, t_struc::gas_phase, geometry, t_radius::glbden, t_radius::glbdst, t_radius::glbpow, t_radius::glbrad, GrainRateDr(), t_colden::H0_ov_Tspin, H2_DR(), t_struc::H2_molec, t_hmi::H2_total, t_StopCalc::HColStop, t_conv::HeatCoolRelErrorAllowed, t_hmi::HeatH2Dexc_used, t_hmi::HeatH2Dish_used, t_thermal::heating, molecule::hevcol, molecule::hevmol, HFLines, t_transition::Hi, hmi, t_thermal::htot, hyperfine, ioQQQ, ipCARBON, ipCOL_H0, ipCOL_H2g, ipCOL_H2s, ipCOL_Hp, ipCOL_HTOT, t_punch::ipDRout, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipIRON, ipMH2g, ipMH2s, ipNITROGEN, ipOXYGEN, t_StopCalc::iptnu, iso, iteration, iterations, molecule::label, lgAbort, t_dynamics::lgAdvection, t_pressure::lgContRadPresOn, t_conv::lgConvPres, t_conv::lgConvTemp, t_dense::lgDenFlucOn, t_trace::lgDrBug, t_radius::lgDrMinUsed, t_radius::lgDrNeg, t_punch::lgDROn, t_punch::lgDRPLst, t_dense::lgElmtOn, lgFirstCall, molecule::lgGas_Phase, t_iterations::lgLastIt, t_rt::lgMaserSetDR, t_dynamics::lgRecom, t_pressure::lgSonicPoint, t_dynamics::lgStatic, t_pressure::lgStrongDLimbo, t_thermal::lgTemperatureConstant, t_trace::lgTrace, t_co::lgUMISTrates, LIMELM, t_rt::mas_hi, t_rt::mas_ion, t_rt::mas_lo, t_rt::mas_species, MAX2, MAX4, MIN2, MIN3, MIN4, mole, t_dynamics::n_initial_relax, molecule::n_nuclei, t_quantumState::nelem, molecule::nelem_hevmol, t_mole::num_comole_calc, t_rfield::nupper, t_struc::nzlim, nzone, t_struc::nzone_last, opac, t_rfield::opac_mag_V_extended, t_rfield::opac_mag_V_point, t_emission::opacity, t_opac::opacity_abs, t_emission::Pesc, phycon, t_pressure::pinzon, t_emission::PopOpc, POW2, pressure, t_pressure::PresTotlCurr, t_emission::pump, punch, t_radius::Radius, radius, t_iso::RecomCollisFrac, rfield, t_radius::rinner, t_radius::router, rt, SDIV(), t_radius::sdrmax, t_radius::sdrmin, ShowMe(), SMALLFLOAT, t_timesc::sound_speed_isothermal, StopCalc, struc, t_opac::TauAbsGeo, t_StopCalc::tauend, t_emission::TauIn, TauLine2, TauLines, t_phycon::te, t_struc::testr, thermal, timesc, TotalInsanity(), trace, t_hyperfine::Tspin21cm, wind, WIND_CHNG_VELOCITY_RELATIVE, t_wind::windv, t_struc::xIonDense, t_dense::xIonDense, t_dense::xMassDensity, and Z.

Referenced by cloudy().

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated for cloudy by doxygen 1.7.6.1