/home66/gary/public_html/cloudy/c13_branch/source/ionbal.h File Reference

#include "dense.h"
Include dependency graph for ionbal.h:

Go to the source code of this file.

Data Structures

class  t_ionbal

Defines

#define NSHELLS   7

Functions

bool lgOH_ChargeTransferDominant (void)
void ion_recom_calculate (void)
void ion_trim (long int nelem)
void ion_zero (long int nelem)
void ion_collis (long nelem)
void ion_solver (long int nelem, bool lgPrintIt)
void ion_photo (long int nelem, bool lgPrintIt)
void ion_CX (long nelem)
void ion_recomb (bool, long)
void ion_recombAGN (FILE *io)
void ion_wrapper (long nelem)
void Badnell_rec_init (void)
void IonNelem (bool lgPrintIt, long int nelem)
void IonHelium (void)

Variables

t_ionbal ionbal

Define Documentation

#define NSHELLS   7

max number of shells we ever have to deal with

Definition at line 75 of file ionbal.h.

Referenced by zero().


Function Documentation

void Badnell_rec_init ( void   ) 
void ion_collis ( long  nelem  ) 

ion_collis fill in collisional ionization rates, and resulting cooling

Parameters:
nelem element number on C scale, H is 0
void ion_CX ( long  nelem  ) 

charge exchange for element nelem

charge exchange ionization / recombination

Definition at line 14 of file ion_cx.cpp.

References ASSERT, atmdat, t_ionbal::CX_recomb_rate_used, DEBUG_ENTRY, dense, t_atmdat::HCharExcRecTo, t_atmdat::HeCharExcRecTo, ionbal, t_dense::IonHigh, t_dense::IonLow, ipHELIUM, ipHYDROGEN, LIMELM, MIN2, NISO, and t_dense::xIonDense.

Referenced by IonNelem().

void ion_photo ( long int  nelem,
bool  lgPrintIt 
)

ion_photo fill array PhotoRate with photoionization rates for heavy elements

Parameters:
nelem is atomic number on C scale, 0 for H
lgPrintIt debugging flag to turn on print

Definition at line 26 of file ion_photo.cpp.

References ASSERT, atmdat, atom_pop2(), atoms, t_oxy::AugerO3, ca, t_elementnames::chElementNameShort, t_Heavy::chShell, t_ionbal::CompRecoilHeatRate, t_ionbal::CompRecoilIonRate, conv, t_oxy::d4363, t_oxy::d5007r, t_atoms::d5200r, t_oxy::d6300, DEBUG_ENTRY, dense, t_ca::dstCala, elementnames, GrainVar::elmSumAbund, t_rfield::extin_mag_V_point, t_iso_sp::fb, fe, t_fe::fegrain, t_fe::fekcld, t_fe::fekhot, GammaK(), GammaPrt(), gv, t_atmdat::HCharExcIonOf, t_phoHeat::HeatHiEnr, t_thermal::heating, t_phoHeat::HeatLowEnr, t_phoHeat::HeatNet, Heavy, hmi, HMRATE, t_oxy::i2d, t_oxy::i2p, t_opac::in1, Singleton< t_yield >::Inst(), ionbal, t_dense::IonHigh, t_dense::IonLow, t_opac::iopo2d, ioQQQ, ipCALCIUM, ipCARBON, t_opac::ipElement, ipH_LIKE, ipHYDROGEN, ipIRON, ipMAGNESIUM, t_opac::ipmgex, ipNITROGEN, t_opac::ipo1exc, t_opac::ipo3exc, t_opac::ipo3exc3, t_opac::ipOpMgEx, ipOXYGEN, iso_sp, GrainVar::lgDustOn(), t_dense::lgElmtOn, t_mole_global::lgLeidenHack, t_ionbal::lgPhotoIoniz_On, t_opac::lgRedoStatic, GrainVar::lgWD01, LIMELM, MAX2, MIN2, mole_global, t_rfield::nflux, NISO, t_conv::nPres2Ioniz, t_Heavy::nsShells, nzone, opac, oxy, t_atoms::p2nit, t_ionbal::PhotoRate_Shell, t_oxy::poiexc, t_oxy::poiii2, t_oxy::poiii2Max, t_oxy::poiii3, t_oxy::poiii3Max, t_oxy::poimax, t_atoms::popmg2, t_oxy::r4363Max, t_oxy::r5007Max, rfield, t_oxy::s3727, t_oxy::s7325, thermal, t_hmi::UV_Cont_rel2_Habing_TH85_face, t_dense::xIonDense, and t_atoms::xMg2Max.

Referenced by IonNelem().

Here is the call graph for this function:

void ion_recom_calculate ( void   ) 
void ion_recomb ( bool  ,
long   
)

ion_recomb generate recombination coefficients for any species

void ion_recombAGN ( FILE *  io  ) 

ion_recombAGN generate recombination coefficients for AGN table

Definition at line 218 of file ion_recomb.cpp.

References abund, ASSERT, t_elementnames::chElementSym, ConvBase(), DEBUG_ENTRY, dense, t_dense::eden, EdenChange(), elementnames, Heavy, ionbal, t_dense::IonHigh, t_dense::IonLow, ioQQQ, ipHYDROGEN, ipLITHIUM, t_abund::lgAGN, LIMELM, N1LIM, N2LIM, phycon, t_ionbal::RateRecomTot, t_phycon::te, TempChange(), and t_Heavy::Valence_IP_Ryd.

Referenced by SaveDo().

Here is the call graph for this function:

void ion_solver ( long int  nelem,
bool  lgPrintIt 
)

ion_solver solve the bi-diagonal matrix for ionization balance

Parameters:
nelem - element number on C scale, He is 1
lgPrintIt - option to print details of matrix elements

Definition at line 62 of file ion_solver.cpp.

References ASSERT, conv, DEBUG_ENTRY, dense, fill_array(), find_solution(), get_total_abundance_ions(), HomogeneousSource(), t_conv::incrementCounter(), ION_SOLVES, t_dense::IonHigh, t_dense::IonLow, ipH_LIKE, iso_charge_transfer_update(), iso_departure_coefficients(), ISO_LOOPS, iso_satellite_update(), iso_set_ion_rates(), iso_solve(), t_prt::lgPrtArry, lgTrivialSolution(), LIMELM, MIN2, NISO, PrintRates(), prt, source, and store_new_densities().

Referenced by IonHelium(), IonHydro(), and IonNelem().

Here is the call graph for this function:

void ion_trim ( long int  nelem  ) 
void ion_wrapper ( long  nelem  ) 

ion_wrapper a wrapper that redirects to IonHelium, IonCarbo, etc..

Definition at line 1482 of file ion_solver.cpp.

References ASSERT, t_elementnames::chElementSym, DEBUG_ENTRY, dense, elementnames, t_dense::gas_phase, IonHelium(), IonHydro(), IonNelem(), ioQQQ, ipHELIUM, ipHYDROGEN, lgElemsConserved(), t_dense::lgElmtOn, t_trace::lgHeavyBug, t_trace::lgTrace, LIMELM, trace, and t_dense::xIonDense.

Referenced by ConvBase().

Here is the call graph for this function:

void ion_zero ( long int  nelem  ) 

ion_zero zero out heating and charge transfer save arrays

Definition at line 8 of file ion_zero.cpp.

References DEBUG_ENTRY, t_thermal::heating, and thermal.

Referenced by IonNelem().

void IonHelium ( void   ) 
void IonNelem ( bool  lgPrintIt,
long int  nelem 
)
bool lgOH_ChargeTransferDominant ( void   ) 

Variable Documentation

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Nov 2012 for cloudy by  doxygen 1.6.1