atomfeii.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  t_FeII
struct  t_fe2ovr_la

Defines

#define NFE2LEVN   371
#define NFEII   373

Functions

void AssertFeIIDep (double *pred, double *BigError, double *StdDev)
void FeIIFillLow16 (void)
void FeIICreate (void)
void FeIIPrint (void)
void FeIILevelPops (void)
double FeIISumBand (float wl1, float wl2)
void FeII_RT_TauInc (void)
void FeII_RT_tau_reset (void)
void FeIIPoint (void)
void FeIIAccel (double *fe2drive)
void FeII_RT_Make (bool lgDoEsc, bool lgUpdateFineOpac)
void FeIIAddLines (void)
void FeIIPunchLevels (FILE *ioPUN)
void FeIIPunchColden (FILE *ioPUN)
void FeII_Colden (const char *chLabel)
void FeIIPunchLines (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, float xLimit, long index)
void FeIIZero (void)
void FeIIReset (void)
void FeII_OTS (void)
void FeII_RT_Out (void)
void ParseAtomFeII (char *chCard)
void Fe2_ovr_DataInit (void)
void atoms_fe2ovr (void)
void pfeii (FILE *io)

Variables

bool lgFeIIMalloc
EXTERN struct t_FeII FeII
EXTERN struct t_fe2ovr_la fe2ovr_la


Detailed Description

these routines are in FeIILevelPops.c

Definition in file atomfeii.h.


Define Documentation

#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(), FeIIZero(), and ParseAtomFeII().

#define NFEII   373

number of FeII lines in Fred's atom

Definition at line 331 of file atomfeii.h.

Referenced by atoms_fe2ovr(), ContCreatePointers(), Fe2_ovr_DataInit(), pfeii(), RT_tau_inc(), and zero().


Function Documentation

void AssertFeIIDep ( double *  pred,
double *  BigError,
double *  StdDev 
)

called by assert feii depart coef command

Parameters:
*pred 
*BigError 
*StdDev 

Definition at line 2768 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, Fe2DepCoef, FeII, t_FeII::lgSimulate, MAX2, t_FeII::nFeIILevel, and POW2.

Referenced by lgCheckAsserts().

void atoms_fe2ovr ( void   ) 

atoms_fe2ovr compute FeII overlap with Lya

Todo:
2 hydro.dstfe2lya is always multiplied by a double and stuffed into a double. defining it as a float causes lost precision here.

Definition at line 19 of file atom_fe2ovr.cpp.

References ASSERT, t_rfield::ContBoltz, DEBUG_ENTRY, DEBUG_EXIT, dense, t_DoppVel::doppler, DoppVel, t_hydro::dstfe2lya, Fe2_ovr_DataInit(), t_fe2ovr_la::fe2gs, t_fe2ovr_la::fe2lam, t_fe2ovr_la::fe2osc, fe2ovr_la, fe2par(), t_fe2ovr_la::Fe2PopLte, t_fe2ovr_la::Fe2TauLte, FeII, t_fe2ovr_la::feopc, t_hydro::HLineWidth, hydro, t_fe2ovr_la::ipfe2, ipH1s, ipH_LIKE, ipHYDROGEN, ipIRON, iso, t_FeII::lgFeIILargeOn, t_FeII::lgLyaPumpOn, MAX2, NFEII, nzone, phycon, t_iso::Pop2Ion, rfield, SDIV(), t_phycon::te, WLAL, and t_dense::xIonDense.

Referenced by RT_line_all().

Here is the call graph for this function:

void Fe2_ovr_DataInit ( void   ) 

Fe2_ovr_DataInit storing energy levels for Fred's FeII ground, called

Definition at line 256 of file atom_fe2ovr.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, t_fe2ovr_la::fe2enr, t_fe2ovr_la::fe2gs, t_fe2ovr_la::fe2lam, t_fe2ovr_la::fe2osc, fe2ovr_la, and NFEII.

Referenced by atoms_fe2ovr(), and ContCreatePointers().

void FeII_Colden ( const char *  chLabel  ) 

FeII_Colden maintain H2 column densities within X

Parameters:
*chLabel 

Definition at line 179 of file atom_feii.cpp.

References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, t_radius::drad_x_fillfac, Fe2ColDen, Fe2LevelPop, FeII, ioQQQ, t_FeII::nFeIILevel, and radius.

Referenced by molcol().

Here is the call graph for this function:

double FeII_InterEnergy ( void   ) 

internal energy of FeII called in PresTotCurrent

Returns:

Definition at line 3317 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, EmLine::EnergyErg, Fe2LevN, FeII, t_FeII::nFeIILevel, and EmLine::PopHi.

Referenced by PresTotCurrent().

void FeII_LineZero ( void   ) 

initialize optical depth arrays, called by TauOut

Definition at line 1988 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, EmLineZero(), Fe2LevN, FeII, and t_FeII::nFeIILevel.

Referenced by RT_tau_init().

Here is the call graph for this function:

void FeII_OTS ( void   ) 

do OTS and outward parts of FeII lines, if large atom is turned on

Definition at line 2827 of file atom_feii.cpp.

References ASSERT, EmLine::Aul, DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, t_FeII::nFeIILevel, EmLine::ots, EmLine::Pdest, EmLine::PopHi, and RT_OTS_AddLine().

Referenced by RT_OTS().

Here is the call graph for this function:

void FeII_RT_Make ( bool  lgDoEsc,
bool  lgUpdateFineOpac 
)

called in LineSet4 to add FeII lines to save array

Parameters:
lgDoEsc 
lgUpdateFineOpac 

Definition at line 1681 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, ioQQQ, t_trace::lgTrace, t_FeII::nFeIILevel, t_FeII::nFeIILevelAlloc, RT_line_one(), and trace.

Referenced by RT_line_all().

Here is the call graph for this function:

void FeII_RT_Out ( void   ) 

do outward rates for FeII, called by RT_diffuse

Definition at line 2866 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, dense, Fe2LevN, FeII, ipIRON, t_FeII::nFeIILevel, outline(), and t_dense::xIonDense.

Referenced by RT_diffuse().

Here is the call graph for this function:

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 1545 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, FeIIOvrLap(), t_FeII::nFeIILevelAlloc, and RT_line_one_tau_reset().

Referenced by RT_tau_reset().

Here is the call graph for this function:

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 1514 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, t_FeII::nFeIILevel, t_FeII::nFeIILevelAlloc, and RT_line_one_tauinc().

Referenced by RT_tau_inc().

Here is the call graph for this function:

void FeIIAccel ( double *  fe2drive  ) 

called by rt_line_driving to compute radiative acceleration due to FeII lines

Parameters:
*fe2drive 

Definition at line 1651 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, EmLine::EnergyErg, Fe2LevN, FeII, t_FeII::nFeIILevel, EmLine::PopOpc, and EmLine::pump.

Referenced by RT_line_driving().

void FeIIAddLines ( void   ) 

called by LineSet4, this adds feii line intensities together

Definition at line 1719 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, t_radius::dVeff, Fe2LevN, Fe2SavN, FeII, ioQQQ, t_LineSave::ipass, LineSave, t_FeII::nFeIILevel, nzone, radius, and EmLine::xIntensity.

Referenced by lines_lv1_k_zn().

void FeIICreate ( void   ) 

void FeIIFillLow16 ( void   ) 

void FeIIIntenZero ( void   ) 

void FeIILevelPops ( void   ) 

void FeIIPoint ( void   ) 

FeIIPoint called by ContCreatePointers to create pointers for lines in large FeII atom

Definition at line 1589 of file atom_feii.cpp.

References abscf(), t_rfield::chLineLabel, EmLine::dampXvel, DEBUG_ENTRY, DEBUG_EXIT, EmLine::EnergyErg, EmLine::EnergyK, ERG1CM, Fe2LevN, FeII, EmLine::ipCont, EmLine::ipFine, ipFineCont(), ipoint(), t_FeII::nFeIILevel, EmLine::opacity, PI4, rfield, T1CM, and WAVNRYD.

Referenced by ContCreatePointers().

Here is the call graph for this function:

void FeIIPrint ( void   ) 

FeIIPrint

Definition at line 1426 of file atom_feii.cpp.

References DEBUG_ENTRY, and DEBUG_EXIT.

Referenced by PrtZone().

void FeIIPun1Depart ( FILE *  ioPUN,
long int  nPUN 
)

send the departure coef for physical level nPUN to unit ioPUN

Parameters:
ioPUN the io unit where the print should be directed
nPUN the physical (not c) number of the level

Definition at line 2351 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, Fe2DepCoef, FeII, and t_FeII::nFeIILevel.

Referenced by FeIIPunDepart().

void FeIIPunchColden ( FILE *  ioPUN  ) 

FeIIPunchColden punch level energies, stat weights, column density

Parameters:
*ioPUN file we will punch to

Definition at line 1799 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, Fe2ColDen, Fe2LevN, FeII, and t_FeII::nFeIILevel.

Referenced by PunchDo().

void FeIIPunchLevels ( FILE *  ioPUN  ) 

called by parse_punch, punch level energies and stat weights

Parameters:
ioPUN 

Definition at line 1776 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, and t_FeII::nFeIILevel.

Referenced by PunchDo().

void FeIIPunchLines ( FILE *  ioPUN  ) 

called by FeIIPunchLevels, this creates the punch feii line intensity

Parameters:
ioPUN 

Definition at line 1863 of file atom_feii.cpp.

References cdEXIT(), cdLine(), t_radius::Conv2PrtInten, DEBUG_ENTRY, DEBUG_EXIT, EmLine::EnergyWN, t_FeII::fe2ener, Fe2LevN, Fe2SavN, t_FeII::fe2thresh, FeII, ioQQQ, t_LineSave::ipNormWavL, t_LineSave::lgLineEmergent, t_FeII::lgShortFe2, LineSave, LineSv, MAX2, t_FeII::nFeIILevelAlloc, radius, t_LineSave::ScaleNormLine, SMALLFLOAT, t_tag_LineSv::sumlin, and EmLine::TauIn.

Referenced by PunchDo().

Here is the call graph for this function:

void FeIIPunchLineStuff ( FILE *  io,
float  xLimit,
long  index 
)

include FeII lines in punched optical depths, etc, called from PunchLineStuff

Parameters:
io 
xLimit 
index 

Definition at line 3224 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, t_FeII::nFeIILevel, and pun1Line().

Referenced by PunchLineStuff().

Here is the call graph for this function:

void FeIIPunchOpticalDepth ( FILE *  ioPUN  ) 

called by FeIIPunchLevels, this creates the punch feii line optical depths

Parameters:
ioPUN 

Definition at line 1826 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, and t_FeII::nFeIILevelAlloc.

Referenced by PunchDo().

void FeIIPunData ( FILE *  ioPUN,
bool  lgDoAll 
)

punch line data for FeII atom

Parameters:
ioPUN io unit for punch
lgDoAll punch all levels if true, only subset if false

Definition at line 2221 of file atom_feii.cpp.

References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, ioQQQ, MIN2, ncs1, t_FeII::nFeIILevel, and Punch1LineData().

Referenced by PunchLineData().

Here is the call graph for this function:

void FeIIPunDepart ( FILE *  ioPUN,
bool  lgDoAll 
)

punch some departure coef for large atom, set with punch feii departure command

Parameters:
ioPUN 
lgDoAll option to punch all dep coef if true

Definition at line 2296 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, FeII, FeIIPun1Depart(), t_FeII::nFeIILevel, and NLEVDEP.

Referenced by PunchDo().

Here is the call graph for this function:

void FeIIPunPop ( FILE *  ioPUN,
bool  lgPunchRange,
long int  ipRangeLo,
long int  ipRangeHi,
bool  lgPunchDensity 
)

punch some level pops for large atom, set with punch feii level populations command

Parameters:
ioPUN 
lgPunchRange punch 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 punch density (cm-3, true) or relative population (flase)

Definition at line 2471 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, dense, Fe2LevelPop, FeII, ipIRON, t_FeII::nFeIILevel, NLEVPOP, SDIV(), and t_dense::xIonDense.

Referenced by PunchDo().

Here is the call graph for this function:

double FeIIRadPress ( void   ) 

rad pre due to FeII lines called in PresTotCurrent

Definition at line 3244 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, DumpLine(), Fe2LevN, FeII, EmLine::gLo, ioQQQ, iteration, t_FeII::nFeIILevel, nzone, EmLine::PopLo, powi(), RT_LineWidth(), and SMALLFLOAT.

Referenced by PresTotCurrent().

Here is the call graph for this function:

void FeIIReset ( void   ) 

initialize some variables, called by zero

Definition at line 2383 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, FeII, t_FeII::nFeIILevel, and t_FeII::nFeIILevelAlloc.

Referenced by IterRestart().

double FeIISumBand ( float  wl1,
float  wl2 
)

called in LineSet4, this sums over FeII bands and returns intensities args are lower and upper edges of bands as set in fe2bands.dat

Parameters:
wl1 
wl2 

Definition at line 1443 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, dense, Fe2LevN, FeII, ipIRON, t_FeII::nFeIILevel, EmLine::xIntensity, and t_dense::xIonDense.

Referenced by lines_lv1_k_zn().

void FeIIZero ( void   ) 

void ParseAtomFeII ( char *  chCard  ) 

void pfeii ( FILE *  io  ) 

pfeii create punch output describing pumping of FeII by Lya

Parameters:
io 

Definition at line 543 of file atom_fe2ovr.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, dense, t_DoppVel::doppler, DoppVel, t_hydro::dstfe2lya, t_fe2ovr_la::fe2lam, fe2ovr_la, t_fe2ovr_la::Fe2TauLte, FeII, t_fe2ovr_la::feopc, hydro, ipH1s, ipH_LIKE, ipHYDROGEN, ipIRON, iso, t_FeII::lgLyaPumpOn, NFEII, t_iso::Pop2Ion, and t_dense::xIonDense.

Referenced by PunchDo().

void PunFeII ( FILE *  io  ) 

Definition at line 3202 of file atom_feii.cpp.

References DEBUG_ENTRY, DEBUG_EXIT, Fe2LevN, FeII, and t_FeII::nFeIILevel.

Referenced by PunchSpecial().


Variable Documentation

EXTERN struct t_fe2ovr_la fe2ovr_la

EXTERN struct t_FeII FeII

this is set true when space is allocated for the FeII arrays, once this happens FeII.nFeIILevel cannot be changed with the atom feii levels command set false in cddefines

Definition at line 100 of file cddefines.cpp.

Referenced by FeIICreate(), FeIIZero(), and ParseAtomFeII().


Generated for cloudy by doxygen 1.5.9