cloudy trunk
Loading...
Searching...
No Matches
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

Macros

#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
t_FeII FeII
const int NFEII = 373
const int NFE2PR = 61

Detailed Description

these routines are in FeIILevelPops.c

Definition in file atomfeii.h.

Macro Definition Documentation

◆ NFE2LEVN

#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().

Function Documentation

◆ AssertFeIIDep()

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

called by assert feii depart coef command

Parameters
*pred
*BigError
*StdDev

Definition at line 2452 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, Fe2DepCoef, FeII, lgFeIIEverCalled, MAX2, and POW2.

Referenced by lgCheckMonitors().

◆ FeII_Colden()

void FeII_Colden ( const char * chLabel)

FeII_Colden maintain H2 column densities within X

Parameters
*chLabel

Definition at line 177 of file atom_feii.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, Fe2ColDen, Fe2LevelPop, FeII, ioQQQ, and radius.

Referenced by molcol().

◆ FeII_InterEnergy()

double FeII_InterEnergy ( void )

internal energy of FeII called in PresTotCurrent

Returns

Referenced by PresTotCurrent().

◆ FeII_LineZero()

void FeII_LineZero ( void )

initialize optical depth arrays, called by TauOut

Definition at line 1825 of file atom_feii.cpp.

References DEBUG_ENTRY, Fe2LevN, FeII, and ipFe2LevN.

Referenced by RT_tau_init().

◆ FeII_OTS()

void FeII_OTS ( void )

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

Definition at line 2504 of file atom_feii.cpp.

References ASSERT, EmissionProxy::Aul(), DEBUG_ENTRY, TransitionProxy::Emis(), Fe2LevN, FeII, TransitionProxy::Hi(), TransitionProxy::ipCont(), ipFe2LevN, EmissionProxy::ots(), EmissionProxy::Pdest(), and RT_OTS_AddLine().

Referenced by RT_OTS().

Here is the call graph for this function:

◆ FeII_RT_Make()

void FeII_RT_Make ( void )

do line RT for FeII model

Definition at line 1538 of file atom_feii.cpp.

References DEBUG_ENTRY, dense, Fe2LevN, FeII, GetDopplerWidth(), ioQQQ, TransitionProxy::ipCont(), ipFe2LevN, ipIRON, RT_line_one(), and trace.

Referenced by Fe2_cooling().

Here is the call graph for this function:

◆ FeII_RT_Out()

void FeII_RT_Out ( void )

do outward rates for FeII, called by RT_diffuse

Definition at line 2542 of file atom_feii.cpp.

References DEBUG_ENTRY, dense, Fe2LevN, FeII, TransitionProxy::ipCont(), ipFe2LevN, ipIRON, and TransitionProxy::outline_resonance().

Referenced by RT_diffuse().

Here is the call graph for this function:

◆ FeII_RT_tau_reset()

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

References DEBUG_ENTRY, Fe2LevN, FeII, ipFe2LevN, and RT_line_one_tau_reset().

Referenced by RT_tau_reset().

Here is the call graph for this function:

◆ FeII_RT_TauInc()

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

References DEBUG_ENTRY, dense, Fe2LevN, FeII, GetDopplerWidth(), TransitionProxy::ipCont(), ipFe2LevN, ipIRON, and RT_line_one_tauinc().

Referenced by RT_tau_inc().

Here is the call graph for this function:

◆ FeIIAccel()

void FeIIAccel ( double * fe2drive)

called by rt_line_driving to compute radiative acceleration due to FeII lines

Parameters
*fe2drive

Definition at line 1509 of file atom_feii.cpp.

References DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), Fe2LevN, FeII, ipFe2LevN, EmissionProxy::PopOpc(), and EmissionProxy::pump().

Referenced by RT_line_driving().

Here is the call graph for this function:

◆ FeIIAddLines()

void FeIIAddLines ( void )

called by LineSet4, this adds feii line intensities together

Definition at line 1574 of file atom_feii.cpp.

References DEBUG_ENTRY, Fe2LevN, Fe2SavN, FeII, ioQQQ, ipFe2LevN, LineSave, nzone, and radius.

Referenced by lines_lv1_k_zn().

◆ FeIICreate()

◆ FeIIIntenZero()

◆ FeIILevelPops()

◆ FeIIPoint()

void FeIIPoint ( void )

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

Definition at line 1456 of file atom_feii.cpp.

References abscf(), EmissionProxy::Aul(), EmissionProxy::dampXvel(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyRyd(), TransitionProxy::EnergyWN(), Fe2LevN, FeII, EmissionProxy::gf(), TransitionProxy::ipCont(), ipFe2LevN, EmissionProxy::ipFine(), ipFineCont(), ipoint(), TransitionProxy::Lo(), EmissionProxy::opacity(), PI4, and rfield.

Referenced by ContCreatePointers().

Here is the call graph for this function:

◆ FeIIPrint()

void FeIIPrint ( void )

FeIIPrint

Definition at line 1340 of file atom_feii.cpp.

References DEBUG_ENTRY.

Referenced by PrtZone().

◆ FeIIPun1Depart()

void FeIIPun1Depart ( FILE * ioPUN,
long int nPUN )

send the departure coef for physical level nPUN to unit ioPUN

Parameters
ioPUNthe io unit where the print should be directed
nPUNthe physical (not c) number of the level

Definition at line 2082 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, Fe2DepCoef, and FeII.

Referenced by FeIIPunDepart().

◆ FeIIPunchColden()

void FeIIPunchColden ( FILE * ioPUN)

FeIIPunchColden save level energies, stat weights, column density

Parameters
*ioPUNfile we will save to

Definition at line 1647 of file atom_feii.cpp.

References DEBUG_ENTRY, TransitionProxy::EnergyWN(), Fe2ColDen, Fe2LevN, FeII, g, TransitionProxy::Hi(), and ipFe2LevN.

Referenced by SaveDo().

Here is the call graph for this function:

◆ FeIIPunchLevels()

void FeIIPunchLevels ( FILE * ioPUN)

called by parse_punch, save level energies and stat weights

Parameters
ioPUN

Definition at line 1625 of file atom_feii.cpp.

References DEBUG_ENTRY, TransitionProxy::EnergyWN(), Fe2LevN, FeII, g, TransitionProxy::Hi(), and ipFe2LevN.

Referenced by SaveDo().

Here is the call graph for this function:

◆ FeIIPunchLineStuff()

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

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

Parameters
io
xLimit
index

Definition at line 2820 of file atom_feii.cpp.

References DEBUG_ENTRY, dense, Fe2LevN, FeII, GetDopplerWidth(), ipFe2LevN, ipIRON, and Save1Line().

Referenced by SaveLineStuff().

Here is the call graph for this function:

◆ FeIIPunchOpticalDepth()

void FeIIPunchOpticalDepth ( FILE * ioPUN)

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

Parameters
ioPUN

Definition at line 1673 of file atom_feii.cpp.

References DEBUG_ENTRY, TransitionProxy::Emis(), Fe2LevN, FeII, ipFe2LevN, EmissionProxy::TauIn(), and TransitionProxy::WLAng().

Referenced by SaveDo().

Here is the call graph for this function:

◆ FeIIPunData()

void FeIIPunData ( FILE * ioPUN,
bool lgDoAll )

save line data for FeII atom

Parameters
ioPUNio unit for save
lgDoAllsave all levels if true, only subset if false

Definition at line 1954 of file atom_feii.cpp.

References EmissionProxy::Aul(), cdEXIT, DEBUG_ENTRY, TransitionProxy::Emis(), EXIT_FAILURE, Fe2LevN, FeII, ioQQQ, ipFe2LevN, lgFeIIEverCalled, MIN2, ncs1, and Save1LineData().

Referenced by SaveLineData().

Here is the call graph for this function:

◆ FeIIPunDepart()

void FeIIPunDepart ( FILE * ioPUN,
bool lgDoAll )

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

Parameters
ioPUN
lgDoAlloption to save all dep coef if true

Definition at line 2029 of file atom_feii.cpp.

References DEBUG_ENTRY, FeII, FeIIPun1Depart(), and NLEVDEP.

Referenced by SaveDo().

Here is the call graph for this function:

◆ FeIIPunPop()

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

Parameters
ioPUN
lgPunchRangesave range of levels if true, only selected subset if false
ipRangeLoif ipPunchRange is true, this is lower bound of range on C scale
ipRangeHiif ipPunchRange is true, this is upper bound of range on C scale
lgPunchDensityflag saying whether to save density (cm-3, true) or relative population (flase)

Definition at line 2189 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, dense, Fe2LevelPop, FeII, ipIRON, MIN2, NLEVPOP, and SDIV().

Referenced by SaveDo().

Here is the call graph for this function:

◆ FeIIRadPress()

double FeIIRadPress ( void )

rad pre due to FeII lines called in PresTotCurrent

Definition at line 2838 of file atom_feii.cpp.

References DEBUG_ENTRY, dense, DumpLine(), TransitionProxy::Emis(), Fe2LevN, FeII, GetDopplerWidth(), TransitionProxy::Hi(), ioQQQ, TransitionProxy::ipCont(), ipFe2LevN, ipIRON, iteration, lgFeIIEverCalled, nzone, EmissionProxy::PopOpc(), PressureRadiationLine(), RT_LineWidth(), and SMALLFLOAT.

Referenced by PresTotCurrent().

Here is the call graph for this function:

◆ FeIIReset()

void FeIIReset ( void )

initialize some variables, called by zero

Definition at line 2112 of file atom_feii.cpp.

References DEBUG_ENTRY, and FeII.

Referenced by IterRestart().

◆ FeIISaveLines()

void FeIISaveLines ( FILE * ioPUN)

called by FeIIPunchLevels, this creates the save feii line intensity

Parameters
ioPUN

Definition at line 1709 of file atom_feii.cpp.

References cdEXIT, cdLine(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyWN(), EXIT_FAILURE, Fe2LevN, Fe2SavN, FeII, ioQQQ, ipFe2LevN, LineSave, LineSv, MAX2, radius, SMALLFLOAT, EmissionProxy::TauIn(), and TransitionProxy::WLAng().

Referenced by SaveDo().

Here is the call graph for this function:

◆ FeIISumBand()

double FeIISumBand ( realnum wl1,
realnum wl2,
double * SumBandInward )

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
*SumBandInward

Definition at line 1355 of file atom_feii.cpp.

References ASSERT, DEBUG_ENTRY, dense, TransitionProxy::Emis(), Fe2LevN, FeII, EmissionProxy::FracInwd(), ipFe2LevN, ipIRON, SMALLFLOAT, TransitionProxy::WLAng(), and EmissionProxy::xIntensity().

Referenced by lines_lv1_k_zn().

Here is the call graph for this function:

◆ FeIIZero()

void FeIIZero ( void )

zero out variables that deal with FeII, called by zero

Definition at line 2127 of file atom_feii.cpp.

References DEBUG_ENTRY, FeII, ipCRD, ipCRDW, and lgFeIIMalloc.

Referenced by zero().

◆ ParseAtomFeII()

void ParseAtomFeII ( Parser & p)

Definition at line 2619 of file atom_feii.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, FeII, Parser::getNumberCheck(), ioQQQ, ipCRD, ipCRDW, ipPRD, lgFeIIMalloc, NFE2LEVN, Parser::nMatch(), and TotalInsanity().

Referenced by ParseAtom(), and ParseTest().

Here is the call graph for this function:

◆ PunFeII()

void PunFeII ( FILE * io)

Definition at line 2799 of file atom_feii.cpp.

References DEBUG_ENTRY, TransitionProxy::Emis(), Fe2LevN, FeII, TransitionProxy::ipCont(), ipFe2LevN, and EmissionProxy::TauIn().

Referenced by SaveSpecial().

Here is the call graph for this function:

Variable Documentation

◆ FeII

◆ lgFeIIMalloc

bool lgFeIIMalloc
extern

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

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

◆ NFE2PR

const int NFE2PR = 61

number of points in partition function table

Definition at line 270 of file atomfeii.h.

Referenced by t_fe2ovr_la::fe2par(), and t_fe2ovr_la::t_fe2ovr_la().

◆ NFEII

const int NFEII = 373