cloudy trunk
Loading...
Searching...
No Matches
atomfeii.h
Go to the documentation of this file.
1/* This file is part of Cloudy and is copyright (C)1978-2013 by Gary J. Ferland and
2 * others. For conditions of distribution and use see copyright notice in license.txt */
3
4#ifndef ATOMFEII_H_
5#define ATOMFEII_H_
6
9
16void AssertFeIIDep( double *pred , double *BigError , double *StdDev );
17
19void FeIICreate(void);
21void FeIIPrint(void);
22
23void FeIILevelPops(void);
24
31double FeIISumBand(realnum wl1,
32 realnum wl2,
33 double *SumBandInward );
34
36void FeII_RT_TauInc(void);
37
39void FeII_RT_tau_reset(void);
40
42void FeIIPoint(void);
43
44
49void FeIIAccel(double *fe2drive);
50
54void FeII_RT_Make( void );
55
57void FeIIAddLines( void );
58
62void FeIIPunchLevels( FILE * ioPUN );
63
69 FILE *ioPUN );
70
75void FeII_Colden( const char *chLabel );
76
77
81void FeIISaveLines( FILE * ioPUN );
82
86void FeIIPunchOpticalDepth( FILE * ioPUN );
87
89void FeII_LineZero(void);
90
92void FeIIIntenZero(void);
93
95double FeIIRadPress(void);
96
100double FeII_InterEnergy(void);
101
107void FeIIPunDepart(FILE* ioPUN ,
108 bool lgDoAll );
109
110void PunFeII( FILE * io );
111
117void FeIIPun1Depart(FILE * ioPUN , long int nPUN );
123void FeIIPunData(
124 FILE* ioPUN ,
125 bool lgDoAll );
126
135void FeIIPunPop(FILE* ioPUN ,
136 bool lgPunchRange ,
137 long int ipRangeLo ,
138 long int ipRangeHi ,
139 bool lgPunchDensity );
140
141
148void FeIIPunchLineStuff( FILE * io , realnum xLimit , long index);
149
150#if 0
151
157void FeIIPun1Pop(
158 FILE * ioPUN ,
159 long int nPUN );
160#endif
161
163void FeIIZero(void);
164
166void FeIIReset(void);
167
169void FeII_OTS(void);
170
172void FeII_RT_Out(void);
173
175class Parser;
176
177void ParseAtomFeII( Parser &p );
178
180#define NFE2LEVN 371
181
185extern bool lgFeIIMalloc;
186
262extern t_FeII FeII;
263
264 /* this info used to estimate destruction of Lya by overlap with FeII
265 * in case where large atom is not turned on */
266
268const int NFEII = 373;
270const int NFE2PR = 61;
271
272class t_fe2ovr_la : public Singleton<t_fe2ovr_la>
273{
274 friend class Singleton<t_fe2ovr_la>;
275protected:
276 t_fe2ovr_la();
277private:
282
283 long int ipfe2[NFEII];
284
289
290 double fe2pt[NFE2PR];
291 double fe2pf[NFE2PR];
292
294 double fe2par(double te);
295public:
296 void zero_opacity();
297
298 void init_pointers();
299
301 void tau_inc();
302
304 void atoms_fe2ovr(void);
305};
306
307#endif /* ATOMFEII_H_ */
t_FeII FeII
Definition atomfeii.cpp:5
const int NFE2PR
Definition atomfeii.h:270
void FeII_RT_TauInc(void)
void FeII_LineZero(void)
void FeIIIntenZero(void)
void FeIIPunPop(FILE *ioPUN, bool lgPunchRange, long int ipRangeLo, long int ipRangeHi, bool lgPunchDensity)
void FeII_RT_Make(void)
double FeIIRadPress(void)
void FeIIPunDepart(FILE *ioPUN, bool lgDoAll)
void FeII_OTS(void)
void FeII_RT_tau_reset(void)
void AssertFeIIDep(double *pred, double *BigError, double *StdDev)
void FeIIAccel(double *fe2drive)
void FeIIPun1Depart(FILE *ioPUN, long int nPUN)
void FeIIPunchLineStuff(FILE *io, realnum xLimit, long index)
void FeIIPunchColden(FILE *ioPUN)
double FeII_InterEnergy(void)
void FeIIPunchLevels(FILE *ioPUN)
bool lgFeIIMalloc
Definition cdinit.cpp:90
void FeIIAddLines(void)
void FeIIPunchOpticalDepth(FILE *ioPUN)
void FeIIReset(void)
double FeIISumBand(realnum wl1, realnum wl2, double *SumBandInward)
#define NFE2LEVN
Definition atomfeii.h:180
void ParseAtomFeII(Parser &p)
void FeIICreate(void)
void FeIIPunData(FILE *ioPUN, bool lgDoAll)
void PunFeII(FILE *io)
void FeIISaveLines(FILE *ioPUN)
const int NFEII
Definition atomfeii.h:268
void FeIIPrint(void)
void FeII_Colden(const char *chLabel)
void FeIILevelPops(void)
void FeII_RT_Out(void)
void FeIIZero(void)
void FeIIPoint(void)
float realnum
Definition cddefines.h:103
long int ipfe2[NFEII]
Definition atomfeii.h:283
realnum fe2gs[NFEII]
Definition atomfeii.h:281
realnum fe2osc[NFEII]
Definition atomfeii.h:279
void atoms_fe2ovr(void)
void zero_opacity()
double fe2pf[NFE2PR]
Definition atomfeii.h:291
realnum fe2enr[NFEII]
Definition atomfeii.h:280
realnum feopc[NFEII]
Definition atomfeii.h:286
realnum fe2lam[NFEII]
Definition atomfeii.h:278
realnum Fe2TauLte[NFEII]
Definition atomfeii.h:287
double fe2pt[NFE2PR]
Definition atomfeii.h:290
void init_pointers()
realnum Fe2PopLte[NFEII]
Definition atomfeii.h:288
double fe2par(double te)
double for7
Definition atomfeii.h:259
double ddT_Fe2_UVsimp_cool
Definition atomfeii.h:257
long int nfe2con
Definition atomfeii.h:241
realnum fe2ener[2]
Definition atomfeii.h:233
realnum feconwlHi
Definition atomfeii.h:239
long int nFeIILevel_malloc
Definition atomfeii.h:193
double Fe2_large_heat
Definition atomfeii.h:252
double Fe2_large_cool
Definition atomfeii.h:250
bool lgPrint
Definition atomfeii.h:204
double FeIIAul[NFE2LEVN][NFE2LEVN]
Definition atomfeii.h:213
bool lgSlow
Definition atomfeii.h:201
int ipRedisFcnResonance
Definition atomfeii.h:244
double FeIINRGs[NFE2LEVN]
Definition atomfeii.h:207
double FeIISTWT[NFE2LEVN]
Definition atomfeii.h:210
int ipRedisFcnSubordinate
Definition atomfeii.h:245
char chFeIIAtom[7]
Definition atomfeii.h:222
bool lgLyaPumpOn
Definition atomfeii.h:229
bool lgSimulate
Definition atomfeii.h:219
double FeIIColl[NFE2LEVN][NFE2LEVN][8]
Definition atomfeii.h:216
realnum feconwlLo
Definition atomfeii.h:239
bool lgShortFe2
Definition atomfeii.h:225
double ddT_Fe2_large_cool
Definition atomfeii.h:251
double Fe2_UVsimp_cool
Definition atomfeii.h:258
bool lgFeIILargeOn
Definition atomfeii.h:198
realnum fe2thresh
Definition atomfeii.h:236
long int nFeIILevel_local
Definition atomfeii.h:191