cloudy trunk
Loading...
Searching...
No Matches
grainvar.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 GRAINVAR_H_
5#define GRAINVAR_H_
6
7/* grainvar.h */
8
11#define IGNORE_QUANTUM_HEATING 1
12
14const int NDEMS = 200;
15
17const double GRAIN_TMIN = 1.e-3;
18const double GRAIN_TMID = 5.e3;
19const double GRAIN_TMAX = 1.2e9;
20
22const int NCHS = 30;
25const int NCHU = NCHS/3;
27const int NCHRG_DEFAULT= 2;
28
32const int NQGRID = 10000;
33
35const double CONSERV_TOL = 1.e-3;
36
43
53
55typedef enum {
58} zmin_type;
59
61typedef enum {
64} pot_type;
65
67typedef enum {
70} ial_type;
71
73typedef enum {
76} pe_type;
77
79typedef enum {
82} strg_type;
83
85typedef enum {
89
92
94} H2_type;
95
112
120
122{
123 void p_clear0();
124 void p_clear1();
125
126public:
128 {
129 p_clear1();
130 }
132 {
133 p_clear0();
134 }
135 void clear()
136 {
137 p_clear0();
138 p_clear1();
139 }
140
141 long nelem;
142 long ns;
143 double ionPot;
144 long ipLo;
147 long nData;
148 vector<double> AvNr;
149 vector<double> Ener;
150 vector< flex_arr<realnum> > y01A;
151};
152
158{
159 void p_clear0();
160 void p_clear1();
161
162public:
164 {
165 p_clear1();
166 }
168 {
169 p_clear0();
170 }
171 void clear()
172 {
173 p_clear0();
174 p_clear1();
175 }
176
177 unsigned int nSubShell;
178 vector<unsigned int> nData;
179 vector<double> IonThres;
180 vector< vector<double> > AvNumber;
182 vector< vector<double> > Energy;
183};
184
198
277
291
293{
294 void p_clear0();
295 void p_clear1();
296
297public:
299 {
300 p_clear1();
301 }
303 {
304 p_clear0();
305 }
306 void clear()
307 {
308 p_clear0();
309 p_clear1();
310 }
311
315
317 char chDstLab[13];
318 double eec;
319 double eyc;
336
343
349 double cnv_H_pGR,
355
357 double RSFCheck;
358
361 vector<double> dstab1;
362 vector<double> pure_sc1;
363 vector<double> asym;
364
366 double dstems[NDEMS],
369
374
382 long LowestZg;
383 long nfill;
384 vector<ShellData*> sd;
385 vector<realnum> y0b06;
386 double AveDustZ,
397 vector<realnum> inv_att_len;
399
401 double BolFlux,
410
412 bool lgQHeat,
419 double
423 double DustEnth[NDEMS],
426
432
436
437 long nChrgOrg;
438 long nChrg;
440};
441
449
451{
452 void p_clear0();
453 void p_clear1();
454
455public:
457 {
458 p_clear1();
459 }
461 {
462 p_clear0();
463 }
464 void clear()
465 {
466 p_clear0();
467 p_clear1();
468 }
469
471 bool lgDustOn() const
472 {
473 return ( bin.size() > 0 );
474 }
475 bool lgWD01,
483
485 bool lgDHetOn,
487
490 bool lgDColOn;
491
495
496 vector<string> ReadRecord;
497
499
501
505
508
518
519 vector<realnum> anumin;
520 vector<realnum> anumax;
521
523 long nzone;
524 vector<double> dstab;
525 vector<double> dstsc;
526
528 double TotalEden;
532 double GrnRecomTe;
535
537
542
544 double GasCoolColl,
554
555 double dHeatdT;
556
558
562
564 double dsttmp[NDEMS];
565
572
576
578 vector<realnum> GrainEmission;
579 vector<realnum> GraphiteEmission;
580 vector<realnum> SilicateEmission;
581
583 vector<GrainBin*> bin;
584
585};
586extern GrainVar gv;
587
588
589#endif /* GRAINVAR_H_ */
const int LIMELM
Definition cddefines.h:258
float realnum
Definition cddefines.h:103
void clear()
Definition grainvar.h:171
vector< unsigned int > nData
Definition grainvar.h:178
void p_clear0()
Definition grains.cpp:223
AEInfo()
Definition grainvar.h:163
vector< vector< double > > Energy
Definition grainvar.h:182
vector< double > IonThres
Definition grainvar.h:179
void p_clear1()
Definition grains.cpp:231
vector< vector< double > > AvNumber
Definition grainvar.h:180
unsigned int nSubShell
Definition grainvar.h:177
~AEInfo()
Definition grainvar.h:167
double ThresInfInc
Definition grainvar.h:230
flex_arr< realnum > yhat
Definition grainvar.h:236
flex_arr< double > cs_pdt
Definition grainvar.h:239
double ThresSurfInc
Definition grainvar.h:233
flex_arr< realnum > ehat
Definition grainvar.h:238
double ThresSurf
Definition grainvar.h:232
double hots1
Definition grainvar.h:255
double GasHeatTherm
Definition grainvar.h:269
double ESum1b
Definition grainvar.h:249
realnum tedust
Definition grainvar.h:253
double FracPop
Definition grainvar.h:224
double ESum2
Definition grainvar.h:250
double GasHeatPhotoEl
Definition grainvar.h:268
double Emin
Definition grainvar.h:225
long ipThresInfVal
Definition grainvar.h:222
void p_clear0()
Definition grains.cpp:254
long RecomZ0[LIMELM][LIMELM+1]
Definition grainvar.h:241
double BolFlux
Definition grainvar.h:265
double PotSurfInc
Definition grainvar.h:228
double PotSurf
Definition grainvar.h:227
double bolflux1
Definition grainvar.h:256
double ThermRate
Definition grainvar.h:235
flex_arr< double > fac2
Definition grainvar.h:259
double GrainHeatColl
Definition grainvar.h:267
double xi[LIMELM+2]
Definition grainvar.h:244
double HeatingRate2
Definition grainvar.h:275
double GrainHeat
Definition grainvar.h:266
double ESum1a
Definition grainvar.h:248
flex_arr< realnum > yhat_primary
Definition grainvar.h:237
long nfill
Definition grainvar.h:223
double ThresInf
Definition grainvar.h:229
realnum RecomEn[LIMELM][LIMELM+1]
Definition grainvar.h:261
double eta[LIMELM+2]
Definition grainvar.h:243
double RSum2
Definition grainvar.h:247
void clear()
Definition grainvar.h:213
double RSum1
Definition grainvar.h:246
double ChemEnH2
Definition grainvar.h:272
long ipThresInf
Definition grainvar.h:221
double hcon1
Definition grainvar.h:254
realnum ChemEn[LIMELM][LIMELM+1]
Definition grainvar.h:262
double GrainCoolTherm
Definition grainvar.h:270
void p_clear1()
Definition grains.cpp:264
double ThresInfVal
Definition grainvar.h:231
double pe1
Definition grainvar.h:257
double ThresSurfVal
Definition grainvar.h:234
double EminInc
Definition grainvar.h:226
long DustZ
Definition grainvar.h:220
double ChemEnIon
Definition grainvar.h:271
flex_arr< double > fac1
Definition grainvar.h:258
realnum GrnDpth
Definition grainvar.h:347
realnum avdft
Definition grainvar.h:435
vector< realnum > y0b06
Definition grainvar.h:385
bool lgQHeat
Definition grainvar.h:412
bool lgEverQHeat
Definition grainvar.h:414
double GrainGasCool
Definition grainvar.h:406
double RateUp
Definition grainvar.h:391
vector< double > pure_sc1
Definition grainvar.h:362
double cnv_CM3_pH
Definition grainvar.h:352
double cnv_GR_pCM3
Definition grainvar.h:354
long qnflux2
Definition grainvar.h:418
realnum avdpot
Definition grainvar.h:395
double GrainHeatColl
Definition grainvar.h:405
bool lgQHTooWide
Definition grainvar.h:415
double BolFlux
Definition grainvar.h:401
double AveDustZ
Definition grainvar.h:386
void clear()
Definition grainvar.h:306
double Capacity
Definition grainvar.h:387
realnum AvRadius
Definition grainvar.h:322
double GrainCoolTherm
Definition grainvar.h:402
double ChemEnH2
Definition grainvar.h:408
realnum IntVol
Definition grainvar.h:327
double rate_h2_form_grains_used
Definition grainvar.h:430
realnum atomWeight
Definition grainvar.h:329
double StickElecPos
Definition grainvar.h:394
bool lgPAHsInIonizedRegion
Definition grainvar.h:314
realnum IntRadius
Definition grainvar.h:325
double EnthSlp2[NDEMS]
Definition grainvar.h:425
double dstpotsav
Definition grainvar.h:389
realnum ThermEff
Definition grainvar.h:333
realnum TeGrainMax
Definition grainvar.h:372
long nfill
Definition grainvar.h:383
double cnv_CM3_pGR
Definition grainvar.h:351
double DustEnth[NDEMS]
Definition grainvar.h:423
long QHeatFailures
Definition grainvar.h:416
long nChrgOrg
Definition grainvar.h:437
long LowestZg
Definition grainvar.h:382
realnum AvVol
Definition grainvar.h:324
double qtmin
Definition grainvar.h:420
double LowestPot
Definition grainvar.h:390
vector< ShellData * > sd
Definition grainvar.h:384
bool lgTdustConverged
Definition grainvar.h:370
realnum tedust
Definition grainvar.h:371
double HeatingRate1
Definition grainvar.h:422
double ChemEn
Definition grainvar.h:407
~GrainBin()
Definition grainvar.h:302
double cnv_GR_pH
Definition grainvar.h:353
long qnflux
Definition grainvar.h:417
long nChrg
Definition grainvar.h:438
double StickElecNeg
Definition grainvar.h:393
vector< double > dstab1
Definition grainvar.h:361
realnum IntArea
Definition grainvar.h:326
double rate_h2_form_grains_CT02
Definition grainvar.h:429
realnum dstfactor
Definition grainvar.h:345
double eyc
Definition grainvar.h:319
double RSFCheck
Definition grainvar.h:357
vector< double > asym
Definition grainvar.h:363
double dstslp2[NDEMS]
Definition grainvar.h:368
void p_clear0()
Definition grains.cpp:272
ChargeBin * chrg[NCHS]
Definition grainvar.h:439
realnum BandGap
Definition grainvar.h:332
realnum avdust
Definition grainvar.h:373
realnum Tsublimat
Definition grainvar.h:330
double AccomCoef[LIMELM]
Definition grainvar.h:398
double thermionic
Definition grainvar.h:409
double dstpot
Definition grainvar.h:388
double eec
Definition grainvar.h:318
char chDstLab[13]
Definition grainvar.h:317
mat_type matType
Definition grainvar.h:335
realnum dstAbund
Definition grainvar.h:346
double cnv_H_pGR
Definition grainvar.h:349
bool lgUseQHeat
Definition grainvar.h:413
double RateDn
Definition grainvar.h:392
double EnthSlp[NDEMS]
Definition grainvar.h:424
double dstems[NDEMS]
Definition grainvar.h:366
realnum dustp[5]
Definition grainvar.h:321
void p_clear1()
Definition grains.cpp:291
double cnv_H_pCM3
Definition grainvar.h:350
vector< realnum > inv_att_len
Definition grainvar.h:397
realnum DustDftVel
Definition grainvar.h:434
realnum le_thres
Definition grainvar.h:396
realnum DustWorkFcn
Definition grainvar.h:331
double dstslp[NDEMS]
Definition grainvar.h:367
realnum elmAbund[LIMELM]
Definition grainvar.h:328
realnum AvArea
Definition grainvar.h:323
realnum avDGRatio
Definition grainvar.h:334
double rate_h2_form_grains_HM79
Definition grainvar.h:428
bool lgChrgConverged
Definition grainvar.h:381
double qtmin_zone1
Definition grainvar.h:421
df_type nDustFunc
Definition grainvar.h:313
double GasHeatPhotoEl
Definition grainvar.h:403
double GrainHeat
Definition grainvar.h:404
bool lgDColOn
Definition grainvar.h:490
ial_type which_ial[MAT_TOP]
Definition grainvar.h:514
double GrainHeatCollSum
Definition grainvar.h:552
double TotalEden
Definition grainvar.h:528
~GrainVar()
Definition grainvar.h:460
void p_clear1()
Definition grains.cpp:388
bool lgNegGrnDrg
Definition grainvar.h:482
long nzone
Definition grainvar.h:523
bool lgBakesPAH_heat
Definition grainvar.h:481
double GrainHeatDif
Definition grainvar.h:550
void clear()
Definition grainvar.h:464
FILE * QHSaveFile
Definition grainvar.h:571
vector< realnum > GraphiteEmission
Definition grainvar.h:579
bool lgGrainElectrons
Definition grainvar.h:494
bool lgQHeatOn
Definition grainvar.h:486
double GrainHeatSum
Definition grainvar.h:548
double GasHeatPhotoEl
Definition grainvar.h:545
strg_type which_strg[MAT_TOP]
Definition grainvar.h:516
vector< double > dstsc
Definition grainvar.h:525
double GrainHeatChem
Definition grainvar.h:553
bool lgGrainPhysicsOn
Definition grainvar.h:479
realnum dclmax
Definition grainvar.h:561
vector< realnum > GrainEmission
Definition grainvar.h:578
bool lgQHPunLast
Definition grainvar.h:570
double GasHeatNet
Definition grainvar.h:547
void p_clear0()
Definition grains.cpp:366
bool lgReevaluate
Definition grainvar.h:477
long HighestIon
Definition grainvar.h:533
realnum GrainMetal
Definition grainvar.h:506
H2_type which_H2distr[MAT_TOP]
Definition grainvar.h:517
vector< realnum > anumax
Definition grainvar.h:520
string chPAH_abundance
Definition grainvar.h:498
realnum dphmax
Definition grainvar.h:560
realnum elmSumAbund[LIMELM]
Definition grainvar.h:507
pot_type which_pot[MAT_TOP]
Definition grainvar.h:513
zmin_type which_zmin[MAT_TOP]
Definition grainvar.h:512
bool lgDustOn() const
Definition grainvar.h:471
realnum GrnElecHoldMax
Definition grainvar.h:531
enth_type which_enth[MAT_TOP]
Definition grainvar.h:511
realnum dstAbundThresholdNear
Definition grainvar.h:567
bool lgQHeatAll
Definition grainvar.h:569
vector< double > dstab
Definition grainvar.h:524
vector< string > ReadRecord
Definition grainvar.h:496
double dHeatdT
Definition grainvar.h:555
realnum GrainHeatScaleFactor
Definition grainvar.h:557
double rate_h2_form_grains_used_total
Definition grainvar.h:574
double GasCoolColl
Definition grainvar.h:544
realnum TotalDustHeat
Definition grainvar.h:559
double dsttmp[NDEMS]
Definition grainvar.h:564
long nChrgRequested
Definition grainvar.h:534
pe_type which_pe[MAT_TOP]
Definition grainvar.h:515
realnum GrnElecDonateMax
Definition grainvar.h:530
bool lgAnyDustVary
Definition grainvar.h:480
bool lgWD01
Definition grainvar.h:475
AEInfo * AugerData[LIMELM]
Definition grainvar.h:536
realnum GrainChTrRate[LIMELM][LIMELM+1][LIMELM+1]
Definition grainvar.h:541
bool lgDHetOn
Definition grainvar.h:485
double GrainHeatLya
Definition grainvar.h:549
vector< GrainBin * > bin
Definition grainvar.h:583
vector< realnum > SilicateEmission
Definition grainvar.h:580
double GasHeatTherm
Definition grainvar.h:546
double GrainHeatInc
Definition grainvar.h:551
vector< realnum > anumin
Definition grainvar.h:519
realnum dstAbundThresholdFar
Definition grainvar.h:568
double GrnRecomTe
Definition grainvar.h:532
void p_clear1()
Definition grains.cpp:245
flex_arr< realnum > p
Definition grainvar.h:145
long nData
Definition grainvar.h:147
double ionPot
Definition grainvar.h:143
long nelem
Definition grainvar.h:141
long ns
Definition grainvar.h:142
void clear()
Definition grainvar.h:135
vector< flex_arr< realnum > > y01A
Definition grainvar.h:150
void p_clear0()
Definition grains.cpp:236
long ipLo
Definition grainvar.h:144
flex_arr< realnum > y01
Definition grainvar.h:146
vector< double > Ener
Definition grainvar.h:149
vector< double > AvNr
Definition grainvar.h:148
GrainVar gv
Definition grainvar.cpp:5
const double CONSERV_TOL
Definition grainvar.h:35
const int NDEMS
Definition grainvar.h:14
const double GRAIN_TMIN
Definition grainvar.h:17
const int NCHU
Definition grainvar.h:25
df_type
Definition grainvar.h:38
@ DF_SUBLIMATION
Definition grainvar.h:41
@ DF_USER_FUNCTION
Definition grainvar.h:40
@ DF_STANDARD
Definition grainvar.h:39
const double GRAIN_TMID
Definition grainvar.h:18
strg_type
Definition grainvar.h:79
@ STRG_SIL
Definition grainvar.h:81
@ STRG_CAR
Definition grainvar.h:80
mat_type
Definition grainvar.h:99
@ MAT_PAH
Definition grainvar.h:103
@ MAT_USR
Definition grainvar.h:100
@ MAT_SIL
Definition grainvar.h:102
@ MAT_PAH2
Definition grainvar.h:106
@ MAT_TOP
Definition grainvar.h:110
@ MAT_SIL2
Definition grainvar.h:105
@ MAT_CAR2
Definition grainvar.h:104
@ MAT_CAR
Definition grainvar.h:101
H2_type
Definition grainvar.h:85
@ H2_ICE
Definition grainvar.h:86
@ H2_SIL
Definition grainvar.h:87
@ H2_CAR
Definition grainvar.h:88
@ H2_TOP
Definition grainvar.h:93
const int NCHS
Definition grainvar.h:22
ial_type
Definition grainvar.h:67
@ IAL_SIL
Definition grainvar.h:69
@ IAL_CAR
Definition grainvar.h:68
const int NQGRID
Definition grainvar.h:32
const double GRAIN_TMAX
Definition grainvar.h:19
zmin_type
Definition grainvar.h:55
@ ZMIN_SIL
Definition grainvar.h:57
@ ZMIN_CAR
Definition grainvar.h:56
pot_type
Definition grainvar.h:61
@ POT_CAR
Definition grainvar.h:62
@ POT_SIL
Definition grainvar.h:63
const int NCHRG_DEFAULT
Definition grainvar.h:27
pe_type
Definition grainvar.h:73
@ PE_SIL
Definition grainvar.h:75
@ PE_CAR
Definition grainvar.h:74
enth_type
Definition grainvar.h:45
@ ENTH_SIL2
Definition grainvar.h:49
@ ENTH_PAH2
Definition grainvar.h:51
@ ENTH_CAR2
Definition grainvar.h:47
@ ENTH_SIL
Definition grainvar.h:48
@ ENTH_PAH
Definition grainvar.h:50
@ ENTH_CAR
Definition grainvar.h:46
bool lgGreyGrain
Definition grainvar.h:117
bool lgRequestQHeating
Definition grainvar.h:118
df_type nDustFunc
Definition grainvar.h:115
bool lgForbidQHeating
Definition grainvar.h:116
double dep
Definition grainvar.h:114