/home66/gary/public_html/cloudy/c08_branch/source/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
class  t_fe2ovr_la

Defines

#define NFE2LEVN   371

Functions

void AssertFeIIDep (double *pred, double *BigError, double *StdDev)
void FeIIFillLow16 (void)
void FeIICreate (void)
void FeIIPrint (void)
void FeIILevelPops (void)
double FeIISumBand (realnum wl1, realnum 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, realnum xLimit, long index)
void FeIIZero (void)
void FeIIReset (void)
void FeII_OTS (void)
void FeII_RT_Out (void)
void ParseAtomFeII (char *chCard)

Variables

bool lgFeIIMalloc
EXTERN struct t_FeII FeII
const int NFEII = 373
const int NFE2PR = 61


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 184 of file atomfeii.h.

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


Function Documentation

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

called by assert feii depart coef command

Parameters:
*pred 
*BigError 
*StdDev 

Definition at line 2584 of file atom_feii.cpp.

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

Referenced by lgCheckAsserts().

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, t_radius::drad_x_fillfac, Fe2ColDen, Fe2LevelPop, FeII, ioQQQ, t_FeII::nFeIILevel, and radius.

Referenced by molcol().

double FeII_InterEnergy ( void   ) 

internal energy of FeII called in PresTotCurrent

Returns:

void FeII_LineZero ( void   ) 

initialize optical depth arrays, called by TauOut

Definition at line 1867 of file atom_feii.cpp.

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

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

References ASSERT, t_emission::Aul, DEBUG_ENTRY, t_transition::Emis, Fe2LevN, FeII, t_transition::Hi, t_transition::ipCont, t_FeII::nFeIILevel, t_emission::ots, t_emission::Pdest, t_quantumState::Pop, and RT_OTS_AddLine().

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

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

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

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

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

References DEBUG_ENTRY, Fe2LevN, FeII, FeIIOvrLap(), t_FeII::nFeIILevelAlloc, and RT_line_one_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 1416 of file atom_feii.cpp.

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

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

References DEBUG_ENTRY, t_transition::Emis, t_transition::EnergyErg, Fe2LevN, FeII, t_FeII::nFeIILevel, and t_emission::PopOpc.

void FeIIAddLines ( void   ) 

called by LineSet4, this adds feii line intensities together

Definition at line 1611 of file atom_feii.cpp.

References DEBUG_ENTRY, t_radius::dVeff, t_transition::Emis, Fe2LevN, Fe2SavN, FeII, t_LineSave::ipass, LineSave, t_FeII::nFeIILevel, 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 226 of file atom_feii.cpp.

References DEBUG_ENTRY, Fe2A, Fe2CPump, Fe2LPump, FeII, FILENAME_PATH_LENGTH_2, lgFeIIMalloc, MALLOC, t_FeII::nFeIILevel, and t_FeII::nFeIILevelAlloc.

void FeIIFillLow16 ( void   ) 

FeIIFillLow16

Definition at line 1941 of file atom_feii.cpp.

References DEBUG_ENTRY, t_transition::Emis, t_FeII::fe17to6, t_FeII::fe17to7, t_FeII::fe18to7, t_FeII::fe18to8, t_FeII::fe19to8, t_FeII::fe20201, t_FeII::fe20302, t_FeII::fe20706, t_FeII::fe20807, t_FeII::fe20908, t_FeII::fe21001, t_FeII::fe21002, t_FeII::fe21006, t_FeII::fe21007, t_FeII::fe21103, t_FeII::fe21104, t_FeII::fe21106, t_FeII::fe21107, t_FeII::fe21108, t_FeII::fe21110, t_FeII::fe21204, t_FeII::fe21207, t_FeII::fe21208, t_FeII::fe21209, t_FeII::fe21211, t_FeII::fe21308, t_FeII::fe21406, t_FeII::fe21507, t_FeII::fe21508, t_FeII::fe21609, t_FeII::fe22to7, t_FeII::fe24to2, t_FeII::fe24to6, t_FeII::fe24to7, t_FeII::fe25to6, t_FeII::fe27to6, t_FeII::fe27to7, t_FeII::fe28to7, t_FeII::fe28to8, t_FeII::fe29to8, t_FeII::fe29to9, Fe2LevN, t_FeII::fe30to3, t_FeII::fe30to8, t_FeII::fe32to1, t_FeII::fe32to2, t_FeII::fe32to6, t_FeII::fe32to7, t_FeII::fe33to2, t_FeII::fe33to3, t_FeII::fe33to6, t_FeII::fe33to7, t_FeII::fe34to8, t_FeII::fe35to8, t_FeII::fe36to2, t_FeII::fe36to3, t_FeII::fe36to5, t_FeII::fe37to6, t_FeII::fe37to7, t_FeII::fe38to11, t_FeII::fe39to6, t_FeII::fe39to7, t_FeII::fe39to8, t_FeII::fe40to7, t_FeII::fe40to8, t_FeII::fe40to9, t_FeII::fe41to8, t_FeII::fe41to9, t_FeII::fe42to6, t_FeII::fe42to7, t_FeII::fe43to7, t_FeII::fe80to28, FeII, t_FeII::nFeIILevel, and t_emission::xIntensity.

Referenced by Fe2_cooling().

void FeIIIntenZero ( void   ) 

FeIIIntenZero zero out intensity of FeII atom

Definition at line 1893 of file atom_feii.cpp.

References t_transition::Coll, t_emission::ColOvTot, t_collision::cool, DEBUG_ENTRY, t_transition::Emis, Fe2LevelPop, Fe2LevN, FeII, t_collision::heat, t_transition::Hi, t_transition::Lo, t_FeII::nFeIILevel, t_emission::ots, t_emission::phots, t_quantumState::Pop, and t_emission::xIntensity.

Referenced by Fe2_cooling().

void FeIILevelPops ( void   ) 

Definition at line 715 of file atom_feii.cpp.

References amat, AMAT, t_emission::Aul, cdEXIT, t_emission::ColOvTot, DEBUG_ENTRY, dense, t_hydro::dstfe2lya, t_dense::eden, t_transition::Emis, t_transition::EnergyErg, Fe2A, Fe2Coll, Fe2CPump, Fe2LevelPop, Fe2LevN, Fe2LPump, FeII, FeIICollRatesBoltzmann(), FeIILyaPump(), t_quantumState::g, getrf_wrapper(), getrs_wrapper(), t_transition::Hi, hydro, ioQQQ, ipIRON, ipiv, t_FeII::lgFeIILargeOn, t_FeII::lgSimulate, t_trace::lgTrace, t_transition::Lo, NFE2LEVN, t_FeII::nFeIILevel, t_FeII::nFeIILevelAlloc, t_emission::Pdest, t_emission::Pelec_esc, t_emission::Pesc, t_emission::phots, t_quantumState::Pop, t_emission::pump, SDIV(), trace, t_emission::xIntensity, t_dense::xIonDense, xMatrix, and yVector.

Referenced by Fe2_cooling().

Here is the call graph for this function:

void FeIIPoint ( void   ) 

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

Definition at line 1487 of file atom_feii.cpp.

References abscf(), t_rfield::chLineLabel, t_emission::dampXvel, DEBUG_ENTRY, t_transition::Emis, t_transition::EnergyErg, t_transition::EnergyK, t_transition::EnergyWN, ERG1CM, Fe2LevN, FeII, t_quantumState::g, t_transition::ipCont, t_emission::ipFine, ipFineCont(), ipoint(), t_transition::Lo, t_FeII::nFeIILevel, t_emission::opacity, PI4, rfield, T1CM, and WAVNRYD.

Here is the call graph for this function:

void FeIIPrint ( void   ) 

FeIIPrint

Definition at line 1333 of file atom_feii.cpp.

References DEBUG_ENTRY.

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

References ASSERT, DEBUG_ENTRY, 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 1685 of file atom_feii.cpp.

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

void FeIIPunchLevels ( FILE *  ioPUN  ) 

called by parse_punch, punch level energies and stat weights

Parameters:
ioPUN 

Definition at line 1664 of file atom_feii.cpp.

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

void FeIIPunchLines ( FILE *  ioPUN  ) 

called by FeIIPunchLevels, this creates the punch feii line intensity

Parameters:
ioPUN 

Definition at line 1745 of file atom_feii.cpp.

References DEBUG_ENTRY, t_transition::Emis, Fe2LevN, FeII, t_LineSave::ipNormWavL, t_LineSave::lgLineEmergent, LineSave, LineSv, t_FeII::nFeIILevelAlloc, t_LineSave::ScaleNormLine, t_tag_LineSv::sumlin, and t_emission::TauIn.

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

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

Parameters:
io 
xLimit 
index 

Definition at line 3015 of file atom_feii.cpp.

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

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

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

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

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

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

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

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

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

Here is the call graph for this function:

double FeIIRadPress ( void   ) 

rad pre due to FeII lines called in PresTotCurrent

Definition at line 3033 of file atom_feii.cpp.

References DEBUG_ENTRY, t_transition::Emis, Fe2LevN, FeII, t_transition::Hi, t_FeII::nFeIILevel, t_quantumState::Pop, t_emission::PopOpc, PressureRadiationLine(), and SMALLFLOAT.

Here is the call graph for this function:

void FeIIReset ( void   ) 

initialize some variables, called by zero

Definition at line 2249 of file atom_feii.cpp.

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

double FeIISumBand ( realnum  wl1,
realnum  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 1348 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, dense, Fe2LevN, FeII, ipIRON, t_FeII::nFeIILevel, 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 2264 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::fe2con_wl1, t_FeII::fe2con_wl2, 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::nfe2con, NFE2LEVN, t_FeII::nFeIILevel, and t_FeII::nFeIILevelAlloc.

Referenced by zero().

void ParseAtomFeII ( char *  chCard  ) 

ParseAtomFeII parse the atom feii command

Definition at line 2799 of file atom_feii.cpp.

References cdEXIT, DEBUG_ENTRY, t_FeII::fe2con_wl1, t_FeII::fe2con_wl2, FeII, FFmtRead(), INPUT_LINE_LENGTH, 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, t_FeII::nFeIILevelAlloc, nMatch(), NoNumb(), and TotalInsanity().

Referenced by ParseTest().

Here is the call graph for this function:

void PunFeII ( FILE *  io  ) 

Definition at line 2995 of file atom_feii.cpp.

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

Referenced by PunchSpecial().


Variable Documentation

EXTERN struct t_FeII FeII

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(), FeIIFillLow16(), FeIIIntenZero(), FeIILevelPops(), FeIILyaPump(), FeIIPoint(), FeIIPun1Depart(), FeIIPunchColden(), FeIIPunchLevels(), FeIIPunchLines(), FeIIPunchLineStuff(), FeIIPunchOpticalDepth(), FeIIPunData(), FeIIPunDepart(), FeIIPunPop(), FeIIRadPress(), FeIIReset(), FeIISumBand(), FeIIZero(), lines_lv1_k_zn(), ParseAtomFeII(), ParseDont(), ParsePunch(), and PunFeII().

bool lgFeIIMalloc

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 95 of file cdinit.cpp.

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

const int NFE2PR = 61

number of points in partition function table

Definition at line 337 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 335 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().


Generated on Mon Feb 16 12:02:06 2009 for cloudy by  doxygen 1.4.7