/home66/gary/public_html/cloudy/c10_branch/source/atmdat.h File Reference

Go to the source code of this file.

Data Structures

struct  t_atmdat
class  t_ADfA

Defines

#define NHSDIM   15
#define NLINEHS   300
#define HS_NZ   8
#define NHCSTE   8
#define NUM_HS98_DATA_POINTS   811

Enumerations

enum  phfit_version { PHFIT_UNDEF, PHFIT95, PHFIT96 }

Functions

double atmdat_2phot_shapefunction (double EbyE2nu, long ipISO, long nelem)
void atmdat_2phot_rate (long ipZ, long ipISO)
void atmdat_readin (void)
void atmdat_CHIANTI_readin (long intNS, char *chFileName)
void atmdat_LAMDA_readin (long intNS, char *chFileName)
void atmdat_outer_shell (long int iz, long int in, long int *imax, long int *ig0, long int *ig1)
void ChargTranEval (double *O_HIonRate)
double ChargTranSumHeat (void)
void ChargTranPun (FILE *ipPnunit, char *chSave)
double atmdat_dielrec_fe (long int ion, double t)
void atmdat_H_phot_cs (void)
void atmdat_3body (void)
double atmdat_HS_caseB (long int iHi, long int iLo, long int iZ, double TempIn, double DenIn, char chCase)
void atmdat_DielSupres (void)

Variables

EXTERN double **** HS_He1_Xsectn
EXTERN double **** HS_He1_Energy
EXTERN double ***** OP_Helike_Xsectn
EXTERN double ***** OP_Helike_Energy
EXTERN long **** OP_Helike_NumPts
EXTERN struct t_atmdat atmdat

Define Documentation

#define HS_NZ   8

number of elements that can be read in

Definition at line 129 of file atmdat.h.

Referenced by atmdat_HS_caseB(), atmdat_readin(), IterStart(), and lines_hydro().

#define NHCSTE   8

number of temperature points in h_coll_str arrays

Definition at line 130 of file atmdat.h.

Referenced by HCSAR_interp().

#define NHSDIM   15

used for following vectors

Definition at line 127 of file atmdat.h.

Referenced by atmdat_readin().

#define NLINEHS   300

dimension of array with lines

Definition at line 128 of file atmdat.h.

Referenced by atmdat_HS_caseB(), and atmdat_readin().

#define NUM_HS98_DATA_POINTS   811

Definition at line 131 of file atmdat.h.

Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().


Enumeration Type Documentation

Enumerator:
PHFIT_UNDEF 
PHFIT95 
PHFIT96 

Definition at line 240 of file atmdat.h.


Function Documentation

void atmdat_2phot_rate ( long  ipISO,
long  nelem 
)

atmdat_2phot_rate hydrogen two photon emission, including induced emission

Parameters:
ipZ atomic number on c scale
ipISO the iso sequence, must be either 0 (hydrogen) or 1 (he-like)
Todo:
2 change the name of this routine to reflect the fact that it is entirely induced.

Todo:
2 How should these affect locally emitted continuum calculated in rtdiffuse? Just subtract these rates from the emitted ones?

Definition at line 305 of file atmdat_2photon.cpp.

References t_rfield::anu, t_iso::As2nu, ASSERT, DEBUG_ENTRY, ioQQQ, ipH_LIKE, t_iso::ipHalfTwoPhoE, ipHE_LIKE, t_iso::ipSym2nu, t_iso::ipTwoPhoE, iso, t_trace::lgBug2nu, t_rfield::lgInducProcess, t_trace::lgTrace, t_rfield::OccNumbIncidCont, rfield, t_rfield::SummedOcc, trace, Transitions, t_iso::TwoNu_induc_dn, t_iso::TwoNu_induc_dn_max, and t_iso::TwoNu_induc_up.

Referenced by RT_line_all().

double atmdat_2phot_shapefunction ( double  EbyE2nu,
long  ipISO,
long  nelem 
)

atmdat_2phot_shapefunction two photon emission function for all atomic and ionic species

Parameters:
EbyE2nu 
ipISO 
nelem 

Definition at line 214 of file atmdat_2photon.cpp.

References ASSERT, DEBUG_ENTRY, He2NuEnergies, He2NuShapeFunc, He2NuShapeFuncY2, Hydro2NuEnergies, Hydro2NuShapeFunc, Hydro2NuShapeFuncY2, ipH_LIKE, ipHE_LIKE, lgFirstCall, NCRS, NCRS_H, NCRS_HE, spline(), and splint().

Referenced by ContCreatePointers().

Here is the call graph for this function:

void atmdat_3body ( void   ) 

atmdat_3body derive three-body recombination coefficients

Definition at line 52 of file atmdat_3body.cpp.

References atmdat, t_ionbal::CotaRate, da(), DEBUG_ENTRY, ionbal, ioQQQ, t_save::ioRecom, t_save::lgioRecom, t_ionbal::lgNoCota, t_trace::lgTrace, t_trace::lgTrace3Bod, LIMELM, MIN2, MIN3, t_atmdat::nsbig, save, and trace.

Referenced by ConvBase().

Here is the call graph for this function:

void atmdat_CHIANTI_readin ( long  intNS,
char *  chFileName 
)
double atmdat_dielrec_fe ( long int  ion,
double  t 
)

atmdat_dielrec_fe Dielectronic recombination rates for Fe from Arnaud & Raymond 1992

Parameters:
ion 
t 

Definition at line 9 of file atmdat_dielrec_fe.cpp.

References cdEXIT, DEBUG_ENTRY, EVRYD, ioQQQ, pow(), sexp(), and TE1RYD.

Referenced by ion_recomb().

Here is the call graph for this function:

void atmdat_DielSupres ( void   ) 

atmdat_DielSupres derive scale factors for suppression of Burgess dielectronic recombination

Definition at line 149 of file atmdat_dielsupres.cpp.

References DEBUG_ENTRY, dense, t_ionbal::DielSupprs, t_dense::eden, ionbal, t_save::ioRecom, t_save::lgioRecom, t_ionbal::lgSupDie, LIMELM, MAX2, MIN2, phycon, powi(), save, t_phycon::sqrte, and t_phycon::te.

Referenced by ConvBase().

Here is the call graph for this function:

void atmdat_H_phot_cs ( void   ) 

this initializes the arrays containing the fitting coefficients, called by OpacityCreateAll, done once per coreload

double atmdat_HS_caseB ( long int  iHi,
long int  iLo,
long int  iZ,
double  TempIn,
double  DenIn,
char  chCase 
)

general utility to read in line emissivities from the Storey & Hummer tables of case B emissivities.

Parameters:
iHi the principal quantum numbers, .
iLo upper and lower levels in any order
iZ charge of ion, only 1 and 2 for now
TempIn temperature, must lie within the range of the table, which depends on the ion charge, and is 500 - 30,000K for hydrogen
DenIn the density and must lie within the range of the table
chCase case - 'a' or 'b'

Definition at line 7 of file atmdat_HS_caseb.cpp.

References ASSERT, atmdat, cdEXIT, DEBUG_ENTRY, t_atmdat::Density, t_atmdat::ElecTemp, t_atmdat::Emiss, fp_equal(), HS_NZ, t_atmdat::ncut, t_atmdat::nDensity, NLINEHS, t_atmdat::ntemp, pow(), x1, and x2.

Referenced by DrvCaseBHS(), and lines_hydro().

Here is the call graph for this function:

void atmdat_LAMDA_readin ( long  intNS,
char *  chFileName 
)
void atmdat_outer_shell ( long int  iz,
long int  in,
long int *  imax,
long int *  ig0,
long int *  ig1 
)

atmdat_outer_shell determine outer shell, and statistical weights of that and higher ion, for any ion written by Dima Verner

Parameters:
[in] iz atomic number from 1 to 30
[in] in number of electrons from 1 to iz
[out] *imax number of the outer shell
[out] *ig0 statistical weight of (iz,in) ground state
[out] *ig1 statistical weight of (iz,in-1) ground state
Author:
Dima Verner

Definition at line 8 of file atmdat_outer_shell.cpp.

References DEBUG_ENTRY, and ioQQQ.

Referenced by atmdat_readin(), and RT_diffuse().

void atmdat_readin ( void   ) 

atmdat_readin read in some data files, but only if this is very first call

Definition at line 165 of file atmdat_readin.cpp.

References t_struc::AccelGravity, t_struc::AccelTotalOutward, AddLine2Stack(), AddState2Stack(), ASSERT, atmdat, atmdat_outer_shell(), t_emission::Aul, cdEXIT, t_elementnames::chElementSym, t_struc::CO_molec, t_collision::col_str, transition::Coll, t_struc::coolstr, cs1_flag_lev2, database_readin(), DEBUG_ENTRY, t_struc::DenMass, t_struc::DenParticles, dense, t_atmdat::Density, t_struc::depth, t_struc::depth_last, dprintf(), t_struc::drad, t_struc::drad_last, t_struc::drad_x_fillfac, DynaCreateArrays(), t_struc::ednstr, eina(), t_atmdat::ElecTemp, elementnames, transition::Emis, t_atmdat::Emiss, transition::EnergyWN, ERG1CM, FeIICreate(), FFmtRead(), FILENAME_PATH_LENGTH_2, fixit(), fp_equal(), fp_equal_tol(), t_MeweCoef::g, t_quantumState::g, t_struc::gas_phase, t_struc::GasPressure, geometry, GetGF(), t_emission::gf, gf_cutoff, t_struc::H2_molec, t_struc::hden, t_struc::heatstr, Heavy, transition::Hi, t_struc::hiistr, t_struc::histr, HS_NZ, HyperfineCreate(), t_yield::init_yield(), InitTransition(), INPUT_LINE_LENGTH, Singleton< t_yield >::Inst(), ionbal, t_quantumState::IonStg, ioQQQ, ipAL_LIKE, ipHYDROGEN, ipIRON, ipLI_LIKE, ipMG_LIKE, ipNA_LIKE, ipPRD, t_emission::iRedisFun, IS_L2_SHELL, iso, t_iterations::iter_malloc, iterations, transition::Junk(), t_atmdat::lgChiantiOn, t_dense::lgElmtOn, lgFirstCall, t_ionbal::lgInnerShell_Gu06, t_ionbal::lgInnerShell_Kisielius, t_atmdat::lgLamdaOn, t_trace::lgTrace, LIMELM, lines_setup(), transition::Lo, MALLOC, MAX2, MeweCoef, mole, N_H_MOLEC, t_atmdat::ncut, t_atmdat::nDensity, t_quantumState::nelem, t_geometry::nend, NHSDIM, nint(), NISO, nLevel1, NLINEHS, nSpecies, t_Heavy::nsShells, t_atmdat::ntemp, t_mole::num_comole_calc, t_iso::numLevels_max, nUTA, nWindLine, t_struc::nzlim, t_struc::o3str, open_data(), pow(), t_struc::pres_radiation_lines_curr, t_struc::pressure, read_Helike_cross_sections(), read_SH98_He1_cross_sections(), read_whole_line(), ReadBadnellAIData(), t_struc::StatesElemNEW, strstr_s(), struc, TauLine2, TauLines, t_struc::testr, TotalInsanity(), trace, UTALines, t_struc::volstr, t_struc::windv, transition::WLAng, t_struc::xIonDense, and t_struc::xLyman_depth.

Referenced by cloudy(), DrvCaseBHS(), and ParseCompile().

Here is the call graph for this function:

void ChargTranEval ( double *  O_HIonRate  ) 

atmdat fill in the HCharExcIonOf and Rec arrays with Kingdon's fitted CT with H,

Parameters:
O_HIonRate 
Returns:
value is rate O ionizes H

Todo:
1 update ct to Kimura et al. (1996)
Todo:
1 above rate not intended for very low temperatures - find ref for low-T rate, probably is 1e-9 like above
Todo:
0 these should be values at 1e5 K
Todo:
2 not currently used - include as deexcitation process

Definition at line 44 of file atmdat_char_tran.cpp.

References t_phycon::alnte, atmdat, co, conv, DEBUG_ENTRY, dense, fp_equal(), t_atmdat::HCharExcIonOf, t_atmdat::HCharExcRecTo, t_atmdat::HCharExcRecTo_N0_2D, HCTIon(), HCTRecom(), t_atmdat::HeCharExcIonOf, t_atmdat::HeCharExcRecTo, HMRATE, ipALUMINIUM, ipARGON, ipCARBON, ipCHLORINE, ipHELIUM, ipIRON, ipLITHIUM, ipMAGNESIUM, ipMANGANESE, ipNEON, ipNICKEL, ipNITROGEN, ipOXYGEN, ipPHOSPHORUS, ipPOTASSIUM, ipSILICON, ipSODIUM, ipSULPHUR, ipTITANIUM, t_atmdat::lgCTOn, t_co::lgUMISTrates, LIMELM, MIN2, t_conv::nTotalIoniz, phycon, pow(), SDIV(), sexp(), t_phycon::sqrte, t_phycon::te, t_phycon::te01, t_phycon::te03, t_phycon::te05, t_phycon::te10, t_phycon::te20, t_phycon::te30, t_phycon::te_eV, t_phycon::tesqrd, and t_dense::xIonDense.

Referenced by ChargTranPun(), and ConvBase().

Here is the call graph for this function:

void ChargTranPun ( FILE *  ipPnunit,
char *  chSave 
)
double ChargTranSumHeat ( void   ) 

Variable Documentation

EXTERN struct t_atmdat atmdat
EXTERN double**** HS_He1_Energy

Definition at line 118 of file atmdat.h.

Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().

EXTERN double**** HS_He1_Xsectn

Definition at line 117 of file atmdat.h.

Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().

EXTERN double***** OP_Helike_Energy

Definition at line 122 of file atmdat.h.

Referenced by cross_section(), and read_Helike_cross_sections().

EXTERN long**** OP_Helike_NumPts

Definition at line 123 of file atmdat.h.

Referenced by cross_section(), and read_Helike_cross_sections().

EXTERN double***** OP_Helike_Xsectn

Definition at line 121 of file atmdat.h.

Referenced by cross_section(), and read_Helike_cross_sections().

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Nov 2012 for cloudy by  doxygen 1.6.1