/home66/gary/public_html/cloudy/c08_branch/source/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

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

#define WIND_CHNG_VELOCITY_RELATIVE   0.01


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 1765 of file radius_next.cpp.

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

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

Definition at line 1982 of file radius_next.cpp.

References t_rfield::anu, t_CoolHeavy::brems_heat_total, CoolHeavy, DEBUG_ENTRY, dense, t_rfield::flux, Heavy, t_thermal::htot, ipCARBON, t_rfield::ipEnergyBremsThin, ipH2s, ipH_LIKE, t_Heavy::ipHeavy, ipHYDROGEN, t_iso::ipIsoLevNIonCon, iso, t_dense::lgElmtOn, MAX2, opac, t_opac::opacity_abs, rfield, thermal, and t_rfield::widflx.

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 CHANGE_ION_HEAV, CHANGE_ION_HHE, DEBUG_ENTRY, dense, t_struc::dr_ionfrac_limit, t_radius::drad, t_rt::dTauMase, t_struc::gas_phase, t_dense::gas_phase, ioQQQ, ipCARBON, ipHELIUM, ipHYDROGEN, iteration, t_dense::lgElmtOn, lgFirstCall, t_trace::lgTrace, LIMELM, MAX2, MIN2, nzone, radius, rt, SDIV(), struc, trace, t_struc::xIonDense, and t_dense::xIonDense.

Referenced by cloudy().

Here is the call graph for this function:


Generated on Mon Feb 16 12:12:11 2009 for cloudy by  doxygen 1.4.7