cloudy trunk
Loading...
Searching...
No Matches
Data Structures | Macros | Functions | Variables
prt_lines_helium.cpp File Reference
#include "cddefines.h"
#include "dense.h"
#include "prt.h"
#include "helike.h"
#include "iso.h"
#include "atmdat.h"
#include "lines.h"
#include "lines_service.h"
#include "phycon.h"
#include "physconst.h"
#include "taulines.h"
#include "thirdparty.h"
#include "trace.h"
Include dependency graph for prt_lines_helium.cpp:

Go to the source code of this file.

Data Structures

struct  stdLines
 

Macros

#define NUMTEMPS   21
 
#define NUMDENS   14
 
#define chLine_LENGTH   1000
 

Functions

STATIC void GetStandardHeLines (void)
 
STATIC double TempInterp2 (double *TempArray, double *ValueArray, long NumElements, double Te)
 
STATIC void DoSatelliteLines (long nelem)
 
void lines_helium (void)
 

Variables

static bool lgFirstRun = true
 
static double CaBDensities [NUMDENS]
 
static double CaBTemps [NUMTEMPS]
 
static long NumLines
 
static double **** CaBIntensity
 
static stdLines ** CaBLines
 

Macro Definition Documentation

◆ chLine_LENGTH

#define chLine_LENGTH   1000

◆ NUMDENS

#define NUMDENS   14

Definition at line 20 of file prt_lines_helium.cpp.

◆ NUMTEMPS

#define NUMTEMPS   21

Definition at line 19 of file prt_lines_helium.cpp.

Function Documentation

◆ DoSatelliteLines()

STATIC void DoSatelliteLines ( long  nelem)

◆ GetStandardHeLines()

STATIC void GetStandardHeLines ( void  )
Todo:
2 - this structure is currently only used for helium itself... stuff numbers in for other elements, or drop the [nelem] dimension off of CaBLines

Definition at line 519 of file prt_lines_helium.cpp.

References ASSERT, atmdat, CaBDensities, CaBIntensity, CaBLines, CaBTemps, CASEBMAGIC, t_atmdat::CaseBWlHeI, cdEXIT, chLine_LENGTH, DEBUG_ENTRY, dense, EXIT_FAILURE, FFmtRead(), ioQQQ, ipHE_LIKE, ipHELIUM, stdLines::ipHi, stdLines::ipLo, iso_sp, stdLines::label, t_dense::lgElmtOn, t_trace::lgTrace, LIMELM, MALLOC, t_iso_sp::nCollapsed_max, NUMDENS, NumLines, NUMTEMPS, open_data(), read_whole_line(), strchr_s(), trace, t_iso_sp::trans(), and TransitionProxy::WLAng().

Referenced by lines_helium().

Here is the call graph for this function:

◆ lines_helium()

void lines_helium ( void  )

enter all helium iso seq into emission line stack

Definition at line 42 of file prt_lines_helium.cpp.

References ASSERT, atmdat, EmissionProxy::Aul(), CaBDensities, CaBIntensity, CaBLines, CaBTemps, t_atmdat::CaseBWlHeI, t_elementnames::chElementSym, chIonLbl(), TransitionProxy::Coll(), CollisionProxy::cool(), DEBUG_ENTRY, dense, DoSatelliteLines(), t_dense::eden, elementnames, TransitionProxy::Emis(), EN1RYD, TransitionProxy::EnergyErg(), ERG1CM, t_iso_sp::ex, fixit(), GetStandardHeLines(), CollisionProxy::heat(), ioQQQ, t_LineSave::ipass, TransitionProxy::ipCont(), ipH_LIKE, ipHe1s1S, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s3S, ipHe3d3D, ipHe3p3P, ipHe3s3S, ipHE_LIKE, ipHELIUM, stdLines::ipHi, ipHYDROGEN, stdLines::ipLo, IPRAD, iso_ctrl, iso_sp, L_, stdLines::label, t_isoCTRL::lgDielRecom, t_dense::lgElmtOn, lgFirstRun, t_isoCTRL::lgFSM, t_prt::lgPrnIsoCollapsed, t_isoCTRL::lgRandErrGen, t_trace::lgTrace, LIMELM, linadd(), LineSave, linint(), MAX2, t_iso_sp::n_HighestResolved_max, t_iso_sp::nCollapsed_max, NUMDENS, t_iso_sp::numLevels_max, NumLines, NUMTEMPS, EmissionProxy::Pelec_esc(), EmissionProxy::Pesc(), EmissionProxy::phots(), phycon, prt, prt_wl(), PutLine(), t_iso_sp::QuantumNumbers2Index, save, t_iso_sp::st, StuffComment(), EmissionProxy::TauIn(), EmissionProxy::TauTot(), t_phycon::te, TempInterp2(), trace, t_iso_sp::trans(), t_iso_sp::TwoNu, t_LineSave::WavLNorm, TransitionProxy::WLAng(), EmissionProxy::xIntensity(), and t_dense::xIonDense.

Referenced by lines().

Here is the call graph for this function:

◆ TempInterp2()

STATIC double TempInterp2 ( double *  TempArray,
double *  ValueArray,
long  NumElements,
double  Te 
)
Todo:
there is a virtually identical routine in helike_recom.cpp -> combine

Definition at line 726 of file prt_lines_helium.cpp.

References ASSERT, DEBUG_ENTRY, hunt_bisect(), lagrange(), max(), and min().

Referenced by lines_helium().

Here is the call graph for this function:

Variable Documentation

◆ CaBDensities

double CaBDensities[NUMDENS]
static

Definition at line 36 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

◆ CaBIntensity

double**** CaBIntensity
static

Definition at line 39 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

◆ CaBLines

stdLines** CaBLines
static

Definition at line 40 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

◆ CaBTemps

double CaBTemps[NUMTEMPS]
static

Definition at line 37 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

◆ lgFirstRun

bool lgFirstRun = true
static

Definition at line 35 of file prt_lines_helium.cpp.

Referenced by lines_helium().

◆ NumLines

long NumLines
static

Definition at line 38 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().