Cloudy
Spectral Synthesis Code for Astrophysics
|
#include "cddefines.h"
#include "deuterium.h"
#include "ionbal.h"
#include "phycon.h"
#include "hmi.h"
#include "dynamics.h"
#include "conv.h"
#include "trace.h"
#include "grainvar.h"
#include "newton_step.h"
#include "h2.h"
#include "mole_priv.h"
#include "mole.h"
#include "dense.h"
Macros | |
#define | SMALLABUND 1e-24 |
#define | ABSLIM 1e-12 |
#define | ERRLIM 1e-12 |
#define | MAT(a, I_, J_) ((a)[(I_)*(mole_global.num_compacted)+(J_)]) |
Enumerations | |
enum | { PRINTSOL = false } |
Functions | |
void | check_co_ion_converge (void) |
STATIC void | funjac (GroupMap &MoleMap, const valarray< double > &b2vec, double *const ervals, double *const amat, const bool lgJac, bool *lgConserve) |
STATIC void | mole_h_fixup (void) |
STATIC void | grouped_elems (const double bvec[], double mole_elems[]) |
double | mole_solve () |
STATIC void | mole_eval_dynamic_balance (long int num_total, double *b, bool lgJac, multi_arr< double, 2 > &c) |
#define ABSLIM 1e-12 |
#define ERRLIM 1e-12 |
#define SMALLABUND 1e-24 |
Referenced by newton_step(), and GroupMap::setup().
void check_co_ion_converge | ( | void | ) |
References conv, DEBUG_ENTRY, dense, findspecieslocal(), t_dense::gas_phase, ipCARBON, ipOXYGEN, t_dense::lgElmtOn, SDIV(), t_conv::setConvIonizFail(), and t_dense::xIonDense.
Referenced by mole_solve().
STATIC void funjac | ( | GroupMap & | MoleMap, |
const valarray< double > & | b2vec, | ||
double *const | ervals, | ||
double *const | amat, | ||
const bool | lgJac, | ||
bool * | lgConserve | ||
) |
References ASSERT, DEBUG_ENTRY, t_dynamics::doNonEquilibriumSolve(), dynamics, GroupMap::fion, fnzone, fprintf(), get_ptr(), grouped_elems(), groupspecies, ioQQQ, iteration, t_trace::lgTrace, t_trace::lgTraceMole, t_mole_global::list, MAT, mole, mole_eval_dynamic_balance(), mole_global, GroupMap::molElems, nuclide_list, t_mole_global::num_calc, t_mole_global::num_compacted, t_mole_global::num_total, PRINTSOL, t_dynamics::Rate, SDIV(), t_mole_local::species, trace, and GroupMap::updateMolecules().
Referenced by mole_solve().
STATIC void grouped_elems | ( | const double | bvec[], |
double | mole_elems[] | ||
) |
References groupspecies, mole_global, nuclide_list, and t_mole_global::num_compacted.
Referenced by funjac(), and GroupMap::setup().
STATIC void mole_eval_dynamic_balance | ( | long int | num_total, |
double * | b, | ||
bool | lgJac, | ||
multi_arr< double, 2 > & | c | ||
) |
References ASSERT, DEBUG_ENTRY, dense, t_dynamics::doNonEquilibriumSolve(), dynamics, t_dense::IonHigh, t_dense::IonLow, iteration, LIMELM, t_mole_global::list, mole, mole_eval_balance(), mole_global, t_dynamics::molecules, t_mole_global::num_calc, t_dynamics::Rate, t_dynamics::Source, and t_mole_local::species.
Referenced by funjac().
STATIC void mole_h_fixup | ( | void | ) |
References GrainVar::bin, DEBUG_ENTRY, molezone::den, dense, t_hmi::deriv_HeatH2Dexc_TH85, findspecieslocal(), t_dense::gas_phase, gv, h2, t_hmi::H2_frac_abund_set, t_hmi::H2_total, t_hmi::H2_total_f, t_hmi::H2Opacity, t_hmi::h2plus_exc_frac, t_hmi::h2plus_heat, t_hmi::h2plus_heatcoef, t_hmi::HeatH2Dexc_TH85, t_hmi::HeatH2Dish_TH85, hmi, t_hmi::hmicol, t_hmi::hmidep, t_hmi::hmihet, ipHYDROGEN, mole, mole_global, t_mole_global::num_calc, diatomics::ortho_density, diatomics::ortho_density_f, diatomics::para_density, diatomics::para_density_f, SMALLFLOAT, t_mole_local::species, and t_dense::xIonDense.
Referenced by mole_solve().
double mole_solve | ( | void | ) |
mole_solve fills in matrix for heavy elements molecular routines
References ASSERT, BIGFLOAT, check_co_ion_converge(), conv, DEBUG_ENTRY, dense, t_dense::eden, fixit, fnzone, fprintf(), funjac(), get_ptr(), groupspecies, t_hmi::H2_frac_abund_set, hmi, ionbal, t_conv::IonizErrorAllowed, ioQQQ, ipHYDROGEN, lgElemsConserved(), t_trace::lgTrace, mole, mole_global, mole_h_fixup(), mole_return_cached_species(), newton_step(), nuclide_list, t_mole_global::num_calc, t_mole_global::num_compacted, nzone, phycon, t_ionbal::RateIonizTot(), t_ionbal::RateRecomTot, t_conv::register_(), t_conv::setConvIonizFail(), t_mole_local::sink, t_mole_local::source, t_mole_local::species, t_phycon::te, trace, and t_dense::xIonDense.
Referenced by mole_drive().