#include "cddefines.h"
#include "atmdat.h"
#include "conv.h"
#include "dense.h"
#include "opacity.h"
#include "elementnames.h"
#include "h2.h"
#include "helike.h"
#include "helike_cs.h"
#include "hmi.h"
#include "hydrogenic.h"
#include "ionbal.h"
#include "iso.h"
#include "phycon.h"
#include "secondaries.h"
#include "taulines.h"
#include "thermal.h"
#include "trace.h"
Go to the source code of this file.
Defines | |
#define | ITEM_TO_PRINT(A_) ( lgPrtDeparCoef ? iso.DepartCoef[ipISO][nelem][A_] : StatesElemNEW[nelem][nelem-ipISO][A_].Pop ) |
Functions | |
void | iso_drive (void) |
void | iso_update_rates (long ipISO, long nelem) |
void | iso_solve (long ipISO, long nelem) |
void | IonHydro (void) |
void | HydroRenorm (void) |
void | iso_departure_coefficients (long ipISO, long nelem) |
void | iso_prt_pops (long ipISO, long nelem, bool lgPrtDeparCoef) |
void | AGN_He1_CS (FILE *ioPun) |
Variables | |
valarray< double > | PumpSave |
#define ITEM_TO_PRINT | ( | A_ | ) | ( lgPrtDeparCoef ? iso.DepartCoef[ipISO][nelem][A_] : StatesElemNEW[nelem][nelem-ipISO][A_].Pop ) |
Referenced by iso_prt_pops().
void AGN_He1_CS | ( | FILE * | ioPun | ) |
AGN_He1_CS routine to save table needed for AGN3 - collision strengths of HeI
*ioPun |
Definition at line 550 of file iso_solve.cpp.
References DEBUG_ENTRY, HeCSInterp(), ipELECTRON, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s3S, ipHe3d1D, ipHe3d3D, ipHe3p3P, ipHe3s3S, phycon, t_phycon::te, and TempChange().
Referenced by SaveDo().
void HydroRenorm | ( | void | ) |
HydroRenorm - renormalize H so that it agrees with the chemistry
Definition at line 396 of file iso_solve.cpp.
References ASSERT, BIGFLOAT, DEBUG_ENTRY, dense, ipH2s, ipH_LIKE, ipHYDROGEN, iso, t_iso::numLevels_local, t_iso::SmallA, SMALLFLOAT, StatesElemNEW, Transitions, and t_dense::xIonDense.
Referenced by HydroLevel().
void IonHydro | ( | void | ) |
IonHydro this controls hydrogen atomic and molecular crosstalk
Definition at line 187 of file iso_solve.cpp.
References conv, DEBUG_ENTRY, dense, t_conv::EdenErrorAllowed, fnzone, t_dense::gas_phase, h2, H2_LevelPops(), t_hmi::H2_rate_destroy, H2_RTMake(), t_hmi::H2_Solomon_dissoc_rate_BD96_H2g, t_hmi::H2_Solomon_dissoc_rate_BigH2_H2g, t_hmi::H2_Solomon_dissoc_rate_TH85_H2g, t_hmi::H2_Solomon_dissoc_rate_used_H2g, t_hmi::H2_total, hmi, hmole(), t_hmi::Hmolec, ion_solver(), ioQQQ, ipH1s, ipH_LIKE, ipHYDROGEN, ipMH, ipMH2g, ipMHp, t_hmi::lgBigH2_evaluated, t_hmi::lgH2_Chemistry_BigH2, t_h2::lgH2ON, t_dense::lgSetIoniz, N_H_MOLEC, t_hmi::nProton, SDIV(), t_dense::SetIoniz, SMALLFLOAT, StatesElemNEW, and t_dense::xIonDense.
Referenced by ion_wrapper().
void iso_departure_coefficients | ( | long | ipISO, | |
long | nelem | |||
) |
iso_departure_coefficients - calculate departure coefficients
ipISO | ||
nelem |
Definition at line 449 of file iso_solve.cpp.
References DEBUG_ENTRY, dense, t_iso::DepartCoef, t_dense::eden, iso, t_iso::numLevels_local, t_iso::numLevels_max, t_iso::PopLTE, safe_div(), SMALLFLOAT, StatesElemNEW, and t_dense::xIonDense.
Referenced by iso_solve().
void iso_drive | ( | void | ) |
iso_drive updates rates and solves level populations for all isoelectronic atoms and ions
Definition at line 27 of file iso_solve.cpp.
References conv, DEBUG_ENTRY, ipH_LIKE, iso_charge_transfer_update(), iso_solve(), iso_update_rates(), LIMELM, NISO, and t_conv::nTotalIoniz.
Referenced by ConvBase().
void iso_prt_pops | ( | long | ipISO, | |
long | nelem, | |||
bool | lgPrtDeparCoef | |||
) |
iso_prt_pops routine to print level pops or departure coefficients for iso sequences
ipISO | ||
nelem | ||
lgPrtDeparCoef |
Definition at line 472 of file iso_solve.cpp.
References ASSERT, t_elementnames::chElementSym, t_iso::chISO, DEBUG_ENTRY, elementnames, ioQQQ, ipH_LIKE, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, iso, ITEM_TO_PRINT, t_iso::n_HighestResolved_local, t_iso::nCollapsed_local, NISO, t_iso::numLevels_local, t_iso::QuantumNumbers2Index, and StatesElemNEW.
Referenced by PrtZone().
void iso_solve | ( | long | ipISO, | |
long | nelem | |||
) |
iso_solve - main routine to call iso_level and determine iso level balances
ipISO |
Definition at line 131 of file iso_solve.cpp.
References ASSERT, DEBUG_ENTRY, dense, t_dense::gas_phase, HydroLevel(), t_dense::IonHigh, t_dense::IonLow, ipH_LIKE, iso, iso_departure_coefficients(), iso_level(), t_dense::lgElmtOn, t_dense::lgSetIoniz, t_iso::nLyaLevel, t_iso::numLevels_max, t_dense::SetIoniz, t_iso::SmallA, StatesElemNEW, Transitions, t_dense::xIonDense, and t_iso::xIonSimple.
Referenced by iso_drive().
void iso_update_rates | ( | long | ipISO, | |
long | nelem | |||
) |
iso_update_rates routine to set up iso rates, level balance is done elsewhere
ipISO | ||
nelem |
Definition at line 53 of file iso_solve.cpp.
References conv, DEBUG_ENTRY, dense, hydro, t_dense::IonHigh, t_dense::IonLow, ipH_LIKE, ipHELIUM, ipHYDROGEN, iso, iso_cascade(), iso_collapsed_Aul_update(), iso_collapsed_bnl_set(), iso_collapsed_lifetimes_update(), iso_collide(), iso_continuum_lower(), iso_error_generation(), iso_ionize_recombine(), iso_photo(), iso_radiative_recomb(), iso_radiative_recomb_effective(), t_iso::lgContinuumLoweringEnabled, t_dense::lgElmtOn, t_iso::lgErrGenDone, t_iso::lgRandErrGen, t_opac::lgRedoStatic, t_conv::nTotalIoniz, t_iso::numLevels_local, nzone, opac, PumpSave, Transitions, and t_hydro::xLymanPumpingScaleFactor.
Referenced by iso_drive().
valarray<double> PumpSave |
Definition at line 25 of file iso_solve.cpp.
Referenced by iso_update_rates().