#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"
Include dependency graph for ion_solver.cpp:
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 ion_solver().
#define RJRW 0 |
void ion_solver | ( | long int | nelem, | |
bool | lgPrintIt | |||
) |
ion_solver solve the bi-diagonal matrix for ionization balance
nelem | - element number on C scale, He is 1 | |
lgPrintIt | - option to print details of matrix elements |
Definition at line 28 of file ion_solver.cpp.
References ASSERT, broken(), t_conv::chConvIoniz, conv, DEBUG_ENTRY, dense, t_dense::gas_phase, Heavy, ionbal, t_dense::IonHigh, t_dense::IonLow, ioQQQ, ipCARBON, ipH_LIKE, ipHYDROGEN, ipiv, iso, t_conv::lgConvIoniz, t_conv::lgSearch, t_dense::lgSetIoniz, LIMELM, MALLOC, MAT, MIN2, mole, NISO, t_Heavy::nsShells, t_conv::nTotalIoniz, PARALLEL_MODE, t_ionbal::PhotoRate_Shell, t_iso::pop_ion_ov_neut, t_ionbal::RateIonizTot, t_ionbal::RateRecomTot, SDIV(), t_dense::SetIoniz, t_mole::sink, t_mole::source, t_dense::xIonDense, and t_dense::xMolecules.
Referenced by 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().
Here is the call graph for this function:
void solveions | ( | double * | ion, | |
double * | rec, | |||
double * | snk, | |||
double * | src, | |||
long int | nlev, | |||
long int | nmax | |||
) |