Go to the source code of this file.
Data Structures | |
struct | t_FeII |
class | t_fe2ovr_la |
Defines | |
#define | NFE2LEVN 371 |
Functions | |
void | AssertFeIIDep (double *pred, double *BigError, double *StdDev) |
void | FeIICreate (void) |
void | FeIIPrint (void) |
void | FeIILevelPops (void) |
double | FeIISumBand (realnum wl1, realnum wl2, double *SumBandInward) |
void | FeII_RT_TauInc (void) |
void | FeII_RT_tau_reset (void) |
void | FeIIPoint (void) |
void | FeIIAccel (double *fe2drive) |
void | FeII_RT_Make (void) |
void | FeIIAddLines (void) |
void | FeIIPunchLevels (FILE *ioPUN) |
void | FeIIPunchColden (FILE *ioPUN) |
void | FeII_Colden (const char *chLabel) |
void | FeIISaveLines (FILE *ioPUN) |
void | FeIIPunchOpticalDepth (FILE *ioPUN) |
void | FeII_LineZero (void) |
void | FeIIIntenZero (void) |
double | FeIIRadPress (void) |
double | FeII_InterEnergy (void) |
void | FeIIPunDepart (FILE *ioPUN, bool lgDoAll) |
void | PunFeII (FILE *io) |
void | FeIIPun1Depart (FILE *ioPUN, long int nPUN) |
void | FeIIPunData (FILE *ioPUN, bool lgDoAll) |
void | FeIIPunPop (FILE *ioPUN, bool lgPunchRange, long int ipRangeLo, long int ipRangeHi, bool lgPunchDensity) |
void | FeIIPunchLineStuff (FILE *io, realnum xLimit, long index) |
void | FeIIZero (void) |
void | FeIIReset (void) |
void | FeII_OTS (void) |
void | FeII_RT_Out (void) |
void | ParseAtomFeII (Parser &p) |
Variables | |
bool | lgFeIIMalloc |
EXTERN struct t_FeII | FeII |
const int | NFEII = 373 |
const int | NFE2PR = 61 |
these routines are in FeIILevelPops.c
Definition in file atomfeii.h.
#define NFE2LEVN 371 |
this is the number of levels for the large FeII atom
Definition at line 180 of file atomfeii.h.
Referenced by FeIICollRatesBoltzmann(), FeIICreate(), FeIILevelPops(), ParseAtomFeII(), and ParseSave().
void AssertFeIIDep | ( | double * | pred, | |
double * | BigError, | |||
double * | StdDev | |||
) |
called by assert feii depart coef command
*pred | ||
*BigError | ||
*StdDev |
Definition at line 2417 of file atom_feii.cpp.
References ASSERT, DEBUG_ENTRY, Fe2DepCoef, FeII, lgFeIIEverCalled, t_FeII::lgSimulate, MAX2, t_FeII::nFeIILevel_local, and POW2.
Referenced by lgCheckMonitors().
void FeII_Colden | ( | const char * | chLabel | ) |
FeII_Colden maintain H2 column densities within X
*chLabel |
Definition at line 177 of file atom_feii.cpp.
References cdEXIT, DEBUG_ENTRY, t_radius::drad_x_fillfac, Fe2ColDen, Fe2LevelPop, FeII, ioQQQ, t_FeII::nFeIILevel_local, t_FeII::nFeIILevel_malloc, and radius.
Referenced by molcol().
double FeII_InterEnergy | ( | void | ) |
void FeII_LineZero | ( | void | ) |
initialize optical depth arrays, called by TauOut
Definition at line 1794 of file atom_feii.cpp.
References DEBUG_ENTRY, Fe2LevN, FeII, t_FeII::nFeIILevel_malloc, and transition::Zero().
Referenced by RT_tau_init().
void FeII_OTS | ( | void | ) |
do OTS and outward parts of FeII lines, if large atom is turned on
Definition at line 2469 of file atom_feii.cpp.
References ASSERT, t_emission::Aul, DEBUG_ENTRY, transition::Emis, Fe2LevN, FeII, transition::Hi, transition::ipCont, t_FeII::nFeIILevel_local, t_emission::ots, t_emission::Pdest, t_quantumState::Pop, and RT_OTS_AddLine().
Referenced by RT_OTS().
void FeII_RT_Make | ( | void | ) |
do line RT for FeII model
Definition at line 1513 of file atom_feii.cpp.
References t_dense::AtomicWeight, DEBUG_ENTRY, dense, Fe2LevN, FeII, GetDopplerWidth(), ioQQQ, ipIRON, t_trace::lgTrace, t_FeII::nFeIILevel_local, t_FeII::nFeIILevel_malloc, RT_line_one(), and trace.
Referenced by Fe2_cooling().
void FeII_RT_Out | ( | void | ) |
do outward rates for FeII, called by RT_diffuse
Definition at line 2506 of file atom_feii.cpp.
References DEBUG_ENTRY, dense, Fe2LevN, FeII, ipIRON, t_FeII::nFeIILevel_local, transition::outline_resonance(), and t_dense::xIonDense.
Referenced by RT_diffuse().
void FeII_RT_tau_reset | ( | void | ) |
FeII_RT_tau_reset reset optical depths for large FeII atom, called by update after each iteration
Definition at line 1394 of file atom_feii.cpp.
References DEBUG_ENTRY, Fe2LevN, FeII, t_FeII::nFeIILevel_malloc, and RT_line_one_tau_reset().
Referenced by RT_tau_reset().
void FeII_RT_TauInc | ( | void | ) |
FeII_RT_TauInc called once per zone in RT_tau_inc to increment large FeII atom line optical depths
Definition at line 1366 of file atom_feii.cpp.
References t_dense::AtomicWeight, DEBUG_ENTRY, dense, Fe2LevN, FeII, GetDopplerWidth(), ipIRON, t_FeII::nFeIILevel_local, t_FeII::nFeIILevel_malloc, and RT_line_one_tauinc().
Referenced by RT_tau_inc().
void FeIIAccel | ( | double * | fe2drive | ) |
called by rt_line_driving to compute radiative acceleration due to FeII lines
*fe2drive |
Definition at line 1485 of file atom_feii.cpp.
References DEBUG_ENTRY, transition::Emis, transition::EnergyErg, Fe2LevN, FeII, t_FeII::nFeIILevel_local, t_emission::PopOpc, and t_emission::pump.
Referenced by RT_line_driving().
void FeIIAddLines | ( | void | ) |
called by LineSet4, this adds feii line intensities together
Definition at line 1548 of file atom_feii.cpp.
References DEBUG_ENTRY, t_radius::dVeffAper, transition::Emis, Fe2LevN, Fe2SavN, FeII, ioQQQ, t_LineSave::ipass, LineSave, t_FeII::nFeIILevel_local, t_FeII::nFeIILevel_malloc, nzone, radius, and t_emission::xIntensity.
Referenced by lines_lv1_k_zn().
void FeIICreate | ( | void | ) |
reads in feii data from disk, creates space for main arrays
Definition at line 219 of file atom_feii.cpp.
References AddLine2Stack(), AddState2Stack(), amat, ASSERT, t_emission::Aul, cdEXIT, CS2SMALL, DEBUG_ENTRY, transition::Emis, transition::EnergyWN, Fe2A, Fe2ColDen, Fe2Coll, Fe2CPump, Fe2DepCoef, Fe2Energies, Fe2LevelPop, Fe2LevN, Fe2LPump, Fe2SavN, t_FeII::feconwlHi, t_FeII::feconwlLo, FeII, FeIIBandsCreate(), FeIIBoltzmann, FeIIContCreate(), FILENAME_PATH_LENGTH_2, fp_equal(), t_emission::FracInwd, t_quantumState::g, t_emission::gf, transition::Hi, t_quantumState::IonStg, ioQQQ, t_FeII::ipRedisFcnResonance, t_FeII::ipRedisFcnSubordinate, t_emission::iRedisFun, transition::Junk(), lgFeIIMalloc, t_trace::lgTrace, transition::Lo, MALLOC, max(), ncs1, t_quantumState::nelem, t_FeII::nfe2con, NFE2LEVN, t_FeII::nFeIILevel_local, t_FeII::nFeIILevel_malloc, nnPradDat, NPRADDAT, open_data(), t_emission::ots, t_emission::phots, POW2, read_whole_line(), RefIndex(), save, sPradDat, trace, TRANS_PROB_CONST, USE_OLD, transition::WLAng, xMatrix, and yVector.
Referenced by atmdat_readin().
void FeIIIntenZero | ( | void | ) |
FeIIIntenZero zero out intensity of FeII atom
Definition at line 1820 of file atom_feii.cpp.
References transition::Coll, t_emission::ColOvTot, t_collision::cool, DEBUG_ENTRY, transition::Emis, Fe2LevelPop, Fe2LevN, FeII, t_FeII::for7, t_collision::heat, transition::Hi, ipT191, ipTFe16, ipTFe26, ipTFe34, ipTFe35, ipTFe46, ipTFe56, ipTr48, ipTuv3, transition::Lo, t_FeII::nFeIILevel_malloc, t_emission::ots, t_emission::phots, t_quantumState::Pop, t_emission::PopOpc, TauLines, and t_emission::xIntensity.
Referenced by Fe2_cooling().
void FeIILevelPops | ( | void | ) |
Definition at line 696 of file atom_feii.cpp.
References amat, AMAT, t_emission::Aul, cdEXIT, t_emission::ColOvTot, t_FeII::ddT_Fe2_large_cool, DEBUG_ENTRY, dense, t_hydro::dstfe2lya, t_dense::eden, transition::Emis, transition::EnergyErg, t_FeII::Fe2_large_cool, t_FeII::Fe2_large_heat, Fe2A, Fe2Coll, Fe2CPump, Fe2DepCoef, Fe2LevelPop, Fe2LevN, Fe2LPump, FeII, FeIIBoltzmann, FeIICollRatesBoltzmann(), FeIILyaPump(), t_quantumState::g, getrf_wrapper(), getrs_wrapper(), t_thermal::halfte, transition::Hi, hydro, ioQQQ, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, ipIRON, ipiv, lgFeIIEverCalled, t_FeII::lgFeIILargeOn, t_FeII::lgSimulate, t_trace::lgTrace, transition::Lo, MAX2, NFE2LEVN, t_FeII::nFeIILevel_local, t_FeII::nFeIILevel_malloc, t_emission::Pdest, t_emission::Pelec_esc, t_emission::Pesc, t_emission::phots, t_quantumState::Pop, t_emission::PopOpc, t_emission::pump, SDIV(), SMALLFLOAT, StatesElemNEW, thermal, trace, Transitions, t_thermal::tsq1, t_emission::xIntensity, t_dense::xIonDense, xMatrix, and yVector.
Referenced by Fe2_cooling().
void FeIIPoint | ( | void | ) |
FeIIPoint called by ContCreatePointers to create pointers for lines in large FeII atom
Definition at line 1425 of file atom_feii.cpp.
References abscf(), t_rfield::chLineLabel, t_emission::dampXvel, DEBUG_ENTRY, transition::Emis, transition::EnergyErg, transition::EnergyK, transition::EnergyWN, ERG1CM, Fe2LevN, FeII, t_quantumState::g, transition::ipCont, t_emission::ipFine, ipFineCont(), ipoint(), transition::Lo, t_FeII::nFeIILevel_malloc, t_emission::opacity, PI4, rfield, T1CM, and WAVNRYD.
Referenced by ContCreatePointers().
void FeIIPrint | ( | void | ) |
FeIIPrint
Definition at line 1311 of file atom_feii.cpp.
References DEBUG_ENTRY.
Referenced by PrtZone().
void FeIIPun1Depart | ( | FILE * | ioPUN, | |
long int | nPUN | |||
) |
send the departure coef for physical level nPUN to unit ioPUN
ioPUN | the io unit where the print should be directed | |
nPUN | the physical (not c) number of the level |
Definition at line 2047 of file atom_feii.cpp.
References ASSERT, DEBUG_ENTRY, Fe2DepCoef, FeII, and t_FeII::nFeIILevel_local.
Referenced by FeIIPunDepart().
void FeIIPunchColden | ( | FILE * | ioPUN | ) |
FeIIPunchColden save level energies, stat weights, column density
*ioPUN | file we will save to |
Definition at line 1620 of file atom_feii.cpp.
References DEBUG_ENTRY, Fe2ColDen, Fe2LevN, FeII, and t_FeII::nFeIILevel_malloc.
Referenced by SaveDo().
void FeIIPunchLevels | ( | FILE * | ioPUN | ) |
called by parse_punch, save level energies and stat weights
ioPUN |
Definition at line 1599 of file atom_feii.cpp.
References DEBUG_ENTRY, Fe2LevN, FeII, and t_FeII::nFeIILevel_malloc.
Referenced by SaveDo().
void FeIIPunchLineStuff | ( | FILE * | io, | |
realnum | xLimit, | |||
long | index | |||
) |
include FeII lines in punched optical depths, etc, called from SaveLineStuff
io | ||
xLimit | ||
index |
Definition at line 2782 of file atom_feii.cpp.
References t_dense::AtomicWeight, DEBUG_ENTRY, dense, Fe2LevN, FeII, GetDopplerWidth(), ipIRON, t_FeII::nFeIILevel_local, and Save1Line().
Referenced by SaveLineStuff().
void FeIIPunchOpticalDepth | ( | FILE * | ioPUN | ) |
called by FeIIPunchLevels, this creates the save feii line optical depths
ioPUN |
Definition at line 1645 of file atom_feii.cpp.
References DEBUG_ENTRY, Fe2LevN, FeII, and t_FeII::nFeIILevel_malloc.
Referenced by SaveDo().
void FeIIPunData | ( | FILE * | ioPUN, | |
bool | lgDoAll | |||
) |
save line data for FeII atom
ioPUN | io unit for save | |
lgDoAll | save all levels if true, only subset if false |
Definition at line 1922 of file atom_feii.cpp.
References cdEXIT, DEBUG_ENTRY, Fe2LevN, FeII, ioQQQ, lgFeIIEverCalled, MIN2, ncs1, t_FeII::nFeIILevel_local, and Save1LineData().
Referenced by SaveLineData().
void FeIIPunDepart | ( | FILE * | ioPUN, | |
bool | lgDoAll | |||
) |
save some departure coef for large atom, set with save feii departure command
ioPUN | ||
lgDoAll | option to save all dep coef if true |
Definition at line 1994 of file atom_feii.cpp.
References DEBUG_ENTRY, FeII, FeIIPun1Depart(), t_FeII::nFeIILevel_local, and NLEVDEP.
Referenced by SaveDo().
void FeIIPunPop | ( | FILE * | ioPUN, | |
bool | lgPunchRange, | |||
long int | ipRangeLo, | |||
long int | ipRangeHi, | |||
bool | lgPunchDensity | |||
) |
save some level pops for large atom, set with save feii level populations command
ioPUN | ||
lgPunchRange | save range of levels if true, only selected subset if false | |
ipRangeLo | if ipPunchRange is true, this is lower bound of range on C scale | |
ipRangeHi | if ipPunchRange is true, this is upper bound of range on C scale | |
lgPunchDensity | flag saying whether to save density (cm-3, true) or relative population (flase) |
Definition at line 2154 of file atom_feii.cpp.
References ASSERT, DEBUG_ENTRY, dense, Fe2LevelPop, FeII, ipIRON, MIN2, t_FeII::nFeIILevel_local, NLEVPOP, SDIV(), and t_dense::xIonDense.
Referenced by SaveDo().
double FeIIRadPress | ( | void | ) |
rad pre due to FeII lines called in PresTotCurrent
Definition at line 2800 of file atom_feii.cpp.
References t_dense::AtomicWeight, DEBUG_ENTRY, dense, DumpLine(), transition::Emis, Fe2LevN, FeII, GetDopplerWidth(), ioQQQ, ipIRON, iteration, lgFeIIEverCalled, t_FeII::nFeIILevel_local, nzone, t_emission::PopOpc, PressureRadiationLine(), RT_LineWidth(), and SMALLFLOAT.
Referenced by PresTotCurrent().
void FeIIReset | ( | void | ) |
initialize some variables, called by zero
Definition at line 2077 of file atom_feii.cpp.
References DEBUG_ENTRY, FeII, t_FeII::nFeIILevel_local, and t_FeII::nFeIILevel_malloc.
Referenced by IterRestart().
void FeIISaveLines | ( | FILE * | ioPUN | ) |
called by FeIIPunchLevels, this creates the save feii line intensity
ioPUN |
Definition at line 1680 of file atom_feii.cpp.
References cdEXIT, cdLine(), t_radius::Conv2PrtInten, DEBUG_ENTRY, transition::Emis, transition::EnergyWN, t_FeII::fe2ener, Fe2LevN, Fe2SavN, t_FeII::fe2thresh, FeII, ioQQQ, t_LineSave::ipNormWavL, t_FeII::lgShortFe2, LineSave, LineSv, MAX2, t_FeII::nFeIILevel_malloc, radius, t_LineSave::ScaleNormLine, SMALLFLOAT, t_tag_LineSv::SumLine, and t_emission::TauIn.
Referenced by SaveDo().
called in LineSet4, this sums over FeII bands and returns intensities args are lower and upper edges of bands as set in fe2bands.dat
wl1 | ||
wl2 | ||
*SumBandInward |
Definition at line 1326 of file atom_feii.cpp.
References ASSERT, DEBUG_ENTRY, dense, transition::Emis, Fe2LevN, FeII, t_emission::FracInwd, ipIRON, t_FeII::nFeIILevel_local, SMALLFLOAT, t_emission::xIntensity, and t_dense::xIonDense.
Referenced by lines_lv1_k_zn().
void FeIIZero | ( | void | ) |
zero out variables that deal with FeII, called by zero
Definition at line 2092 of file atom_feii.cpp.
References t_FeII::ddT_Fe2_large_cool, DEBUG_ENTRY, t_FeII::Fe2_large_cool, t_FeII::Fe2_large_heat, t_FeII::fe2ener, t_FeII::fe2thresh, FeII, ipCRD, ipCRDW, t_FeII::ipRedisFcnResonance, t_FeII::ipRedisFcnSubordinate, t_FeII::lgFeIILargeOn, lgFeIIMalloc, t_FeII::lgLyaPumpOn, t_FeII::lgPrint, t_FeII::lgSimulate, t_FeII::lgSlow, t_FeII::nFeIILevel_local, and t_FeII::nFeIILevel_malloc.
Referenced by zero().
void ParseAtomFeII | ( | Parser & | p | ) |
Definition at line 2582 of file atom_feii.cpp.
References cdEXIT, DEBUG_ENTRY, t_FeII::feconwlHi, t_FeII::feconwlLo, FeII, Parser::getNumberCheck(), ioQQQ, ipCRD, ipCRDW, ipPRD, t_FeII::ipRedisFcnResonance, t_FeII::ipRedisFcnSubordinate, t_FeII::lgFeIILargeOn, lgFeIIMalloc, t_FeII::lgPrint, t_FeII::lgSimulate, t_FeII::lgSlow, t_FeII::nfe2con, NFE2LEVN, t_FeII::nFeIILevel_local, t_FeII::nFeIILevel_malloc, Parser::nMatch(), and TotalInsanity().
Referenced by ParseAtom(), and ParseTest().
void PunFeII | ( | FILE * | io | ) |
Definition at line 2762 of file atom_feii.cpp.
References DEBUG_ENTRY, Fe2LevN, FeII, and t_FeII::nFeIILevel_local.
Referenced by SaveSpecial().
Referenced by AssertFeIIDep(), t_fe2ovr_la::atoms_fe2ovr(), Fe2_cooling(), FeII_Colden(), FeII_LineZero(), FeII_OTS(), FeII_RT_Make(), FeII_RT_Out(), FeII_RT_tau_reset(), FeII_RT_TauInc(), FeIIAccel(), FeIIAddLines(), FeIICollRatesBoltzmann(), FeIICreate(), FeIIIntenZero(), FeIILevelPops(), FeIILyaPump(), FeIIPoint(), FeIIPun1Depart(), FeIIPunchColden(), FeIIPunchLevels(), FeIIPunchLineStuff(), FeIIPunchOpticalDepth(), FeIIPunData(), FeIIPunDepart(), FeIIPunPop(), FeIIRadPress(), FeIIReset(), FeIISaveLines(), FeIISumBand(), FeIIZero(), InitDefaultsPreparse(), lines_lv1_k_zn(), ParseAtomFeII(), ParseDont(), ParseSave(), ParseSet(), PunFeII(), and state_get_put().
bool lgFeIIMalloc |
this is set true when space is allocated for the FeII arrays, once this happens the number of levels cannot be changed with the atom feii levels command set false in cddefines
Definition at line 92 of file cdinit.cpp.
Referenced by FeIICreate(), FeIIZero(), and ParseAtomFeII().
const int NFE2PR = 61 |
number of points in partition function table
Definition at line 257 of file atomfeii.h.
Referenced by t_fe2ovr_la::fe2par(), and t_fe2ovr_la::t_fe2ovr_la().
const int NFEII = 373 |
number of FeII lines in Fred's atom
Definition at line 255 of file atomfeii.h.
Referenced by t_fe2ovr_la::atoms_fe2ovr(), t_fe2ovr_la::init_pointers(), t_fe2ovr_la::t_fe2ovr_la(), t_fe2ovr_la::tau_inc(), and t_fe2ovr_la::zero_opacity().