Cloudy
Spectral Synthesis Code for Astrophysics
|
#include "cddefines.h"
#include "gammas.h"
#include "thermal.h"
#include "secondaries.h"
#include "opacity.h"
#include "rfield.h"
#include "ionbal.h"
#include "heavy.h"
#include "phycon.h"
#include "vectorize.h"
#include "dense.h"
Functions | |
double | GammaBn (long int ipLoEnr, long int ipHiEnr, long int ipOpac, double thresh, double *ainduc, double *rcool, t_phoHeat *photoHeat) |
void | GammaPrtShells (long nelem, long ion) |
void | GammaPrt (long int ipLoEnr, long int ipHiEnr, long int ipOpac, FILE *ioFILE, double total, double threshold) |
double | GammaK (long int ipLoEnr, long int ipHiEnr, long int ipOpac, double yield1, t_phoHeat *photoHeat) |
void | GammaPrtRate (FILE *ioFILE, long int ion, long int nelem, bool lgPRT) |
double GammaBn | ( | long int | n1, |
long int | n2, | ||
long int | ip, | ||
double | thresh, | ||
double * | ainduc, | ||
double * | rcool, | ||
t_phoHeat * | photoHeat | ||
) |
GammaBn evaluate photoionization rate for single shell with induced recomb
n1 | |
n2 | |
ip | |
thresh | |
*ainduc | |
*rcool | |
*photoHeat |
References t_mesh::anu(), t_mesh::anumax(), t_mesh::anumin(), ASSERT, t_rfield::ConInterOut, t_rfield::ContBoltzAvg, DEBUG_ENTRY, t_rfield::flux, fp_equal(), t_secondaries::HeatEfficPrimary, t_phoHeat::HeatHiEnr, t_phoHeat::HeatLowEnr, t_phoHeat::HeatNet, t_secondaries::ipSecIon, t_rfield::lgInducProcess, t_rfield::lgOutOnly, MAX2, MIN2, t_rfield::nflux, t_rfield::nPositive, opac, t_opac::OpacStack, t_rfield::otslin, phycon, rfield, secondaries, t_rfield::SummedCon, t_phycon::te_ryd, and t_mesh::widflx().
Referenced by iso_photo(), and mole_h_reactions().
double GammaK | ( | long int | n1, |
long int | n2, | ||
long int | ipOpac, | ||
double | yield1, | ||
t_phoHeat * | photoHeat | ||
) |
GammaK evaluate photoionization rate for single shell
References t_mesh::anu(), t_mesh::anuptr(), ASSERT, t_rfield::ConInterOut, DEBUG_ENTRY, t_rfield::flux, get_ptr(), t_secondaries::HeatEfficPrimary, t_phoHeat::HeatHiEnr, t_phoHeat::HeatLowEnr, t_phoHeat::HeatNet, t_secondaries::ipSecIon, t_rfield::lgOutOnly, MAX2, MIN2, t_rfield::nflux, t_rfield::nPositive, opac, t_opac::OpacStack, t_rfield::otslin, reduce_abc_ab(), rfield, secondaries, and t_rfield::SummedCon.
Referenced by diatomics::CalcPhotoionizationRate(), GammaPrtShells(), highen(), ion_photo(), and iso_photo().
void GammaPrt | ( | long int | n1, |
long int | n2, | ||
long int | ip, | ||
FILE * | io, | ||
double | total, | ||
double | threshold | ||
) |
GammaPrt special version of gamma function to print strong contributors
n1 | |
n2 | |
ip | |
io | io unit we will write to |
total | |
threshold |
References t_mesh::anu(), t_rfield::chContLabel, t_rfield::chLineLabel, t_rfield::ConInterOut, t_rfield::ConOTS_local_OTS_rate, DEBUG_ENTRY, t_rfield::flux, fnzone, fprintf(), t_rfield::lgOutOnly, MIN2, t_rfield::nflux, opac, t_opac::OpacStack, t_rfield::otscon, t_rfield::otslin, t_rfield::outlin, t_rfield::outlin_noplot, PrintEfmt, rfield, SDIV(), and t_rfield::SummedCon.
Referenced by GammaPrtRate(), ion_photo(), iso_photo(), mole_h_reactions(), and SaveDo().
void GammaPrtRate | ( | FILE * | ioFILE, |
long int | ion, | ||
long int | ipZ, | ||
bool | lgPRT | ||
) |
GammaPrtRate will print resulting rates for ion and element
*ioFILE | io unit we will write to |
ion | stage of ionization on C scale, 0 for atom |
ipZ | 0 for H, etc |
lgPRT | true - then print photo sources for valence shell |
References DEBUG_ENTRY, dense, fprintf(), GammaPrt(), Heavy, ionbal, t_opac::ipElement, t_dense::lgElmtOn, t_Heavy::nsShells, opac, and t_ionbal::PhotoRate_Shell.
void GammaPrtShells | ( | long | nelem, |
long | int | ||
) |
GammaPrtShells for the element nelem and ion, print total photo rate, subshells, and call GamaPrt for important subshells
nelem | |
ion |
References DEBUG_ENTRY, dense, fnzone, fprintf(), GammaK(), Heavy, Singleton< t_yield >::Inst(), ionbal, ioQQQ, t_opac::ipElement, t_dense::lgElmtOn, t_ionbal::lgPhotoIoniz_On, t_opac::lgRedoStatic, t_Heavy::nsShells, opac, and t_ionbal::PhotoRate_Shell.