/home66/gary/public_html/cloudy/c08_branch/source/punch.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  t_punch

Defines

#define LIMPUN   100L

Functions

void PunchDo (const char *chTime)
void pun1Line (transition *t, FILE *io, realnum xLimit, long index, double population)
NORETURN void PunchLineData (FILE *io)
void punch_opacity (FILE *io, long int np)
void PunchSpecial (FILE *io, const char *chTime)
void Punch1LineData (transition *t, FILE *io, bool lgCS_2)
void punch_line (FILE *ip, const char *chDo, bool lgLog3, char *chHeader)
void punch_average (long int ipPun, const char *chJob, char *chHeader)
void punch_colden (char header[], FILE *ioPUN, const char *chDo)
void Punch_Line_RT (FILE *ip, const char *chJob)
void punchFITSfile (FILE *io, int option)
void HeatPunch (FILE *io)
void CoolPunch (FILE *io)

Variables

EXTERN struct t_punch punch


Define Documentation

#define LIMPUN   100L

Definition at line 8 of file punch.h.

Referenced by InitDefaultsPreparse(), ParsePunch(), and PunchFilesInit().


Function Documentation

void CoolPunch ( FILE *  io  ) 

CoolPunch punch coolants, called by punch_do

Parameters:
io 

Definition at line 16 of file cool_punch.cpp.

References CALLOC, t_dynamics::Cool, t_thermal::cooling, t_thermal::ctot, DEBUG_ENTRY, dynamics, t_dynamics::Heat, t_thermal::heatnt, t_thermal::htot, MAX2, t_thermal::ncltot, punch, thermal, and t_punch::WeakHeatCool.

void HeatPunch ( FILE *  io  ) 

HeatPunch punch contributors to local heating, with punch heat command, called by punch_do

Parameters:
io 

Definition at line 22 of file heat_punch.cpp.

References CALLOC, chLabel, t_dynamics::Cool, t_thermal::ctot, DEBUG_ENTRY, dynamics, t_dynamics::Heat, t_thermal::htot, LIMELM, and thermal.

void pun1Line ( transition t,
FILE *  io,
realnum  xLimit,
long  index,
double  population 
)

punch one line, called by PunchLineStuff

Parameters:
t 
io 
xLimit 
index 
population 

Definition at line 3395 of file punch_do.cpp.

References AnuUnit(), t_punch::chConPunEnr, t_elementnames::chElementSym, t_elementnames::chIonStage, chLineLbl(), t_emission::dampXvel, t_DoppVel::doppler, DoppVel, elementnames, t_transition::Emis, t_transition::EnergyWN, t_quantumState::g, t_emission::gf, t_transition::Hi, t_quantumState::IonStg, t_punch::ipConPun, lgPopsFirstCall, lgPunchOpticalDepths, t_transition::Lo, t_quantumState::nelem, t_quantumState::Pop, prt_wl(), punch, t_emission::TauIn, WAVNRYD, and t_transition::WLAng.

Referenced by FeIIPunchLineStuff(), H2_PunchLineStuff(), and PunchLineStuff().

Here is the call graph for this function:

void Punch1LineData ( transition t,
FILE *  io,
bool  lgCS_2 
)

Punch1LineData data for punch one line

Parameters:
t 
io 
lgCS_2 this flag says whether collision strength should be punched - should be false for multi level atoms since sums are not done properly

Todo:
1 define lifetime and collision rate for multi-level species so that the critical density is derived correctly in this routine. For now the flag lgCS_2 being true means to punch critical den and is only true for two-level systems all places where this routine is called with lgCS_2 false need to be fixed

Definition at line 293 of file punch_linedata.cpp.

References t_emission::Aul, chIonLbl(), t_transition::Coll, COLL_CONST, t_collision::cs, DEBUG_ENTRY, t_transition::Emis, t_quantumState::g, t_emission::gf, t_transition::Hi, t_transition::ipCont, t_transition::Lo, phycon, PrintEfmt(), prt_wl(), t_phycon::sqrte, and t_transition::WLAng.

Referenced by FeIIPunData(), and H2_Punch_line_data().

Here is the call graph for this function:

void punch_average ( long int  ipPun,
const char *  chJob,
char *  chHeader 
)

punch_average parse punch average command, or actually do the punch output

Parameters:
ipPun - array index for file for final punch output
chJob - the job we shall do, READ for reading from input stream, PUNCH

Definition at line 11 of file punch_average.cpp.

References ASSERT, caps(), cdColm(), cdEXIT, cdIonFrac(), cdTemp(), t_punch::chAverageSpeciesLabel, t_punch::chAverageType, t_elementnames::chElementNameShort, DEBUG_ENTRY, elementnames, FFmtRead(), FILENAME_PATH_LENGTH_2, GetElem(), input, INPUT_LINE_LENGTH, input_readarray(), ioQQQ, t_punch::ipPnunit, MALLOC, t_punch::nAverage2ndPar, t_punch::nAverageIonList, t_punch::nAverageList, nMatch(), NoNumb(), t_input::nRead, punch, and TotalInsanity().

Referenced by ParsePunch().

Here is the call graph for this function:

void punch_colden ( char  header[],
FILE *  ioPUN,
const char *  chDo 
)

punch_colden parse punch column density command, or actually do the punch lines output

Parameters:
ip the file we will write to
chDo 

Definition at line 12 of file punch_colden.cpp.

References caps(), cdColm(), cdEXIT, colden, DEBUG_ENTRY, FFmtRead(), INPUT_LINE_LENGTH, input_readarray(), ioQQQ, MAX2, NoNumb(), NPUNLM, and SMALLFLOAT.

Referenced by ParsePunch().

Here is the call graph for this function:

void punch_line ( FILE *  ip,
const char *  chDo,
bool  lgLog3,
char *  chHeader 
)

punch_line parse punch lines command, or actually do the punch output

Parameters:
ip the file we will write to
chDo 
lgLog3 

Definition at line 25 of file punch_line.cpp.

References ASSERT, caps(), cdEmis(), cdEmis_ip(), cdEXIT, cdLine(), t_input::chCARDCAPS, DEBUG_ENTRY, t_radius::depth_mid_zone, FFmtRead(), h2, input, INPUT_LINE_LENGTH, input_readarray(), ioQQQ, lgAbort, t_h2::lgH2ON, LineSave, MAX2, NPUNLM, t_LineSave::nsum, nzone, radius, SMALLFLOAT, sprt_wl(), and wavelength.

Referenced by ParsePunch().

Here is the call graph for this function:

void Punch_Line_RT ( FILE *  ip,
const char *  chJob 
)

Punch_Line_RT parse the punch line rt command - read in a set of lines

Parameters:
ip the file we will write to
*chJob 

Definition at line 295 of file punch_line.cpp.

References caps(), cdEXIT, chLabel, chLineLbl(), DEBUG_ENTRY, dense, t_radius::depth_mid_zone, t_dense::eden, FFmtRead(), INPUT_LINE_LENGTH, input_readarray(), ioQQQ, LIMLINE, nMatch(), opac, t_opac::opacity_abs, t_opac::opacity_sct, phycon, radius, t_radius::Radius_mid_zone, StatesElem, t_phycon::te, and Transitions.

Referenced by ParsePunch().

Here is the call graph for this function:

void punch_opacity ( FILE *  io,
long int  np 
)

punch_opacity punch total opacity in any element, punch opacity command

Parameters:
io 
np 

Definition at line 21 of file punch_opacity.cpp.

References t_rfield::anu, t_rfield::AnuOrg, AnuUnit(), ASSERT, t_rfield::chContLabel, t_punch::chOpcTyp, DEBUG_ENTRY, dense, FILENAME_PATH_LENGTH_2, t_rfield::fine_anu, t_rfield::fine_opac_zone, t_opac::FreeFreeOpacity, t_dense::gas_phase, t_opac::ipElement, ipFineCont(), ipH1s, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, t_iso::ipIsoLevNIonCon, t_iso::ipOpac, iso, t_opac::lgRedoStatic, MAX2, t_rfield::nfine, t_rfield::nflux, opac, t_opac::opacity_abs, t_opac::opacity_sct, t_opac::OpacStack, t_opac::OpacStatic, POW3, t_punch::punarg, punch, and rfield.

Here is the call graph for this function:

void PunchDo ( const char *  chTime  ) 

PunchDo produce punch output during calculation

Parameters:
chTime chTime is null terminated 4 char string, either "MIDL" or "LAST"

Todo:
2 introduce units option for wavelength and include area for intensity to make luminosity

Todo:
1 these hardwired numbers for indices can't be right

Definition at line 102 of file punch_do.cpp.

References t_punch::chPunch, DEBUG_ENTRY, dense, t_dense::gas_phase, grid, GridGatherAfterCloudy(), GridGatherInCloudy(), t_punch::ipConPun, ipHELIUM, ipHYDROGEN, t_punch::ipPnunit, iterations, t_grid::lgGrid, t_iterations::lgLastIt, t_punch::lgPunLstIter, LIMELM, MAX2, t_punch::npunch, punch, and SMALLFLOAT.

Referenced by BadStart(), and cloudy().

Here is the call graph for this function:

void punchFITSfile ( FILE *  io,
int  option 
)

Punch spectra to a FITS compatible file.

Parameters:
io 
option 

Definition at line 85 of file punch_fits.cpp.

References cdEXIT, DEBUG_ENTRY, t_grid::Energies, grid, ioFITS_OUTPUT, ioQQQ, t_grid::lgGridDone, NUM_OUTPUT_TYPES, t_grid::numEnergies, t_grid::Spectra, and t_grid::totNumModels.

NORETURN void PunchLineData ( FILE *  io  ) 

PunchLineData punches selected line data for all lines transferred in code

Parameters:
io 

Definition at line 25 of file punch_linedata.cpp.

References t_elementnames::chElementName, DEBUG_ENTRY, dense, elementnames, ioQQQ, ipHYDROGEN, t_dense::lgElmtOn, and LIMELM.

void PunchSpecial ( FILE *  io,
const char *  chTime 
)

PunchSpecial generate output for the punch special command

Parameters:
io 
chTime 

Definition at line 12 of file punch_special.cpp.

References t_rfield::anu, t_rfield::anu2, t_iso::As2nu, ASSERT, C12O16Rotate, DEBUG_ENTRY, dense, t_radius::depth, t_radius::drad, t_transition::Emis, EN1RYD, fnzone, h2, H2Lines, ipH1s, ipH2p, ipH2s, ipH_LIKE, ipHYDROGEN, iso, iteration, t_h2::lgH2ON, phycon, PunFeII(), radius, rfield, RYDLAM, StatesElem, t_emission::TauIn, t_phycon::te, Transitions, t_rfield::widflx, and t_dense::xIonDense.

Here is the call graph for this function:


Variable Documentation

EXTERN struct t_punch punch

Referenced by AnuUnit(), ChkUnits(), ClosePunchFiles(), ConvIterCheck(), CoolPunch(), grid_do(), H2_ParsePunch(), H2_PunchDo(), InitDefaultsPreparse(), IonCarbo(), main(), OpacityCreate1Element(), ParsePunch(), ParseSet(), pun1Line(), punch_average(), punch_opacity(), PunchDo(), PunchFilesInit(), PunchNewContinuum(), and PunResults1Line().


Generated on Mon Feb 16 12:11:52 2009 for cloudy by  doxygen 1.4.7