#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 FRAC 0.01 |
#define H2HMINUS_PRT false |
Referenced by H2_Read_hminus_distribution().
#define NSOL 100 |
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
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 | |||
) |
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
*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
ioPUN | io unit for punch | |
lgDoAll | punch all levels if true, only subset if false |
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
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
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
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
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
nelec |
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:
char chlgPara[2] = {'P','O'} [static] |
realnum thresh_punline_h2 [static] |