Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
iso_solve.cpp File Reference
#include "cddefines.h"
#include "atmdat.h"
#include "conv.h"
#include "elementnames.h"
#include "helike_cs.h"
#include "hmi.h"
#include "hydrogenic.h"
#include "ionbal.h"
#include "iso.h"
#include "helike.h"
#include "phycon.h"
#include "rfield.h"
#include "secondaries.h"
#include "thermal.h"
#include "trace.h"
#include "mole.h"
#include "freebound.h"
#include "two_photon.h"
#include "dense.h"
Include dependency graph for iso_solve.cpp:

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].st[A_].DepartCoef() : iso_sp[ipISO][nelem].st[A_].Pop() )
t_iso_sp iso_sp[NISO][LIMELM]
Definition iso.cpp:14

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

References DEBUG_ENTRY, fprintf(), 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

References atmdat, colliders, DEBUG_ENTRY, dense, findspecieslocal(), fixit, fnzone, fprintf(), 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 )

References conv, dense, ipH_LIKE, ipHELIUM, ipHYDROGEN, iso_cascade(), 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

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

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

Referenced by PrtZone().

Here is the call graph for this function:

◆ iso_renorm()

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

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

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

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

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

References ASSERT, DEBUG_ENTRY, dense, fprintf(), HydroLevel(), ioQQQ, ipRecRad, iso_ctrl, iso_level(), iso_sp, phycon, pow2, and S.

Referenced by ConvBase(), and 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.

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: