cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Macros | Typedefs | Functions | Variables
atmdat.h File Reference
#include "container_classes.h"
#include "module.h"
#include "h2_priv.h"
Include dependency graph for atmdat.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  CollRateCoeffArray
 
class  CollSplinesArray
 
struct  StoutColls
 
class  StoutCollArray
 
struct  t_atmdat
 
class  Funct
 
class  FunctLAMDA
 
class  FunctDiatoms
 

Macros

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

Typedefs

typedef FunctFunctPtr
 

Functions

void LoadIsotopes ()
 
double atmdat_2phot_shapefunction (double EbyE2nu, long ipISO, long nelem)
 
void atmdat_readin (void)
 
void atmdat_STOUT_readin (long intNS, char *chFileName)
 
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 (void)
 
double ChargTranSumHeat (void)
 
void ChargTranPun (FILE *ipPnunit, char *chSave)
 
double CHIANTI_Upsilon (long, long, long, long, double)
 
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 ReadCollisionRateTable (CollRateCoeffArray &coll_rate_table, FILE *io, FunctPtr GetIndices, long nMolLevs, long nTemps=-1, long nTrans=-1)
 
double InterpCollRate (const CollRateCoeffArray &rate_table, const long &ipHi, const long &ipLo, const double &ftemp)
 
string db_comment_tran_levels (long ipLoFile, long ipHiFile)
 

Variables

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

Macro Definition Documentation

#define HS_NZ   8

number of elements that can be read in

Definition at line 267 of file atmdat.h.

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

#define NHCSTE   8

number of temperature points in h_coll_str arrays

Definition at line 268 of file atmdat.h.

Referenced by HCSAR_interp().

#define NHSDIM   15

used for following vectors

Definition at line 265 of file atmdat.h.

Referenced by read_Hummer_Storey().

#define NLINEHS   300

dimension of array with lines

Definition at line 266 of file atmdat.h.

Referenced by atmdat_HS_caseB(), and read_Hummer_Storey().

#define NUM_HS98_DATA_POINTS   811

Definition at line 269 of file atmdat.h.

Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().

Typedef Documentation

typedef Funct* FunctPtr

Definition at line 470 of file atmdat.h.

Function Documentation

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 230 of file atmdat_2photon.cpp.

Referenced by ContCreatePointers(), and TwoPhotonSetup().

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, dense, t_dense::eden, fprintf(), ionbal, ioQQQ, t_save::ioRecom, t_save::lgioRecom, t_ionbal::lgNoCota, t_trace::lgTrace, t_trace::lgTrace3Bod, LIMELM, MAX2, MIN2, MIN3, t_atmdat::nsbig, phycon, save, t_phycon::te, 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, EXIT_FAILURE, fprintf(), ioQQQ, powpq(), and sexp().

Referenced by ion_recom_calculate().

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
iHithe principal quantum numbers, .
iLoupper and lower levels in any order
iZcharge of ion, only 1 and 2 for now
TempIntemperature, must lie within the range of the table, which depends on the ion charge, and is 500 - 30,000K for hydrogen
DenInthe density and must lie within the range of the table
chCasecase - '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, EXIT_FAILURE, exp10(), fp_equal(), HS_NZ, t_atmdat::ncut, t_atmdat::nDensity, NLINEHS, t_atmdat::ntemp, 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]izatomic number from 1 to 30
[in]innumber of electrons from 1 to iz
[out]*imaxnumber of the outer shell
[out]*ig0statistical weight of (iz,in) ground state
[out]*ig1statistical weight of (iz,in-1) ground state
Author
Dima Verner

Definition at line 8 of file atmdat_outer_shell.cpp.

References DEBUG_ENTRY, fprintf(), and ioQQQ.

Referenced by atmdat_readin(), and RT_diffuse().

Here is the call graph for this function:

void atmdat_readin ( void  )
void atmdat_STOUT_readin ( long  intNS,
char *  chFileName 
)
void ChargTranEval ( void  )

atmdat fill in the CharExcIonOf[ipHYDROGEN] and Rec arrays with Kingdon's fitted CT with 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 43 of file atmdat_char_tran.cpp.

References t_phycon::alnte, atmdat, t_atmdat::CharExcIonOf, t_atmdat::CharExcRecTo, conv, DEBUG_ENTRY, fp_equal(), t_atmdat::HCharExcRecTo_N0_2D, HCTIon(), HCTRecom(), hmrate4(), ipALUMINIUM, ipARGON, ipCARBON, ipCHLORINE, ipHELIUM, ipHYDROGEN, ipIRON, ipLITHIUM, ipMAGNESIUM, ipMANGANESE, ipNEON, ipNICKEL, ipNITROGEN, ipOXYGEN, ipPHOSPHORUS, ipPOTASSIUM, ipSILICON, ipSODIUM, ipSULPHUR, ipTITANIUM, t_atmdat::lgCTOn, t_mole_global::lgLeidenHack, LIMELM, MIN2, mole_global, 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, and t_phycon::tesqrd.

Referenced by ChargTranPun(), and ConvBase().

Here is the call graph for this function:

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

CHIANTI_Upsilon converts Chianti collision splines to collision strengths

Definition at line 900 of file species2.cpp.

References ASSERT, AtmolCollSplines, dBaseSpecies, DEBUG_ENTRY, DEBUGSTATE, exp10(), fprintf(), ioQQQ, linint(), splint(), and TotalInsanity().

Referenced by ChiantiCollRate(), and SaveDo().

Here is the call graph for this function:

string db_comment_tran_levels ( long  ipLoFile,
long  ipHiFile 
)
inline
double InterpCollRate ( const CollRateCoeffArray rate_table,
const long &  ipHi,
const long &  ipLo,
const double &  ftemp 
)

Definition at line 187 of file atmdat.cpp.

References ASSERT, CollRateCoeffArray::collrates, DEBUG_ENTRY, isnan, linint(), and CollRateCoeffArray::temps.

Referenced by diatomics::H2_CollidRateEvalOne(), and LeidenCollRate().

Here is the call graph for this function:

void LoadIsotopes ( )

LoadIsotopes read in the nuclear isotope data and allocate space

Definition at line 9 of file isotopes.cpp.

References abund, AS_LOCAL_ONLY_TRY, ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, fprintf(), INPUT_LINE_LENGTH, ioQQQ, t_abund::IsoAbn, open_data(), read_whole_line(), and isotope::setData().

Referenced by cloudy(), and grid_do().

Here is the call graph for this function:

void ReadCollisionRateTable ( CollRateCoeffArray coll_rate_table,
FILE *  io,
FunctPtr  GetIndices,
long  nMolLevs,
long  nTemps = -1,
long  nTrans = -1 
)

Variable Documentation

t_atmdat atmdat
double**** HS_He1_Energy

Definition at line 61 of file atmdat.cpp.

Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().

double**** HS_He1_Xsectn

Definition at line 60 of file atmdat.cpp.

Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().

double***** OP_Helike_Energy

Definition at line 63 of file atmdat.cpp.

Referenced by cross_section(), and read_Helike_cross_sections().

long**** OP_Helike_NumPts

Definition at line 64 of file atmdat.cpp.

Referenced by cross_section(), and read_Helike_cross_sections().

double***** OP_Helike_Xsectn

Definition at line 62 of file atmdat.cpp.

Referenced by cross_section(), and read_Helike_cross_sections().