cloudy trunk
Loading...
Searching...
No Matches
cool_chro.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/*CoolChro compute chromium cooling */
4#include "cddefines.h"
5#include "taulines.h"
6#include "coolheavy.h"
7#include "lines_service.h"
8#include "dense.h"
9#include "atoms.h"
10#include "cooling.h"
11#include "phycon.h"
12
13
14void CoolChro(void)
15{
16 double a21,
17 a31,
18 a32;
19 realnum p2,
20 p3;
21
22 DEBUG_ENTRY( "CoolChro()" );
23
24 /* Cr Chromium cooling
25 *
26 * POPEXC( O12,g1,g2,A21,excit,abund); result already*a21
27 * [Cr III] 5828, multiplet average */
28 CoolHeavy.Cr3l21 = atom_pop2(25.,25.,9.,0.05,2.47e4,dense.xIonDense[ipCHROMIUM][2])*
29 3.41e-12;
30 CoolAdd("Cr 3",5828,CoolHeavy.Cr3l21);
31
32 /* Cr IV
33 * these are 2 lines estimated by Jim Kingdon
34 * a's are bad, collision strengths just one */
35 a21 = 0.053;
36 a31 = 0.102;
37 a32 = 0.00;
38 /* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2)
39 * energies are in kelvin */
40 p3 = (realnum)atom_pop3(28.,12.,18.,28.,12.,18.,a21,a31,a32,19795.,1356.,&p2,
41 dense.xIonDense[ipCHROMIUM][3],0.,0.,0.);
42 /* multiplet at roughly 6801 A */
43 CoolHeavy.Cr4l31 = p3*a31*2.92e-12;
44 /* multiplet at roughly 7267 A */
45 CoolHeavy.Cr4l21 = p2*a21*2.74e-12;
46 CoolAdd("Cr 4",6801,CoolHeavy.Cr4l31);
47 CoolAdd("Cr 4",7267,CoolHeavy.Cr4l21);
48
49 /* Cr V
50 * these are 3 lines estimated by Jim Kingdon
51 * a's are bad, collision strengths just one */
52 a21 = 0.157;
53 a31 = 0.048;
54 a32 = 0.016;
55 /* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2)
56 * energies are in kelvin */
57 p3 = (realnum)atom_pop3(21.,5.,9.,21.,5.,9.,a21,a31,a32,18028.,3842.,&p2,dense.xIonDense[ipCHROMIUM][4],
58 0.,0.,0.);
59 /* multiplet at roughly 6577 A */
60 CoolHeavy.Cr5l31 = p3*a31*3.02e-12;
61 /* multiplet at roughly 7979 A */
62 CoolHeavy.Cr5l21 = p2*a21*2.49e-12;
63 /* multiplet at roughly 3.74 microns */
64 CoolHeavy.Cr5l32 = p2*a32*5.31e-13;
65 CoolAdd("Cr 5",6577,CoolHeavy.Cr5l31);
66 CoolAdd("Cr 5",37,CoolHeavy.Cr5l32);
67 CoolAdd("Cr 5",7979,CoolHeavy.Cr5l21);
68
69 return;
70}
double atom_pop2(double omega, double g1, double g2, double a21, double bltz, double abund)
Definition atom_pop2.cpp:9
double atom_pop3(double g1, double g2, double g3, double o12, double o13, double o23, double a21, double a31, double a32, double Tex12, double Tex23, realnum *pop2, double abund, double gam2, double r12, double r13)
Definition atom_pop3.cpp:10
const int ipCHROMIUM
Definition cddefines.h:328
float realnum
Definition cddefines.h:103
#define DEBUG_ENTRY(funcname)
Definition cddefines.h:684
void CoolChro(void)
Definition cool_chro.cpp:14
void CoolAdd(const char *chLabel, realnum lambda, double cool)
Definition cool_etc.cpp:13
t_CoolHeavy CoolHeavy
Definition coolheavy.cpp:5
t_dense dense
Definition dense.cpp:24