#include "cddefines.h"
#include "yield.h"
#include "prt.h"
#include "continuum.h"
#include "iso.h"
#include "dynamics.h"
#include "grainvar.h"
#include "hmi.h"
#include "mole.h"
#include "thermal.h"
#include "thirdparty.h"
#include "conv.h"
#include "secondaries.h"
#include "phycon.h"
#include "atmdat.h"
#include "heavy.h"
#include "elementnames.h"
#include "dense.h"
#include "radius.h"
#include "ionbal.h"
Go to the source code of this file.
Defines | |
#define | MAT(M_, I_, J_) (*((M_)+(I_)*(ion_range)+(J_))) |
#define | RJRW 0 |
Functions | |
void | solveions (double *ion, double *rec, double *snk, double *src, long int nlev, long int nmax) |
void | ion_solver (long int nelem, bool lgPrintIt) |
#define MAT | ( | M_, | |||
I_, | |||||
J_ | ) | (*((M_)+(I_)*(ion_range)+(J_))) |
Referenced by hmole_step(), and ion_solver().
#define RJRW 0 |
Referenced by ion_solver().
void ion_solver | ( | long int | nelem, | |
bool | lgPrintIt | |||
) |
ion_solver solve the bi-diagonal matrix for ionization balance
nelem | ||
lgPrintIt |
Definition at line 28 of file ion_solver.cpp.
References ASSERT, atmdat, broken(), cdEXIT(), t_conv::chConvIoniz, t_elementnames::chElementName, t_elementnames::chElementNameShort, t_elementnames::chElementSym, t_ionbal::CollIonRate_Ground, ContNegative(), conv, t_secondaries::csupra, DEBUG_ENTRY, DEBUG_EXIT, dense, t_radius::depth, t_ionbal::DR_Badnell_rate_coef, t_ionbal::DR_old_rate_coef, dynamics, t_dense::eden, elementnames, fnzone, t_dense::gas_phase, getrf_wrapper(), getrs_wrapper(), t_gv::GrainChTrRate, gv, t_atmdat::HCharExcIonOf, t_atmdat::HCharExcIonTotal, t_atmdat::HCharExcRecTo, t_atmdat::HCharExcRecTotal, t_thermal::heating, Heavy, t_atmdat::HeCharExcIonOf, t_atmdat::HeCharExcIonTotal, t_atmdat::HeCharExcRecTo, t_atmdat::HeCharExcRecTotal, hmi, Singleton< T >::Inst(), ionbal, t_dense::IonHigh, t_dense::IonLow, ioQQQ, ipCARBON, ipH1s, ipH_LIKE, ipHe1s1S, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipiv, isnan, iso, iteration, t_dynamics::lgAdvection, t_conv::lgConvIoniz, t_gv::lgDustOn, t_mole::lgElem_in_chemistry, t_ionbal::lgGrainIonRecom, t_gv::lgGrainPhysicsOn, t_hmi::lgNoH2Mole, t_prt::lgPrtArry, t_conv::lgSearch, t_dense::lgSetIoniz, LIMELM, MALLOC, MAT, MAX2, MIN2, mole, NISO, t_Heavy::nsShells, t_conv::nTotalIoniz, nzone, t_dynamics::oldFullDepth, PARALLEL_MODE, t_ionbal::PhotoRate_Shell, phycon, t_iso::Pop2Ion, t_iso::pop_ion_ov_neut, prt, radius, t_dynamics::Rate, t_ionbal::RateIonizTot, t_ionbal::RateRecomTot, RJRW, t_ionbal::RR_rate_coef_used, SDIV(), secondaries, t_dense::SetIoniz, ShowMe(), t_mole::sink, solveions(), t_dynamics::Source, t_mole::source, t_phycon::te, thermal, TorF(), t_ionbal::UTA_ionize_rate, t_dense::xIonDense, t_mole::xMoleChTrRate, and t_dense::xMolecules.
Referenced by Hydrogenic(), IonAlumi(), IonArgon(), IonBeryl(), IonBoron(), IonCalci(), IonCarbo(), IonChlor(), IonChrom(), IonCobal(), IonCoppe(), IonFluor(), IonHelium(), IonIron(), IonLithi(), IonMagne(), IonManga(), IonNeon(), IonNicke(), IonNitro(), IonOxyge(), IonPhosi(), IonPotas(), IonScand(), IonSilic(), IonSodiu(), IonSulph(), IonTitan(), IonVanad(), and IonZinc().
void solveions | ( | double * | ion, | |
double * | rec, | |||
double * | snk, | |||
double * | src, | |||
long int | nlev, | |||
long int | nmax | |||
) |
Definition at line 1264 of file ion_solver.cpp.
References cdEXIT(), and ioQQQ.
Referenced by ion_solver().