/home66/gary/public_html/cloudy/c08_branch/source/mole_h2_io.cpp File Reference

#include "cddefines.h"
#include "physconst.h"
#include "punch.h"
#include "hmi.h"
#include "prt.h"
#include "secondaries.h"
#include "grainvar.h"
#include "phycon.h"
#include "rfield.h"
#include "hyperfine.h"
#include "thermal.h"
#include "lines.h"
#include "lines_service.h"
#include "dense.h"
#include "radius.h"
#include "colden.h"
#include "taulines.h"
#include "h2.h"
#include "h2_priv.h"
#include "cddrive.h"
#include "mole.h"

Include dependency graph for mole_h2_io.cpp:

Go to the source code of this file.

Defines

#define H2HMINUS_PRT   false
#define NSOL   100
#define FRAC   0.01

Functions

void H2_LinesAdd (void)
void H2_ParsePunch (char *chCard, char *chHeader)
void H2_Prt_Zone (void)
void H2_Prt_column_density (FILE *ioMEAN)
void H2_ReadTransprob (long int nelec)
void H2_ReadEnergies (long int nelec)
void H2_ReadDissprob (long int nelec)
void H2_Read_hminus_distribution (void)
void H2_Punch_line_data (FILE *ioPUN, bool lgDoAll)
void H2_PunchLineStuff (FILE *io, realnum xLimit, long index)
void H2_Prt_line_tau (void)
STATIC char chMolBranch (long iRotHi, long int iRotLo)
void H2_PunchDo (FILE *io, char chJOB[], const char chTime[], long int ipPun)
long int cdH2_Line (long int iElecHi, long int iVibHi, long int iRotHi, long int iElecLo, long int iVibLo, long int iRotLo, double *relint, double *absint)

Variables

static char chlgPara [2] = {'P','O'}
static realnum thresh_punline_h2


Define Documentation

#define FRAC   0.01

#define H2HMINUS_PRT   false

Referenced by H2_Read_hminus_distribution().

#define NSOL   100


Function Documentation

long int cdH2_Line ( long int  iElecHi,
long int  iVibHi,
long int  iRotHi,
long int  iElecLo,
long int  iVibLo,
long int  iRotLo,
double *  relint,
double *  absint 
)

cdH2_Line returns 1 if we found the line, or false==0 if we did not find the line because ortho-para transition or upper level has lower energy than lower level NB - this is in mole_h2_io.c

Parameters:
iElecHi indices for the upper level
iVibHi indices for the upper level
iRotHi indices for the upper level
iElecLo indices for lower level
iVibLo indices for lower level
iRotLo indices for lower level
*relint linear intensity relative to normalization line
*absint log of luminosity or intensity of line

Definition at line 2228 of file mole_h2_io.cpp.

References ASSERT, t_radius::Conv2PrtInten, DEBUG_ENTRY, energy_wn, H2_lgOrtho, H2_SaveLine, t_LineSave::ipNormWavL, lgH2_line_exists, t_LineSave::lgLineEmergent, LineSave, LineSv, radius, t_LineSave::ScaleNormLine, and t_tag_LineSv::sumlin.

STATIC char chMolBranch ( long  iRotHi,
long int  iRotLo 
)

Definition at line 1246 of file mole_h2_io.cpp.

References ioQQQ.

void H2_LinesAdd ( void   ) 

add in explicit lines from the large H2 molecule, called by lines_molecules

Definition at line 51 of file mole_h2_io.cpp.

References DEBUG_ENTRY, t_radius::dVeff, h2, H2_SaveLine, H2Lines, t_LineSave::ipass, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, lindst(), LineSave, t_h2::nElecLevelOutput, t_h2::nRot_hi, t_h2::nVib_hi, PutLine(), and radius.

Referenced by lines_molecules().

Here is the call graph for this function:

void H2_ParsePunch ( char *  chCard,
char *  chHeader 
)

H2_ParsePunch parse the punch h2 command

Definition at line 160 of file mole_h2_io.cpp.

References cdEXIT, chH2ColliderLabels, chN_X_COLLIDER, t_punch::chPunch, DEBUG_ENTRY, FFmtRead(), h2, INPUT_LINE_LENGTH, ioQQQ, N_X_COLLIDER, t_h2::nElecLevelOutput, nMatch(), t_punch::npunch, t_punch::punarg, punch, and thresh_punline_h2.

Referenced by ParsePunch().

Here is the call graph for this function:

void H2_Prt_column_density ( FILE *  ioMEAN  ) 

H2_Prt_column_density print H2 info into zone results, called from prtzone for each printed zone

Parameters:
*ioMEAN this is stream used for io, is stdout when called by final, is punch unit when punch output generated

Definition at line 452 of file mole_h2_io.cpp.

References t_colden::colden, colden, DEBUG_ENTRY, h2, t_hmi::H2_total, H2_X_colden, hmi, ipCOL_H2g, ipCOL_H2s, t_h2::lgH2ON, t_h2::nCallH2_this_zone, t_h2::ortho_colden, t_h2::para_colden, pops_per_vib, PrintEfmt(), and SDIV().

Here is the call graph for this function:

void H2_Prt_line_tau ( void   ) 

print line optical depths, called from premet in response to print line optical depths command

Definition at line 1193 of file mole_h2_io.cpp.

References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and prme().

Here is the call graph for this function:

void H2_Prt_Zone ( void   ) 

H2_Prt_Zone print H2 info into zone results, called from prtzone for each printed zone

Definition at line 418 of file mole_h2_io.cpp.

References DEBUG_ENTRY, h2, H2_populations, t_hmi::H2_total, hmi, ioQQQ, t_h2::lgH2ON, t_h2::nCallH2_this_zone, t_h2::ortho_density, t_h2::para_density, pops_per_vib, PrintEfmt(), and SDIV().

Here is the call graph for this function:

void H2_Punch_line_data ( FILE *  ioPUN,
bool  lgDoAll 
)

punch H2 line data

Parameters:
ioPUN io unit for punch
lgDoAll punch all levels if true, only subset if false

Todo:
1 add logic to deduce cs

Definition at line 1069 of file mole_h2_io.cpp.

References cdEXIT, DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and Punch1LineData().

Here is the call graph for this function:

void H2_PunchDo ( FILE *  io,
char  chJOB[],
const char  chTime[],
long int  ipPun 
)

punch some properties of the large H2 molecule

Parameters:
io 
chJOB[] 
chTime[] 
ipPun 

Definition at line 1263 of file mole_h2_io.cpp.

References chlgPara, DEBUG_ENTRY, energy_wn, h2, H2_col_rate_in, H2_col_rate_out, H2_lgOrtho, H2_old_populations, H2_populations, H2_populations_LTE, H2_rad_rate_in, H2_rad_rate_out, H2_stat, t_hmi::H2_total, hmi, t_h2::Jlowest, t_hmi::lgBigH2_evaluated, t_h2::lgH2ON, t_h2::nRot_hi, t_h2::nVib_hi, t_h2::ortho_density, t_h2::para_density, t_punch::punarg, punch, and SDIV().

Here is the call graph for this function:

void H2_PunchLineStuff ( FILE *  io,
realnum  xLimit,
long  index 
)

include H2 lines in punched optical depths, etc, called from PunchLineStuff

Parameters:
io 
xLimit 
index 

Definition at line 1140 of file mole_h2_io.cpp.

References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and pun1Line().

Here is the call graph for this function:

void H2_Read_hminus_distribution ( void   ) 

H2_Read_hminus_distribution read distribution function for H2 population following formation from H minus

Definition at line 925 of file mole_h2_io.cpp.

References ASSERT, BadRead(), cdEXIT, DEBUG_ENTRY, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, H2_te_hminus, H2_X_hminus_formation_distribution, H2HMINUS_PRT, INPUT_LINE_LENGTH, t_h2::Jlowest, t_h2::nRot_hi, nTE_HMINUS, t_h2::nVib_hi, open_data(), and read_whole_line().

Here is the call graph for this function:

void H2_ReadDissprob ( long int  nelec  ) 

read dissociation probabilities and kinetic energies for all electronic levels

Parameters:
nelec 

Definition at line 828 of file mole_h2_io.cpp.

References ASSERT, COmole_rate_s::b, BadRead(), cdEXIT, DEBUG_ENTRY, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, H2_disske, H2_dissprob, INPUT_LINE_LENGTH, t_h2::Jlowest, N_H2_ELEC, t_h2::nRot_hi, t_h2::nVib_hi, open_data(), and read_whole_line().

Here is the call graph for this function:

void H2_ReadEnergies ( long int  nelec  ) 

read energies for all electronic levels

Parameters:
nelec 

Definition at line 732 of file mole_h2_io.cpp.

References ASSERT, BadRead(), cdEXIT, DEBUG_ENTRY, energy_wn, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, INPUT_LINE_LENGTH, t_h2::Jlowest, N_H2_ELEC, nLevels_per_elec, t_h2::nRot_hi, t_h2::nVib_hi, open_data(), and read_whole_line().

Here is the call graph for this function:

void H2_ReadTransprob ( long int  nelec  ) 

read transition probabilities

Parameters:
nelec 

Todo:
2 the "50" here and in h2.h should be made a macro.

Definition at line 495 of file mole_h2_io.cpp.

References AddLine2Stack(), ASSERT, BadRead(), cdEXIT, DEBUG_ENTRY, energy_wn, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, H2Lines, INPUT_LINE_LENGTH, ioQQQ, lgH2_line_exists, N_H2_ELEC, t_h2::nRot_hi, t_h2::nVib_hi, open_data(), read_whole_line(), and ShowMe().

Here is the call graph for this function:


Variable Documentation

char chlgPara[2] = {'P','O'} [static]

Definition at line 45 of file mole_h2_io.cpp.

Referenced by H2_PunchDo().

realnum thresh_punline_h2 [static]

Definition at line 48 of file mole_h2_io.cpp.

Referenced by H2_ParsePunch().


Generated on Mon Feb 16 12:09:28 2009 for cloudy by  doxygen 1.4.7