cloudy
trunk
|
#include "cddefines.h"
#include "atmdat_adfa.h"
#include "conv.h"
#include "heavy.h"
#include "helike_cs.h"
#include "hydroeinsta.h"
#include "hydrogenic.h"
#include "hydro_vs_rates.h"
#include "ionbal.h"
#include "iso.h"
#include "opacity.h"
#include "phycon.h"
#include "rfield.h"
#include "secondaries.h"
#include "trace.h"
#include "freebound.h"
#include "dense.h"
#include "lines_service.h"
#include "vectorize.h"
Go to the source code of this file.
Functions | |
STATIC double | iso_get_collision_strength (long ipISO, long nelem, long ipCollider, long ipHi, long ipLo) |
STATIC double | iso_get_collision_strength_collapsed_to_resolved (long ipISO, long nelem, long ipCollider, long nHi, double IP_Ryd_Hi, long nLo, long lLo, long sLo, long jLo, long gLo, double IP_Ryd_Lo, double Aul, double tauLo, double EnerWN, double EnerErg) |
STATIC double | iso_get_collision_strength_resolved (long ipISO, long nelem, long ipCollider, long nHi, long lHi, long sHi, long jHi, long gHi, double IP_Ryd_Hi, long nLo, long lLo, long sLo, long jLo, long gLo, double IP_Ryd_Lo, double Aul, double tauLo, double EnerWN, double EnerErg, const char **where) |
STATIC double | iso_get_collision_strength_collapsed_to_collapsed_fast (long ipISO, long nelem, long ipCollider, long nHi, long gHi, double IP_Ryd_Hi, long nLo, double IP_Ryd_Lo, double tauLo, double EnerWN, double EnerErg) |
void | iso_collisional_ionization (long ipISO, long nelem) |
void | iso_suprathermal (long ipISO, long nelem) |
void | iso_collide (long ipISO, long nelem) |
void iso_collide | ( | long | ipISO, |
long | nelem | ||
) |
iso_collide - calculate collision data for ipISO, nelem
ipISO | |
nelem |
Definition at line 147 of file iso_collide.cpp.
References t_mesh::anu(), ASSERT, t_dense::AtomicWeight, BIGDOUBLE, qList::Boltzmann(), t_isoCTRL::chISO, CollisionProxy::col_str(), TransitionProxy::Coll(), colliders, t_ionbal::CollIonRate_Ground, CollisionProxy::ColUL(), qList::ConBoltz(), conv, DEBUG_ENTRY, dense, t_dense::density_low_limit, t_dense::EdenHCorr, t_iso_sp::fb, fp_equal(), fprintf(), Heavy, ionbal, ioQQQ, ipALPHA, IPCOLLIS, ipELECTRON, t_Heavy::ipHeavy, t_trace::ipIsoTrace, ipNCOLLIDER, iso_collisional_ionization(), iso_ctrl, iso_get_collision_strength(), iso_put_error(), iso_sp, iso_suprathermal(), t_opac::lgCaseB_HummerStorey, t_isoCTRL::lgColl_excite, t_trace::lgHBug, t_trace::lgHeBug, t_trace::lgIsoTraceFull, t_iso_sp::lgPopLTE_OK, t_trace::lgTrace, LIMELM, ColliderList::list, max(), MAX_DENSITY, MIN2, N_, NISO, t_isoCTRL::nLyaLevel, t_conv::nTotalIoniz, t_iso_sp::numLevels_local, t_iso_sp::numLevels_max, opac, phycon, powpq(), PrintEfmt, avx_ptr< T, lgBC >::ptr0(), CollisionProxy::rate_coef_ul(), CollisionProxy::rate_coef_ul_set(), rfield, SMALLDOUBLE, t_phycon::sqrte, t_iso_sp::st, t_isoCTRL::stat_ion, t_phycon::te, t_phycon::te32, t_phycon::te_ryd, trace, t_iso_sp::trans(), and vexp().
Referenced by iso_update_rates(), and SaveLineData().
void iso_collisional_ionization | ( | long | ipISO, |
long | nelem | ||
) |
iso_collisional_ionization - calculate collisional ionization rate for ipISO, nelem
ipISO | |
nelem |
Definition at line 44 of file iso_collide.cpp.
References ASSERT, t_ADfA::coll_ion_wrapper(), DEBUG_ENTRY, t_iso_sp::fb, Hion_coll_ioniz_ratecoef(), hydro_vs_ioniz(), Singleton< t_ADfA >::Inst(), IPCOLLIS, iso_ctrl, iso_put_error(), iso_sp, t_isoCTRL::lgColl_ionize, t_iso_sp::lgLevelsLowered, t_isoCTRL::lgTopoff, N_, NISO, t_iso_sp::numLevels_max, phycon, and t_phycon::te.
Referenced by iso_collide().
STATIC double iso_get_collision_strength | ( | long | ipISO, |
long | nelem, | ||
long | ipCollider, | ||
long | ipHi, | ||
long | ipLo | ||
) |
Definition at line 374 of file iso_collide.cpp.
References ASSERT, t_dense::AtomicWeight, EmissionProxy::Aul(), colliders, DEBUG_ENTRY, dense, t_dense::eden, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), TransitionProxy::EnergyWN(), t_iso_sp::fb, fprintf(), GetGF(), EmissionProxy::gf(), HydroEinstA(), ioQQQ, ipELECTRON, iso_ctrl, iso_get_collision_strength_collapsed_to_collapsed_fast(), iso_get_collision_strength_collapsed_to_resolved(), iso_get_collision_strength_resolved(), iso_sp, t_opac::lgCaseB_HummerStorey, t_isoCTRL::lgColl_excite, t_isoCTRL::lgColl_l_mixing, ColliderList::list, t_iso_sp::n_HighestResolved_max, t_iso_sp::nCollapsed_max, t_iso_sp::numLevels_max, opac, phycon, powpq(), t_phycon::sqrte, t_iso_sp::st, t_phycon::te, and t_iso_sp::trans().
Referenced by iso_collide().
STATIC double iso_get_collision_strength_collapsed_to_collapsed_fast | ( | long | ipISO, |
long | nelem, | ||
long | ipCollider, | ||
long | nHi, | ||
long | gHi, | ||
double | IP_Ryd_Hi, | ||
long | nLo, | ||
double | IP_Ryd_Lo, | ||
double | tauLo, | ||
double | EnerWN, | ||
double | EnerErg | ||
) |
Definition at line 468 of file iso_collide.cpp.
References ASSERT, t_iso_sp::CachedAs, DEBUG_ENTRY, t_iso_sp::IndexIfAllResolved, ipH_LIKE, ipHE_LIKE, ipHYDROGEN, iso_ctrl, iso_get_collision_strength_resolved(), iso_sp, t_opac::lgCaseB_HummerStorey, t_iso_sp::n_HighestResolved_max, opac, POW2, t_isoCTRL::SmallA, and TotalInsanity().
Referenced by iso_get_collision_strength().
STATIC double iso_get_collision_strength_collapsed_to_resolved | ( | long | ipISO, |
long | nelem, | ||
long | ipCollider, | ||
long | nHi, | ||
double | IP_Ryd_Hi, | ||
long | nLo, | ||
long | lLo, | ||
long | sLo, | ||
long | jLo, | ||
long | gLo, | ||
double | IP_Ryd_Lo, | ||
double | Aul, | ||
double | tauLo, | ||
double | EnerWN, | ||
double | EnerErg | ||
) |
Definition at line 614 of file iso_collide.cpp.
References ASSERT, t_iso_sp::CachedAs, DEBUG_ENTRY, t_iso_sp::IndexIfAllResolved, ipHE_LIKE, iso_ctrl, iso_get_collision_strength_resolved(), iso_sp, t_iso_sp::n_HighestResolved_max, t_isoCTRL::SmallA, and TotalInsanity().
Referenced by iso_get_collision_strength().
STATIC double iso_get_collision_strength_resolved | ( | long | ipISO, |
long | nelem, | ||
long | ipCollider, | ||
long | nHi, | ||
long | lHi, | ||
long | sHi, | ||
long | jHi, | ||
long | gHi, | ||
double | IP_Ryd_Hi, | ||
long | nLo, | ||
long | lLo, | ||
long | sLo, | ||
long | jLo, | ||
long | gLo, | ||
double | IP_Ryd_Lo, | ||
double | Aul, | ||
double | tauLo, | ||
double | EnerWN, | ||
double | EnerErg, | ||
const char ** | where | ||
) |
Definition at line 687 of file iso_collide.cpp.
References DEBUG_ENTRY, GetHelikeCollisionStrength(), GetHlikeCollisionStrength(), ipH_LIKE, ipHE_LIKE, and TotalInsanity().
Referenced by iso_get_collision_strength(), iso_get_collision_strength_collapsed_to_collapsed_fast(), and iso_get_collision_strength_collapsed_to_resolved().
void iso_suprathermal | ( | long | ipISO, |
long | nelem | ||
) |
iso_suprathermal - calculate secondary excitation by suprathermal electrons for iso sequences
ipISO | |
nelem |
Definition at line 106 of file iso_collide.cpp.
References ASSERT, TransitionProxy::Coll(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyWN(), EmissionProxy::gf(), TransitionProxy::ipCont(), ipH2p, ipH_LIKE, ipHYDROGEN, iso_ctrl, iso_sp, t_isoCTRL::lgColl_excite, LIMELM, NISO, t_iso_sp::numLevels_max, CollisionProxy::rate_lu_nontherm_set(), secondaries, t_iso_sp::trans(), and t_secondaries::x12tot.
Referenced by iso_collide().