cloudy trunk
Loading...
Searching...
No Matches
iso_solve.cpp File Reference
#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 "mole.h"
#include "hydrogenic.h"
#include "ionbal.h"
#include "iso.h"
#include "phycon.h"
#include "rfield.h"
#include "secondaries.h"
#include "taulines.h"
#include "thermal.h"
#include "trace.h"
Include dependency graph for iso_solve.cpp:

Go to the source code of this file.

Macros

#define ITEM_TO_PRINT(A_)

Functions

void iso_collapsed_update (void)
void iso_update_rates (void)
void iso_solve (long ipISO, long nelem, double &maxerr)
void IonHydro (void)
void iso_renorm (long nelem, long ipISO, double &renorm)
void iso_departure_coefficients (long ipISO, long nelem)
void iso_prt_pops (long ipISO, long nelem, bool lgPrtDeparCoef)
void AGN_He1_CS (FILE *ioPun)

Macro Definition Documentation

◆ ITEM_TO_PRINT

#define ITEM_TO_PRINT ( A_)
Value:
( lgPrtDeparCoef ? iso_sp[ipISO][nelem].fb[A_].DepartCoef : iso_sp[ipISO][nelem].st[A_].Pop() )
t_iso_sp iso_sp[NISO][LIMELM]
Definition iso.cpp:8

Referenced by iso_prt_pops().

Function Documentation

◆ AGN_He1_CS()

void AGN_He1_CS ( FILE * ioPun)

AGN_He1_CS routine to save table needed for AGN3 - collision strengths of HeI

Parameters
*ioPun

Definition at line 464 of file iso_solve.cpp.

References DEBUG_ENTRY, HeCSInterp(), ipELECTRON, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s3S, ipHe3d1D, ipHe3d3D, ipHe3p3P, ipHe3s3S, phycon, and TempChange().

Referenced by SaveDo().

Here is the call graph for this function:

◆ IonHydro()

void IonHydro ( )

IonHydro this controls hydrogen atomic and molecular crosstalk

Definition at line 149 of file iso_solve.cpp.

References atmdat, colliders, DEBUG_ENTRY, dense, findspecieslocal(), fixit(), fnzone, hmi, hydro, ion_solver(), ioQQQ, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, iso_renorm(), iso_sp, MAX2, PrintE82(), secondaries, SMALLDOUBLE, SMALLFLOAT, and trace.

Referenced by ion_wrapper().

Here is the call graph for this function:

◆ iso_collapsed_update()

void iso_collapsed_update ( void )

Definition at line 27 of file iso_solve.cpp.

References conv, dense, ipH_LIKE, ipHELIUM, ipHYDROGEN, iso_cascade(), iso_collapsed_Aul_update(), iso_collapsed_bnl_set(), iso_collapsed_lifetimes_update(), MIN2, and NISO.

Referenced by ConvBase().

Here is the call graph for this function:

◆ iso_departure_coefficients()

void iso_departure_coefficients ( long ipISO,
long nelem )

iso_departure_coefficients - calculate departure coefficients

Parameters
ipISO
nelem

Definition at line 363 of file iso_solve.cpp.

References DEBUG_ENTRY, dense, iso_sp, safe_div(), and SMALLFLOAT.

Referenced by ion_solver().

Here is the call graph for this function:

◆ iso_prt_pops()

void iso_prt_pops ( long ipISO,
long nelem,
bool lgPrtDeparCoef )

iso_prt_pops routine to print level pops or departure coefficients for iso sequences

Parameters
ipISO
nelem
lgPrtDeparCoef

Definition at line 386 of file iso_solve.cpp.

References ASSERT, DEBUG_ENTRY, elementnames, ioQQQ, ipH_LIKE, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, iso_ctrl, iso_sp, ITEM_TO_PRINT, and NISO.

Referenced by PrtZone().

◆ iso_renorm()

void iso_renorm ( long nelem,
long ipISO,
double & renorm )

iso_renorm - renormalize H-like so that it agrees with the ionization balance

Definition at line 272 of file iso_solve.cpp.

References ASSERT, conv, DEBUG_ENTRY, dense, fp_equal(), ioQQQ, iso_ctrl, iso_sp, and SMALLFLOAT.

Referenced by ConvBase(), IonHydro(), iso_level(), lgTrivialSolution(), ScaleIonDensities(), and store_new_densities().

Here is the call graph for this function:

◆ iso_solve()

void iso_solve ( long ipISO,
long nelem,
double & maxerr )

iso_solve - main routine to call iso_level and determine iso level balances

Parameters
ipISO

Definition at line 102 of file iso_solve.cpp.

References ASSERT, DEBUG_ENTRY, dense, HydroLevel(), ipH_LIKE, iso_ctrl, iso_level(), and iso_sp.

Referenced by ion_solver().

Here is the call graph for this function:

◆ iso_update_rates()

void iso_update_rates ( void )

iso_update_rates routine to set up iso rates, level balance is done elsewhere

Todo
2 the indices for the two-photon rates must be changed for further iso sequences.

Definition at line 51 of file iso_solve.cpp.

References ASSERT, CalcTwoPhotonRates(), conv, dense, ionbal, ipH_LIKE, ipHE_LIKE, ipHYDROGEN, iso_collide(), iso_continuum_lower(), iso_ctrl, iso_error_generation(), iso_ionize_recombine(), iso_photo(), iso_radiative_recomb(), iso_radiative_recomb_effective(), iso_sp, LIMELM, MIN2, NISO, nzone, rfield, and t_iso_sp::TwoNu.

Referenced by ConvBase().

Here is the call graph for this function: