Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
atmdat_adfa.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2023 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef ATMDAT_ADFA_H_
5 #define ATMDAT_ADFA_H_
6 
7 #include "iso.h"
8 #include "atmdat.h"
9 
10 const int NRECCOEFCNO=471;
12 
13 class t_ADfA : public Singleton<t_ADfA>
14 {
15  friend class Singleton<t_ADfA>;
16 protected:
17  t_ADfA();
18 private:
20  /* phfit.dat */
21  static const int NSHELLS = 7;
22  long int L[NSHELLS];
23  long int NINN[LIMELM];
24  long int NTOT[LIMELM];
25  static const int NFIT_PH1 = 6,
26  NFIT_PH2 = 7;
29 
39  inline long set_vshell_index( long ne, long Z ) const;
40 
41  /* hpfit.dat */
43  /* rec_lines.dat */
44  realnum P[8][110];
45  realnum ST[9][405];
46  /* rad_rec.dat */
49  realnum fe[13][3];
50  /* h_rad_rec */
52  /* h_phot_cs.dat */
56  /* coll_ion.dat */
57  double CF[LIMELM][LIMELM][5];
58  /* h_coll_str.dat */
61  /* >>refer H1 cs Anderson, H., Ballance, C.P., Badnell, N.R., & Summers, H.P.,
62  * >>refercon 2000, J Phys B, 33, 1255; erratum, 2002 */
63  map<QNPair, array<realnum,NHCSTE>> HCS;
64 public:
68  void set_version(phfit_version val) { version = val; }
69 
71  phfit_version get_version() const { return version; }
72 
79  realnum ph1(int i, int j, int k, int l) const { return PH1[i][j][k][l]; }
80 
90  double getEthresh( long nshell, long nel, long Z ) const;
91 
96  realnum sth(int i) const { return STH[i]; }
97 
106  double phfit(long int nz, long int ne, long int is, double e);
107 
114  double hpfit(long int iz, long int n, double e);
115 
121  void rec_lines(double t, realnum r[][NRECCOEFCNO]);
122 
129  double rad_rec(long int iz, long int in, double t);
130 
137  double H_rad_rec(long int iz, long int n, double t);
138 
145  double coll_ion(long int iz, long int in, double t);
146 
147  double coll_ion_wrapper(long int z, long int n, double t);
148 
149  /* coll_ion_hybrid computes hybrid collisional ionization rates */
150  double coll_ion_hybrid( long int z, long int n, double t);
151 
157  const realnum* h_coll_str(long nHi, long lHi, long nLo, long lLo) const;
158 };
159 
160 #endif
Definition: cddefines.h:213
realnum PH1[NSHELLS][LIMELM][LIMELM][NFIT_PH1]
Definition: atmdat_adfa.h:27
realnum ph1(int i, int j, int k, int l) const
Definition: atmdat_adfa.h:79
realnum fe[13][3]
Definition: atmdat_adfa.h:49
const int NRECCOEFCNO
Definition: atmdat_adfa.h:10
realnum PHH[NHYDRO_MAX_LEVEL][5]
Definition: atmdat_adfa.h:42
static const int NFIT_PH1
Definition: atmdat_adfa.h:25
realnum sth(int i) const
Definition: atmdat_adfa.h:96
static const int NFIT_PH2
Definition: atmdat_adfa.h:26
long int L[NSHELLS]
Definition: atmdat_adfa.h:22
realnum HRF[NHYDRO_MAX_LEVEL][9]
Definition: atmdat_adfa.h:51
double coll_ion_wrapper(long int z, long int n, double t)
Definition: atmdat_adfa.cpp:859
map< QNPair, array< realnum, NHCSTE > > HCS
Definition: atmdat_adfa.h:63
long set_vshell_index(long ne, long Z) const
Definition: atmdat_adfa.cpp:289
long int NTOT[LIMELM]
Definition: atmdat_adfa.h:24
phfit_version
Definition: atmdat_adfa.h:11
double CF[LIMELM][LIMELM][5]
Definition: atmdat_adfa.h:57
double getEthresh(long nshell, long nel, long Z) const
Definition: atmdat_adfa.cpp:313
double coll_ion(long int iz, long int in, double t)
Definition: atmdat_adfa.cpp:820
phfit_version version
Definition: atmdat_adfa.h:19
Definition: atmdat_adfa.h:13
const realnum * h_coll_str(long nHi, long lHi, long nLo, long lLo) const
Definition: atmdat_adfa.cpp:975
realnum ST[9][405]
Definition: atmdat_adfa.h:45
long int NINN[LIMELM]
Definition: atmdat_adfa.h:23
Definition: atmdat_adfa.h:11
static const int NSHELLS
Definition: atmdat_adfa.h:21
phfit_version get_version() const
Definition: atmdat_adfa.h:71
float realnum
Definition: cddefines.h:127
double H_rad_rec(long int iz, long int n, double t)
Definition: atmdat_adfa.cpp:760
Definition: atmdat_adfa.h:11
const int LIMELM
Definition: cddefines.h:318
double rad_rec(long int iz, long int in, double t)
Definition: atmdat_adfa.cpp:686
double hpfit(long int iz, long int n, double e)
Definition: atmdat_adfa.cpp:448
realnum rrec[LIMELM][LIMELM][2]
Definition: atmdat_adfa.h:47
Definition: atmdat_adfa.h:11
realnum PH2[LIMELM][LIMELM][NFIT_PH2]
Definition: atmdat_adfa.h:28
double coll_ion_hybrid(long int z, long int n, double t)
Definition: atmdat_adfa.cpp:923
void rec_lines(double t, realnum r[][NRECCOEFCNO])
Definition: atmdat_adfa.cpp:527
realnum STH[NHYDRO_MAX_LEVEL]
Definition: atmdat_adfa.h:55
void set_version(phfit_version val)
Definition: atmdat_adfa.h:68
double phfit(long int nz, long int ne, long int is, double e)
Definition: atmdat_adfa.cpp:322
const int NHYDRO_MAX_LEVEL
Definition: cddefines.h:326
t_ADfA()
Definition: atmdat_adfa.cpp:13
realnum P[8][110]
Definition: atmdat_adfa.h:44
realnum rnew[LIMELM][LIMELM][4]
Definition: atmdat_adfa.h:48