cloudy
trunk
|
#include <dynamics.h>
Public Member Functions | |
const char * | chName () const |
void | zero () |
void | comment (t_warnings &) |
double | Cool () |
double | Heat () |
double | dCooldT () |
Public Member Functions inherited from module | |
module () | |
virtual | ~module () |
Data Fields | |
bool | lgAdvection |
double | Cool_r |
double | Heat_v |
double | dHeatdT |
double | CoolMax |
double | HeatMax |
double | Rate |
double ** | Source |
double *** | StatesElem |
vector< double > | molecules |
bool | lgISO [NISO] |
bool | lgMETALS |
bool | lgCoolHeat |
bool | lg_coronal_time_init |
bool | lgTimeDependentStatic |
double | time_elapsed |
bool | lgRecom |
bool | lgStatic_completed |
double | AdvecLengthInit |
double | FluxCenter |
char | chPresMode [20] |
double | ShockDepth |
double | ShockMach |
long int | n_initial_relax |
double | FluxScale |
bool | lgFluxDScale |
double | FluxIndex |
double | dRad |
double | oldFullDepth |
double | convergence_error |
double | convergence_tolerance |
double | discretization_error |
double | error_scale1 |
double | error_scale2 |
bool | lgSetPresMode |
realnum | Upstream_density |
realnum | DivergePresInteg |
bool | lgEquilibrium |
bool | lgTracePrint |
double | timestep_init |
double | timestep |
double | timestep_stop |
double | timestep_factor |
all of these are initialized in zero
Definition at line 56 of file dynamics.h.
|
inlinevirtual |
Implements module.
Definition at line 58 of file dynamics.h.
|
inlinevirtual |
Implements module.
Definition at line 63 of file dynamics.h.
double t_dynamics::Cool | ( | ) |
Definition at line 2207 of file dynamics.cpp.
References Cool_r, t_phycon::EnthalpyDensity, Heat_v, MERGE, phycon, and scalingDensity().
Referenced by CoolEvaluate(), CoolSave(), DynaIterEnd(), DynaPrtZone(), DynaSave(), lines_general(), radius_increment(), SaveDo(), and SaveHeat().
double t_dynamics::dCooldT | ( | ) |
Definition at line 2222 of file dynamics.cpp.
References Cool_r, phycon, t_pressure::PresGasCurr, pressure, and t_phycon::te.
Referenced by CoolEvaluate(), and DynaSave().
double t_dynamics::Heat | ( | ) |
Definition at line 2193 of file dynamics.cpp.
References Cool_r, t_phycon::EnthalpyDensity, Heat_v, MERGE, phycon, and scalingDensity().
Referenced by CoolEvaluate(), CoolSave(), DynaPrtZone(), DynaSave(), lines_general(), radius_increment(), SaveDo(), and SaveHeat().
|
virtual |
Implements module.
Definition at line 1320 of file dynamics.cpp.
References AdvecLengthInit, AdvecSpecificEnthalpy, BIGFLOAT, convergence_tolerance, Cool_r, CoolMax, DEBUG_ENTRY, dHeatdT, discretization_error, DivergePresInteg, dRad, error_scale2, FluxCenter, FluxIndex, FluxScale, Heat_v, HeatMax, ipH_LIKE, lgAdvection, lgCoolHeat, lgEquilibrium, lgFluxDScale, lgISO, lgMETALS, lgRecom, lgSetPresMode, lgStatic_completed, lgTimeDependentStatic, n_initial_relax, NISO, nOld_zone, Rate, time_elapsed, timestep_factor, timestep_init, and Upstream_density.
double t_dynamics::AdvecLengthInit |
the initial value of the advection length, reset with set advection length
Definition at line 114 of file dynamics.h.
Referenced by DynaIterEnd(), ParseSet(), and zero().
char t_dynamics::chPresMode[20] |
flag set by the "set dynamics pressure mode" command
Definition at line 120 of file dynamics.h.
Referenced by ParseSet(), PresMode::set(), and stepDensity().
double t_dynamics::convergence_error |
convergence_error and discretization_error give estimates of convergence: :: convergence_error – change between the last iterations; :: discretization_error – error in the upstream interpolation. When (and if) discretization_error >> convergence_error, the interpolation length should be decreased.
They should both be based on the same norm of the models, but what norm may be experimented with – at present, it's H+/Htot just weighted by cell number, which makes the estimates sensitive to the structure of the primary ionization front.
Definition at line 159 of file dynamics.h.
Referenced by ConvIterCheck(), and DynaNewStep().
double t_dynamics::convergence_tolerance |
the allowed rel error, by default 0.1
Definition at line 162 of file dynamics.h.
Referenced by ConvIterCheck(), DynaNewStep(), and zero().
double t_dynamics::Cool_r |
advective cooling minus heating (erg cm^-3 s^-1)
Definition at line 69 of file dynamics.h.
Referenced by Cool(), dCooldT(), DynaIonize(), Heat(), and zero().
double t_dynamics::CoolMax |
largest fraction of cooling and heating
Definition at line 74 of file dynamics.h.
Referenced by IterStart(), lines_general(), PrtComment(), and zero().
double t_dynamics::dHeatdT |
Definition at line 69 of file dynamics.h.
Referenced by CoolEvaluate(), DynaIonize(), and zero().
double t_dynamics::discretization_error |
the error to be expected based on the coarseness of current advection length
Definition at line 165 of file dynamics.h.
Referenced by ConvIterCheck(), DynaIterEnd(), DynaNewStep(), DynaStartZone(), and zero().
realnum t_dynamics::DivergePresInteg |
Definition at line 177 of file dynamics.h.
Referenced by DynaEndZone(), DynaIterEnd(), pressureZone(), stepDensity(), and zero().
double t_dynamics::dRad |
the proposed thickness for the next zone when advection is included
Definition at line 144 of file dynamics.h.
Referenced by DynaStartZone(), radius_next(), and zero().
double t_dynamics::error_scale1 |
two ways of scaling the error estimate for convergence
Definition at line 168 of file dynamics.h.
Referenced by DynaNewStep().
double t_dynamics::error_scale2 |
Definition at line 168 of file dynamics.h.
Referenced by ConvIterCheck(), DynaIterEnd(), DynaNewStep(), DynaStartZone(), and zero().
double t_dynamics::FluxCenter |
the center of the particle flux law
Definition at line 117 of file dynamics.h.
Referenced by DynaFlux(), ParseDynaWind(), and zero().
double t_dynamics::FluxIndex |
the power law index of the particle flux law
Definition at line 141 of file dynamics.h.
Referenced by DynaFlux(), ParseDynaWind(), and zero().
double t_dynamics::FluxScale |
the scale of the particle flux law
Definition at line 135 of file dynamics.h.
Referenced by DynaFlux(), ParseDynaWind(), and zero().
double t_dynamics::Heat_v |
Definition at line 69 of file dynamics.h.
Referenced by Cool(), DynaIonize(), Heat(), and zero().
double t_dynamics::HeatMax |
Definition at line 74 of file dynamics.h.
Referenced by IterStart(), lines_general(), PrtComment(), and zero().
bool t_dynamics::lg_coronal_time_init |
var set with coronal time init - says to use constant temperature on first relax iterations then let temp run free
Definition at line 99 of file dynamics.h.
Referenced by DynaIterEnd(), InitDefaultsPreparse(), and ParseCoronal().
bool t_dynamics::lgAdvection |
is advection turned on ?, set to false in zero
Definition at line 66 of file dynamics.h.
Referenced by AbundChange(), advection_set_default(), ConvBase(), ConvIterCheck(), funjac(), HomogeneousSource(), ion_trim2(), iso_level(), IterRestart(), IterStart(), mole_eval_dynamic_balance(), Atom_LevelN::operator()(), PrintRates(), PrtZone(), radius_next(), zero(), ZoneEnd(), and ZoneStart().
bool t_dynamics::lgCoolHeat |
factor to turn off advective cooling
Definition at line 95 of file dynamics.h.
Referenced by DynaIonize(), ParseDont(), and zero().
bool t_dynamics::lgEquilibrium |
Enforce equilibrium populations
Definition at line 180 of file dynamics.h.
Referenced by HomogeneousSource(), iso_level(), ParseSet(), and zero().
bool t_dynamics::lgFluxDScale |
whether we also need to scale by the face density
Definition at line 138 of file dynamics.h.
Referenced by DynaFlux(), ParseDynaWind(), and zero().
bool t_dynamics::lgISO[NISO] |
factor to turn off advection for H-like or He-like iso seq, no advection h-like, he-like
Definition at line 89 of file dynamics.h.
Referenced by iso_level(), ParseDont(), PresTotCurrent(), and zero().
bool t_dynamics::lgMETALS |
factor to turn off advection for rest of ions, "no advection metals"
Definition at line 92 of file dynamics.h.
Referenced by ParseDont(), PresTotCurrent(), and zero().
bool t_dynamics::lgRecom |
true if recombination logic in place
Definition at line 108 of file dynamics.h.
Referenced by DynaIterEnd(), DynaIterStart(), lgNeedTimestep(), ParseCoronal(), PrtComment(), radius_next(), timestep_next(), and zero().
bool t_dynamics::lgSetPresMode |
flag set true if set dynamics flow type was set - this means to use the specified option, and not to derive one
Definition at line 172 of file dynamics.h.
Referenced by ParseSet(), PresMode::set(), and zero().
bool t_dynamics::lgStatic_completed |
true if model ends since time dependent model is finished
Definition at line 111 of file dynamics.h.
Referenced by cloudy(), DynaIterEnd(), DynaIterStart(), SaveDo(), and zero().
bool t_dynamics::lgTimeDependentStatic |
set true if time dependent static simulation
Definition at line 102 of file dynamics.h.
Referenced by check_grid_file(), ConvBase(), ConvInitSolution(), CoolEvaluate(), DynaIonize(), DynaIterEnd(), funjac(), HomogeneousSource(), ion_trim2(), iso_level(), IterEnd(), IterRestart(), IterStart(), lgConserveEnergy(), lgNeedTimestep(), mole_eval_dynamic_balance(), Atom_LevelN::operator()(), ParseCoronal(), ParseDynaTime(), PresTotCurrent(), PrintRates(), PrtComment(), PrtZone(), radius_first(), radius_next(), SaveDo(), zero(), ZoneEnd(), and ZoneStart().
bool t_dynamics::lgTracePrint |
Definition at line 183 of file dynamics.h.
Referenced by DynaEndZone(), DynaIonize(), DynaIterEnd(), DynaStartZone(), InitDefaultsPreparse(), ParseCoronal(), ParseDynaTime(), ParseDynaWind(), and stepDensity().
vector<double> t_dynamics::molecules |
save molecular network densities
Definition at line 86 of file dynamics.h.
Referenced by DynaCreateArrays(), DynaIonize(), and mole_eval_dynamic_balance().
long int t_dynamics::n_initial_relax |
set how many iterations we will start with, before allowing changes. This allows the solution to relax to an equilibrium set with "set dynamics relax" command
Definition at line 132 of file dynamics.h.
Referenced by ConvInitSolution(), ConvIterCheck(), CoolEvaluate(), DynaIonize(), DynaIterEnd(), DynaIterStart(), funjac(), HomogeneousSource(), iso_level(), IterEnd(), mole_eval_dynamic_balance(), Atom_LevelN::operator()(), ParseSet(), PrintSpectrum(), radius_next(), and zero().
double t_dynamics::oldFullDepth |
the depth of the last iteration
Definition at line 147 of file dynamics.h.
Referenced by DynaCreateArrays(), DynaIonize(), and DynaSaveLast().
double t_dynamics::Rate |
the advection rate (s^-1)
Definition at line 77 of file dynamics.h.
Referenced by DynaCreateArrays(), DynaIonize(), DynaSave(), DynaStartZone(), funjac(), HomogeneousSource(), iso_level(), mole_eval_dynamic_balance(), PrintRates(), SaveDo(), and zero().
double t_dynamics::ShockDepth |
the shock depth in cm set with "set dynamics shock depth" command
Definition at line 123 of file dynamics.h.
Referenced by ParseSet(), and PresMode::set().
double t_dynamics::ShockMach |
the isothermal Mach number at which to insert an antishock set with "set dynamics antishock Mach" command
Definition at line 127 of file dynamics.h.
Referenced by ParseSet(), and PresMode::set().
double** t_dynamics::Source |
the advective recombination rate (cm^-3 s^-1)
Definition at line 80 of file dynamics.h.
Referenced by DynaCreateArrays(), DynaIonize(), DynaSave(), DynaStartZone(), HomogeneousSource(), ion_trim2(), iso_level(), mole_eval_dynamic_balance(), PrintRates(), and SaveDo().
double*** t_dynamics::StatesElem |
the advective isolevel balance terms
Definition at line 83 of file dynamics.h.
Referenced by DynaCreateArrays(), DynaIonize(), and iso_level().
double t_dynamics::time_elapsed |
elapsed time in time dependent static model
Definition at line 105 of file dynamics.h.
Referenced by ConvInitSolution(), DynaIterEnd(), DynaIterStart(), DynaPunchTimeDep(), matchGeneric(), SaveDo(), and zero().
double t_dynamics::timestep |
Definition at line 187 of file dynamics.h.
Referenced by CoolEvaluate(), DynaIonize(), DynaIterEnd(), DynaIterStart(), DynaPunchTimeDep(), InitDynaTimestep(), IterEnd(), Atom_LevelN::operator()(), ParseDynaTime(), and timestep_next().
double t_dynamics::timestep_factor |
Definition at line 187 of file dynamics.h.
Referenced by DynaIterEnd(), and zero().
double t_dynamics::timestep_init |
Definition at line 187 of file dynamics.h.
Referenced by InitDynaTimestep(), lgNeedTimestep(), ParseDynaTime(), timestep_next(), and zero().
double t_dynamics::timestep_stop |
Definition at line 187 of file dynamics.h.
Referenced by DynaIterEnd(), and ParseDynaTime().
realnum t_dynamics::Upstream_density |
Upstream density
Definition at line 175 of file dynamics.h.
Referenced by CoolEvaluate(), DynaStartZone(), and zero().