cloudy  trunk
prt_lines_grains.cpp
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 /*lines_hydro put H-iso seq into line intensity stack */
4 #include "cddefines.h"
5 #include "radius.h"
6 #include "thermal.h"
7 #include "dense.h"
8 #include "lines_service.h"
9 #include "grainvar.h"
10 #include "lines.h"
11 
12 void lines_grains(void)
13 {
14  double
15  dhtot,
16  hold;
17  long i;
18 
19  DEBUG_ENTRY( "lines_grains()" );
20 
21  if( !gv.lgGrainPhysicsOn )
22  {
23  return;
24  }
25 
26  i = StuffComment( "grains" );
27  linadd( 0., (realnum)i , "####", 'i',
28  "the grain output");
29 
30  /* find total grain heating */
31  dhtot = 0.;
32  for( size_t nd=0; nd < gv.bin.size(); nd++ )
33  {
34  /* add heating due to all grain species that are included */
35  dhtot += gv.bin[nd]->GasHeatPhotoEl;
36  }
37 
38  /* total heating due to dust integrated over model */
40  /* largest fraction of local heating due to grains photo */
41  gv.dphmax = MAX2((realnum)(dhtot/thermal.htot),gv.dphmax);
42  /* largest local cooling of gas by collisions with grains */
44 
45  /* largest relative number of electrons donated by grains */
46  hold = SDIV(dense.EdenTrue);
49 
50  /* largest relative number of electrons on grain surface */
53 
54  linadd(dhtot,0,"GrGH",'h',
55  " gas heating by grain photoionization");
56 
57  linadd(thermal.heating[0][25],0,"GrTH",'h',
58  " gas heating by thermionic emissions of grains ");
59 
60  linadd(MAX2(0.,gv.GasCoolColl),0,"GrGC",'c',
61  "gas cooling by collisions with grains ");
62 
63  linadd(MAX2(0.,-gv.GasCoolColl),0,"GrGC",'c',
64  " gas heating by collisions with grains ");
65 
66  linadd(gv.GrainHeatSum,0,"GraT",'i',
67  " total grain heating by all sources, lines, collisions, incident continuum ");
68 
69  linadd(gv.GrainHeatInc,0,"GraI",'i',
70  " grain heating by incident continuum ");
71 
72  linadd(gv.GrainHeatLya,1216,"GraL",'i',
73  " grain heating due to destruction of Ly alpha ");
74 
75  linadd(gv.GrainHeatCollSum,0,"GraC",'i',
76  " grain heating due to collisions with gas ");
77 
78  linadd(gv.GrainHeatDif,0,"GraD",'i',
79  " grain heating due to diffuse fields, may also have grain emission ");
80  return;
81 
82 }
thermal.h
GrainVar::GrainHeatDif
double GrainHeatDif
Definition: grainvar.h:550
lines.h
dense
t_dense dense
Definition: dense.cpp:24
GrainVar::GrainHeatLya
double GrainHeatLya
Definition: grainvar.h:549
realnum
float realnum
Definition: cddefines.h:103
t_radius::dVeffAper
double dVeffAper
Definition: radius.h:87
GrainVar::TotalEden
double TotalEden
Definition: grainvar.h:528
GrainVar::GrainHeatSum
double GrainHeatSum
Definition: grainvar.h:548
GrainVar::lgGrainPhysicsOn
bool lgGrainPhysicsOn
Definition: grainvar.h:479
SDIV
sys_float SDIV(sys_float x)
Definition: cddefines.h:952
lines_service.h
t_dense::EdenTrue
double EdenTrue
Definition: dense.h:221
GrainVar::GasCoolColl
double GasCoolColl
Definition: grainvar.h:544
GrainVar::GrnElecDonateMax
realnum GrnElecDonateMax
Definition: grainvar.h:530
radius
t_radius radius
Definition: radius.cpp:5
linadd
void linadd(double xInten, realnum wavelength, const char *chLab, char chInfo, const char *chComment)
Definition: lines_service.cpp:316
dense.h
cddefines.h
thermal
t_thermal thermal
Definition: thermal.cpp:5
GrainVar::bin
vector< GrainBin * > bin
Definition: grainvar.h:583
t_thermal::heating
double heating[LIMELM][LIMELM]
Definition: thermal.h:158
radius.h
MAX2
#define MAX2
Definition: cddefines.h:782
GrainVar::TotalDustHeat
realnum TotalDustHeat
Definition: grainvar.h:559
GrainVar::GrainHeatCollSum
double GrainHeatCollSum
Definition: grainvar.h:552
t_thermal::htot
double htot
Definition: thermal.h:149
grainvar.h
GrainVar::dclmax
realnum dclmax
Definition: grainvar.h:561
gv
GrainVar gv
Definition: grainvar.cpp:5
StuffComment
long int StuffComment(const char *chComment)
Definition: prt_final.cpp:1932
lines_grains
void lines_grains(void)
Definition: prt_lines_grains.cpp:12
GrainVar::GrnElecHoldMax
realnum GrnElecHoldMax
Definition: grainvar.h:531
DEBUG_ENTRY
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:684
GrainVar::dphmax
realnum dphmax
Definition: grainvar.h:560
GrainVar::GrainHeatInc
double GrainHeatInc
Definition: grainvar.h:551