cloudy trunk
Loading...
Searching...
No Matches
atmdat.h File Reference
#include "h2_priv.h"
Include dependency graph for atmdat.h:

Go to the source code of this file.

Data Structures

struct  t_atmdat
class  t_ADfA
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

Enumerations

enum  phfit_version { PHFIT_UNDEF , PHFIT95 , PHFIT96 }

Functions

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)

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

◆ HS_NZ

#define HS_NZ   8

number of elements that can be read in

Definition at line 125 of file atmdat.h.

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

◆ NHCSTE

#define NHCSTE   8

number of temperature points in h_coll_str arrays

Definition at line 126 of file atmdat.h.

Referenced by HCSAR_interp().

◆ NHSDIM

#define NHSDIM   15

used for following vectors

Definition at line 123 of file atmdat.h.

Referenced by atmdat_readin().

◆ NLINEHS

#define NLINEHS   300

dimension of array with lines

Definition at line 124 of file atmdat.h.

Referenced by atmdat_HS_caseB(), and atmdat_readin().

◆ NUM_HS98_DATA_POINTS

#define NUM_HS98_DATA_POINTS   811

Definition at line 127 of file atmdat.h.

Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().

Typedef Documentation

◆ FunctPtr

typedef Funct* FunctPtr

Definition at line 408 of file atmdat.h.

Enumeration Type Documentation

◆ phfit_version

Enumerator
PHFIT_UNDEF 
PHFIT95 
PHFIT96 

Definition at line 276 of file atmdat.h.

Function Documentation

◆ atmdat_2phot_shapefunction()

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

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

Referenced by ContCreatePointers(), and TwoPhotonSetup().

Here is the call graph for this function:

◆ atmdat_3body()

void atmdat_3body ( void )

atmdat_3body derive three-body recombination coefficients

Definition at line 52 of file atmdat_3body.cpp.

References atmdat, da(), DEBUG_ENTRY, dense, ionbal, ioQQQ, LIMELM, MAX2, MIN2, MIN3, phycon, save, and trace.

Referenced by ConvBase().

Here is the call graph for this function:

◆ atmdat_CHIANTI_readin()

void atmdat_CHIANTI_readin ( long intNS,
char * chFileName )

atmdat_CHIANTI_readin read in data from CHIANTI database files

Parameters
intNS
chFileName

Definition at line 595 of file atmdat_chianti.cpp.

References ASSERT, atmdat, AtmolCollSplines, BIGDOUBLE, cdEXIT, dBaseSpecies, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, ENERGY_MIN_WN, EXIT_FAILURE, FILENAME_PATH_LENGTH_2, fixit(), g, GetGF(), ioQQQ, ipdBaseTrans, ipELECTRON, ipNCOLLIDER, ipPROTON, MALLOC, max(), MAX2, min(), MIN3, mode_r, nMatch(), open_data(), RefIndex(), spline(), spsort(), STATIC_ASSERT, tolower(), TotalInsanity(), trace, and uncaps().

Referenced by database_readin().

Here is the call graph for this function:

◆ atmdat_dielrec_fe()

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, EXIT_FAILURE, ioQQQ, sexp(), and TE1RYD.

Referenced by ion_recom_calculate().

Here is the call graph for this function:

◆ atmdat_H_phot_cs()

void atmdat_H_phot_cs ( void )

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

References HS_He1_Energy, HS_He1_Xsectn, OP_Helike_Energy, OP_Helike_NumPts, and OP_Helike_Xsectn.

◆ atmdat_HS_caseB()

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, EXIT_FAILURE, fp_equal(), HS_NZ, NLINEHS, x1, and x2.

Referenced by DrvCaseBHS(), and lines_hydro().

Here is the call graph for this function:

◆ atmdat_LAMDA_readin()

void atmdat_LAMDA_readin ( long intNS,
char * chFileName )

atmdat_LAMDA_readin read in data from LAMDA database files

Parameters
intNS
chFileName

Definition at line 18 of file atmdat_lamda.cpp.

References ASSERT, AtmolCollRateCoeff, cdEXIT, dBaseSpecies, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, g, GetGF(), ioQQQ, ipATOM_H, ipATOM_HE, ipdBaseTrans, ipELECTRON, ipH2, ipH2_ORTHO, ipH2_PARA, ipNCOLLIDER, isnan, MAX2, MIN2, nMatch(), open_data(), read_whole_line(), ReadCollisionRateTable(), RefIndex(), rfield, RYD_INF, SMALLFLOAT, T1CM, TotalInsanity(), and trace.

Referenced by database_readin().

Here is the call graph for this function:

◆ atmdat_outer_shell()

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, and ioQQQ.

Referenced by atmdat_readin(), and RT_diffuse().

◆ atmdat_readin()

◆ atmdat_STOUT_readin()

void atmdat_STOUT_readin ( long intNS,
char * chFileName )

atmdat_STOUT_readin read in data from STOUT database files

Parameters
intNS
chFileName

Definition at line 17 of file atmdat_chianti.cpp.

References ASSERT, atmdat, cdEXIT, dBaseSpecies, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, ENERGY_MIN_WN, EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, g, GetGF(), ioQQQ, ipdBaseTrans, ipELECTRON, ipNCOLLIDER, ipPROTON, MALLOC, MAX2, MIN3, nMatch(), open_data(), read_whole_line(), RefIndex(), StoutCollData, trace, and uncaps().

Referenced by database_readin().

Here is the call graph for this function:

◆ ChargTranEval()

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 44 of file atmdat_char_tran.cpp.

References atmdat, conv, DEBUG_ENTRY, fp_equal(), HCTIon(), HCTRecom(), HMRATE, ipALUMINIUM, ipARGON, ipCARBON, ipCHLORINE, ipHELIUM, ipHYDROGEN, ipIRON, ipLITHIUM, ipMAGNESIUM, ipMANGANESE, ipNEON, ipNICKEL, ipNITROGEN, ipOXYGEN, ipPHOSPHORUS, ipPOTASSIUM, ipSILICON, ipSODIUM, ipSULPHUR, ipTITANIUM, LIMELM, MIN2, mole_global, phycon, SDIV(), and sexp().

Referenced by ChargTranPun(), and ConvBase().

Here is the call graph for this function:

◆ ChargTranPun()

void ChargTranPun ( FILE * ipPnunit,
char * chSave )

save charge transfer rate coefficients

Parameters
ipPnunit
chSave

Definition at line 1729 of file atmdat_char_tran.cpp.

References abund, atmdat, cdEXIT, ChargTranEval(), DEBUG_ENTRY, dense, elementnames, EXIT_FAILURE, HCTIon(), HCTRecom(), Heavy, ioQQQ, ipHELIUM, ipHYDROGEN, LIMELM, phycon, and TempChange().

Referenced by SaveDo().

Here is the call graph for this function:

◆ ChargTranSumHeat()

double ChargTranSumHeat ( void )

sum up the charge transfer heating

Returns

Definition at line 569 of file atmdat_char_tran.cpp.

References ASSERT, atmdat, CTIonData, CTRecombData, DEBUG_ENTRY, dense, EN1EV, fixit(), FRAC, ioQQQ, ipH1s, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipLITHIUM, iso_sp, lgCTDataDefined, LIMELM, MAX2, MIN2, and thermal.

Referenced by ConvBase().

Here is the call graph for this function:

◆ CHIANTI_Upsilon()

double CHIANTI_Upsilon ( long ipSpecies,
long ipCollider,
long ipHi,
long ipLo,
double ftemp )

CHIANTI_Upsilon converts Chianti collision splines to collision strengths

Definition at line 690 of file species2.cpp.

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

Referenced by ChiantiCollRate(), and SaveDo().

Here is the call graph for this function:

◆ InterpCollRate()

double InterpCollRate ( const CollRateCoeffArray & rate_table,
const long & ipHi,
const long & ipLo,
const double & ftemp )

Definition at line 135 of file atmdat.cpp.

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

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

Here is the call graph for this function:

◆ ReadCollisionRateTable()

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

Variable Documentation

◆ atmdat

◆ HS_He1_Energy

double**** HS_He1_Energy
extern

Definition at line 9 of file atmdat.cpp.

Referenced by atmdat_H_phot_cs(), GetHS98CrossSection(), and read_SH98_He1_cross_sections().

◆ HS_He1_Xsectn

double**** HS_He1_Xsectn
extern

Definition at line 8 of file atmdat.cpp.

Referenced by atmdat_H_phot_cs(), GetHS98CrossSection(), and read_SH98_He1_cross_sections().

◆ OP_Helike_Energy

double***** OP_Helike_Energy
extern

Definition at line 11 of file atmdat.cpp.

Referenced by atmdat_H_phot_cs(), cross_section(), and read_Helike_cross_sections().

◆ OP_Helike_NumPts

long**** OP_Helike_NumPts
extern

Definition at line 12 of file atmdat.cpp.

Referenced by atmdat_H_phot_cs(), cross_section(), and read_Helike_cross_sections().

◆ OP_Helike_Xsectn

double***** OP_Helike_Xsectn
extern

Definition at line 10 of file atmdat.cpp.

Referenced by atmdat_H_phot_cs(), cross_section(), and read_Helike_cross_sections().