cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Enumerations | Functions | Variables
stars.cpp File Reference
#include "cddefines.h"
#include "optimize.h"
#include "continuum.h"
#include "called.h"
#include "rfield.h"
#include "stars.h"
#include "container_classes.h"
Include dependency graph for stars.cpp:

Go to the source code of this file.

Data Structures

struct  mpp
 
struct  stellar_grid
 

Enumerations

enum  IntStageBits { ISB_COLLECT, ISB_EXECUTE, ISB_FIRST, ISB_SECOND }
 

Functions

STATIC bool CoStarInitialize (const char[], const char[])
 
STATIC void InterpolateGridCoStar (stellar_grid *, const double[], double *, double *)
 
STATIC void FindHCoStar (const stellar_grid *, long, double, long, vector< realnum > &, vector< long > &, vector< long > &)
 
STATIC void FindVCoStar (const stellar_grid *, double, vector< realnum > &, long[])
 
STATIC void CoStarListModels (const stellar_grid *)
 
STATIC bool RauchInitialize (const char[], const char[], const vector< mpp > &, long, long, long, const double[], int)
 
STATIC void RauchReadMPP (vector< mpp > &, vector< mpp > &, vector< mpp > &, vector< mpp > &, vector< mpp > &, vector< mpp > &)
 
void getdataline (fstream &, string &)
 
STATIC void WriteASCIIHead (FILE *, long, long, const vector< string > &, long, long, const string &, double, const string &, double, const vector< mpp > &, const char *, int)
 
STATIC void WriteASCIIData (FILE *, const vector< double > &, long, const char *, int)
 
STATIC bool lgReadAtmosphereHead (stellar_grid *)
 
STATIC bool lgReadAtmosphereTail (stellar_grid *, const realnum[], long, const vector< long > &)
 
STATIC bool lgCompileAtmosphere (const char[], const char[], const realnum[], long, process_counter &)
 
STATIC void InitGrid (stellar_grid *, bool, bool=lgREAD_BIN)
 
void InitGridASCII (stellar_grid *)
 
STATIC void InitGridBin (stellar_grid *)
 
STATIC bool lgValidBinFile (const char *, process_counter &, access_scheme)
 
STATIC bool lgValidASCIIFile (const char *, access_scheme)
 
STATIC void InitGridCoStar (stellar_grid *)
 
STATIC void CheckVal (const stellar_grid *, double[], long *, long *)
 
STATIC void InterpolateRectGrid (stellar_grid *, const double[], double *, double *, bool=lgTAKELOG, const realnum[]=NULL, long=0L)
 
STATIC void InterpolateModel (stellar_grid *, const double[], vector< double > &, const vector< long > &, const vector< long > &, vector< long > &, long, vector< realnum > &, bool, const realnum[]=NULL, long=0L)
 
STATIC void InterpolateModel (stellar_grid *, const double[], vector< double > &, const vector< long > &, const vector< long > &, vector< long > &, long, vector< realnum > &, int)
 
STATIC void InterpolateModelCoStar (const stellar_grid *, const double[], vector< double > &, const long[], const long[], vector< long > &, long, long, vector< realnum > &)
 
template<class T >
void SortUnique (vector< T > &, vector< T > &)
 
STATIC void GetBins (const stellar_grid *, vector< Energy > &)
 
STATIC void GetModel (const stellar_grid *, long, realnum *, bool, bool)
 
STATIC void SetLimits (const stellar_grid *, double, const vector< long > &, const vector< long > &, const long[], const vector< realnum > &, double *, double *)
 
STATIC void SetLimitsSub (const stellar_grid *, double, const vector< long > &, const vector< long > &, vector< long > &, long, double *, double *)
 
STATIC void InitIndexArrays (stellar_grid *, bool)
 
STATIC void FillJ (stellar_grid *, vector< long > &, vector< double > &, long, bool)
 
STATIC long JIndex (const stellar_grid *, const vector< long > &)
 
STATIC void SearchModel (const vector< mpp > &, bool, long, const vector< double > &, long, long *, long *)
 
STATIC void FindIndex (const multi_arr< double, 2 > &, long, long, double, long *, long *, bool *)
 
STATIC bool lgFileReadable (const char *, process_counter &, access_scheme)
 
STATIC void ValidateMesh (const stellar_grid *, const vector< Energy > &)
 
STATIC bool lgValidMesh (const vector< Energy > &)
 
STATIC void ValidateGrid (const stellar_grid *, double)
 
STATIC bool lgValidModel (const vector< Energy > &, const vector< realnum > &, double, double)
 
STATIC void RebinAtmosphere (const vector< realnum > &, const vector< realnum > &, long, const realnum[], long, realnum[])
 
STATIC realnum RebinSingleCell (long, const realnum[], const realnum[], const vector< realnum > &, long)
 
long RebinFind (const realnum[], long, realnum)
 
template<class T >
void DumpAtmosphere (const char *fnam, long, long, char[MDIM][MNAM+1], const vector< mpp > &, long, const T[], const realnum[])
 
void AtmospheresAvail ()
 
int AtlasCompile (process_counter &pc)
 
long AtlasInterpolate (double val[], long *nval, long *ndim, const char *chMetalicity, const char *chODFNew, bool lgList, double *Tlow, double *Thigh)
 
int CoStarCompile (process_counter &pc)
 
long CoStarInterpolate (double val[], long *nval, long *ndim, IntMode imode, bool lgHalo, bool lgList, double *val0_lo, double *val0_hi)
 
bool GridCompile (const char *InName)
 
long GridInterpolate (double val[], long *nval, long *ndim, const char *FileName, bool lgList, double *Tlow, double *Thigh)
 
long HaardtMadauInterpolate (double val, int version, bool lgQuasar, double *zlow, double *zhigh)
 
long KhaireSrianandInterpolate (double val, int Q, double *zlow, double *zhigh)
 
int Kurucz79Compile (process_counter &pc)
 
long Kurucz79Interpolate (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 
int MihalasCompile (process_counter &pc)
 
long MihalasInterpolate (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 
int RauchCompile (process_counter &pc)
 
long RauchInterpolateHCa (double val[], long *nval, long *ndim, bool lgHalo, bool lgList, double *Tlow, double *Thigh)
 
long RauchInterpolateHNi (double val[], long *nval, long *ndim, bool lgHalo, bool lgList, double *Tlow, double *Thigh)
 
long RauchInterpolatePG1159 (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 
long RauchInterpolateCOWD (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 
long RauchInterpolateHydr (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 
long RauchInterpolateHelium (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 
long RauchInterpolateHpHe (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 
bool StarburstInitialize (const char chInName[], const char chOutName[], sb_mode mode)
 
bool StarburstCompile (process_counter &pc)
 
int TlustyCompile (process_counter &pc)
 
long TlustyInterpolate (double val[], long *nval, long *ndim, tl_grid tlg, const char *chMetalicity, bool lgList, double *Tlow, double *Thigh)
 
int WernerCompile (process_counter &pc)
 
long WernerInterpolate (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 
int WMBASICCompile (process_counter &pc)
 
long WMBASICInterpolate (double val[], long *nval, long *ndim, bool lgList, double *Tlow, double *Thigh)
 

Variables

static const int NSB99 = 1250
 
static const int MNTS = 200
 
static const int NRAUCH = 19951
 
static const int NMODS_HCA = 66
 
static const int NMODS_HNI = 51
 
static const int NMODS_PG1159 = 71
 
static const int NMODS_HYDR = 100
 
static const int NMODS_HELIUM = 81
 
static const int NMODS_HpHE = 117
 
static const bool DEBUGPRT = false
 
static const bool lgSILENT = false
 
static const bool lgVERBOSE = true
 
static const bool lgLINEAR = false
 
static const bool lgTAKELOG = true
 
static const bool lgREAD_BIN = false
 
static const bool lgREAD_ASCII = true
 
static const int IS_COLLECT = 2<<ISB_COLLECT
 
static const int IS_EXECUTE = 2<<ISB_EXECUTE
 
static const int IS_FIRST = 2<<ISB_FIRST
 
static const int IS_SECOND = 2<<ISB_SECOND
 
static const long int VERSION_ASCII = 20060612L
 
static const long int VERSION_COSTAR = 20160614L
 
static const long int VERSION_BIN = 201009021L
 
static const long int VERSION_RAUCH_MPP = 20090324
 
static const realnum Edges_CoStar [] = { realnum(RYDLAM/911.76), realnum(RYDLAM/504.26), realnum(RYDLAM/227.84) }
 

Enumeration Type Documentation

Enumerator
ISB_COLLECT 
ISB_EXECUTE 
ISB_FIRST 
ISB_SECOND 

Definition at line 43 of file stars.cpp.

Function Documentation

int AtlasCompile ( process_counter pc)

AtlasCompile rebin Kurucz stellar models to match energy grid of code

Definition at line 452 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), and lgValidBinFile().

Referenced by ParseCompile().

Here is the call graph for this function:

long AtlasInterpolate ( double  val[],
long *  nval,
long *  ndim,
const char *  chMetalicity,
const char *  chODFNew,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

AtlasInterpolate interpolate on atlas model atmospheres, by K Volk

Definition at line 553 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

void AtmospheresAvail ( void  )

List all the available TABLE STAR <grid> commands by checking installed *.mod files

Definition at line 254 of file stars.cpp.

References AS_DATA_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgValidASCIIFile(), and lgValidBinFile().

Referenced by ParseTable().

Here is the call graph for this function:

STATIC void CheckVal ( const stellar_grid grid,
double  val[],
long *  nval,
long *  ndim 
)
int CoStarCompile ( process_counter pc)

CoStarCompile rebin costar stellar models to match energy grid of code

Definition at line 622 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, CoStarInitialize(), DEBUG_ENTRY, Edges_CoStar, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), lgValidASCIIFile(), and lgValidBinFile().

Referenced by ParseCompile().

Here is the call graph for this function:

STATIC bool CoStarInitialize ( const char  chFNameIn[],
const char  chFNameOut[] 
)

Definition at line 1791 of file stars.cpp.

References AS_LOCAL_ONLY, ASSERT, DEBUG_ENTRY, exp10(), fp_equal(), fprintf(), INPUT_LINE_LENGTH, ioQQQ, open_data(), read_whole_line(), VERSION_COSTAR, WriteASCIIData(), and WriteASCIIHead().

Referenced by CoStarCompile().

Here is the call graph for this function:

long CoStarInterpolate ( double  val[],
long *  nval,
long *  ndim,
IntMode  imode,
bool  lgHalo,
bool  lgList,
double *  val0_lo,
double *  val0_hi 
)

CoStarInterpolate read in and interpolate on Werner grid of PN atmospheres, by K Volk

Definition at line 653 of file stars.cpp.

References AS_DATA_OPTIONAL, cdEXIT, CheckVal(), stellar_grid::command, CoStarListModels(), DEBUG_ENTRY, EXIT_SUCCESS, grid, stellar_grid::ident, stellar_grid::imode, InitGrid(), InitGridCoStar(), InterpolateGridCoStar(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

STATIC void CoStarListModels ( const stellar_grid grid)

Definition at line 2261 of file stars.cpp.

References DEBUG_ENTRY, exp10(), fprintf(), ioQQQ, JIndex(), stellar_grid::jval, MAX2, stellar_grid::nTracks, stellar_grid::telg, and stellar_grid::trackLen.

Referenced by CoStarInterpolate().

Here is the call graph for this function:

template<class T >
void DumpAtmosphere ( const char *  fnam,
long  imod,
long  npar,
char  names[MDIM][MNAM+1],
const vector< mpp > &  telg,
long  nflux,
const T  anu[],
const realnum  flux[] 
)

Definition at line 4661 of file stars.cpp.

References DEBUG_ENTRY, fprintf(), and open_data().

Referenced by lgReadAtmosphereTail().

Here is the call graph for this function:

STATIC void FillJ ( stellar_grid grid,
vector< long > &  index,
vector< double > &  val,
long  nd,
bool  lgList 
)
STATIC void FindHCoStar ( const stellar_grid grid,
long  track,
double  par2,
long  off,
vector< realnum > &  ValTr,
vector< long > &  indloTr,
vector< long > &  indhiTr 
)

Definition at line 2146 of file stars.cpp.

References DEBUG_ENTRY, frac(), JIndex(), stellar_grid::jval, stellar_grid::telg, and stellar_grid::trackLen.

Referenced by InterpolateGridCoStar().

Here is the call graph for this function:

STATIC void FindIndex ( const multi_arr< double, 2 > &  xval,
long  nd,
long  NVAL,
double  x,
long *  ind1,
long *  ind2,
bool *  lgInvalid 
)

Definition at line 4227 of file stars.cpp.

References ASSERT, DEBUG_ENTRY, fp_equal(), and TotalInsanity().

Referenced by InitIndexArrays(), and InterpolateRectGrid().

Here is the call graph for this function:

STATIC void FindVCoStar ( const stellar_grid grid,
double  par1,
vector< realnum > &  ValTr,
long  useTr[] 
)
STATIC void GetBins ( const stellar_grid grid,
vector< Energy > &  ener 
)
void getdataline ( fstream &  ioDATA,
string &  line 
)
inline

Definition at line 2548 of file stars.cpp.

Referenced by RauchReadMPP().

STATIC void GetModel ( const stellar_grid grid,
long  ind,
realnum flux,
bool  lgTalk,
bool  lgTakeLog 
)
bool GridCompile ( const char *  InName)

GridCompile rebin user supplied stellar models to match energy grid of code

Definition at line 721 of file stars.cpp.

References AS_LOCAL_ONLY, ASSERT, stellar_grid::command, DEBUG_ENTRY, fprintf(), grid, stellar_grid::ident, InitGrid(), ioQQQ, lgCompileAtmosphere(), stellar_grid::name, stellar_grid::names, stellar_grid::scheme, and ValidateGrid().

Referenced by ParseCompile().

Here is the call graph for this function:

long GridInterpolate ( double  val[],
long *  nval,
long *  ndim,
const char *  FileName,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

GridInterpolate read in and interpolate on user supplied grid of atmospheres

Definition at line 760 of file stars.cpp.

References AS_DATA_ONLY_TRY, AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), lgValidASCIIFile(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

long HaardtMadauInterpolate ( double  val,
int  version,
bool  lgQuasar,
double *  zlow,
double *  zhigh 
)

HaardtMadauInterpolate read in and interpolate on Haardt & Madau SEDs

Definition at line 799 of file stars.cpp.

References AS_DEFAULT, CheckVal(), DEBUG_ENTRY, get_ptr(), grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), lgLINEAR, lgREAD_ASCII, stellar_grid::name, t_rfield::nflux_with_check, rfield, stellar_grid::scheme, and TotalInsanity().

Referenced by ParseTable().

Here is the call graph for this function:

STATIC void InitGrid ( stellar_grid grid,
bool  lgList,
bool  lgASCII = lgREAD_BIN 
)
void InitGridASCII ( stellar_grid grid)
inline

Definition at line 3048 of file stars.cpp.

References cdEXIT, EXIT_FAILURE, fprintf(), t_mesh::getResolutionScaleFactor(), ioQQQ, lgReadAtmosphereHead(), t_rfield::nShape, rfield, and t_rfield::RSFCheck.

Referenced by InitGrid().

Here is the call graph for this function:

STATIC void InitGridBin ( stellar_grid grid)
STATIC void InitGridCoStar ( stellar_grid grid)
STATIC void InitIndexArrays ( stellar_grid grid,
bool  lgList 
)
STATIC void InterpolateGridCoStar ( stellar_grid grid,
const double  val[],
double *  val0_lo,
double *  val0_hi 
)
STATIC void InterpolateModel ( stellar_grid grid,
const double  val[],
vector< double > &  aval,
const vector< long > &  indlo,
const vector< long > &  indhi,
vector< long > &  index,
long  nd,
vector< realnum > &  flux1,
bool  lgTakeLog,
const realnum  Edges[] = NULL,
long  nEdges = 0L 
)
STATIC void InterpolateModel ( stellar_grid grid,
const double  val[],
vector< double > &  aval,
const vector< long > &  indlo,
const vector< long > &  indhi,
vector< long > &  index,
long  nd,
vector< realnum > &  flux1,
int  stage 
)
STATIC void InterpolateModelCoStar ( const stellar_grid grid,
const double  val[],
vector< double > &  aval,
const long  indlo[],
const long  indhi[],
vector< long > &  index,
long  nd,
long  off,
vector< realnum > &  flux1 
)
STATIC void InterpolateRectGrid ( stellar_grid grid,
const double  val[],
double *  Tlow,
double *  Thigh,
bool  lgTakeLog = lgTAKELOG,
const realnum  Edges[] = NULL,
long  nEdges = 0L 
)
STATIC long JIndex ( const stellar_grid grid,
const vector< long > &  index 
)
long KhaireSrianandInterpolate ( double  val,
int  Q,
double *  zlow,
double *  zhigh 
)

KhaireSrianandInterpolate read in and interpolate on Khaire & Srianand SEDs

Definition at line 872 of file stars.cpp.

References AS_DEFAULT, CheckVal(), DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), lgLINEAR, lgREAD_ASCII, stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

int Kurucz79Compile ( process_counter pc)

Kurucz79Compile rebin Kurucz79 stellar models to match energy grid of code

Definition at line 903 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), and lgValidBinFile().

Referenced by ParseCompile().

Here is the call graph for this function:

long Kurucz79Interpolate ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

Kurucz79Interpolate read in and interpolate on Kurucz 1979 grid of atmospheres

Definition at line 921 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

STATIC bool lgCompileAtmosphere ( const char  chFNameIn[],
const char  chFNameOut[],
const realnum  Edges[],
long  nEdges,
process_counter pc 
)
STATIC bool lgFileReadable ( const char *  chFnam,
process_counter pc,
access_scheme  scheme 
)
STATIC bool lgReadAtmosphereHead ( stellar_grid grid)
STATIC bool lgReadAtmosphereTail ( stellar_grid grid,
const realnum  Edges[],
long  nEdges,
const vector< long > &  index_list 
)
STATIC bool lgValidASCIIFile ( const char *  ascName,
access_scheme  scheme 
)

Definition at line 3235 of file stars.cpp.

References DEBUG_ENTRY, mode_r, open_data(), VERSION_ASCII, and VERSION_COSTAR.

Referenced by AtmospheresAvail(), CoStarCompile(), GridInterpolate(), RauchCompile(), and StarburstCompile().

Here is the call graph for this function:

STATIC bool lgValidBinFile ( const char *  binName,
process_counter pc,
access_scheme  scheme 
)
STATIC bool lgValidMesh ( const vector< Energy > &  anu)

Definition at line 4335 of file stars.cpp.

References t_mesh::anu(), DEBUG_ENTRY, fp_equal_tol(), t_rfield::nflux_with_check, and rfield.

Referenced by lgValidBinFile(), and ValidateMesh().

Here is the call graph for this function:

STATIC bool lgValidModel ( const vector< Energy > &  anu,
const vector< realnum > &  flux,
double  Teff,
double  toler 
)

Definition at line 4377 of file stars.cpp.

References ASSERT, DEBUG_ENTRY, fprintf(), ioQQQ, t_rfield::nflux_with_check, powpq(), and rfield.

Referenced by InterpolateGridCoStar(), InterpolateRectGrid(), and ValidateGrid().

Here is the call graph for this function:

int MihalasCompile ( process_counter pc)

MihalasCompile rebin Mihalas stellar models to match energy grid of code

Definition at line 949 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), and lgValidBinFile().

Referenced by ParseCompile().

Here is the call graph for this function:

long MihalasInterpolate ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

MihalasInterpolate read in and interpolate on Mihalas grid of atmospheres

Definition at line 973 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

int RauchCompile ( process_counter pc)

RauchCompile create ascii and mod files for Rauch atmospheres return 0 if success, 1 if failure

Definition at line 1001 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), lgValidASCIIFile(), lgValidBinFile(), NMODS_HCA, NMODS_HELIUM, NMODS_HNI, NMODS_HpHE, NMODS_HYDR, NMODS_PG1159, RauchInitialize(), and RauchReadMPP().

Referenced by ParseCompile().

Here is the call graph for this function:

STATIC bool RauchInitialize ( const char  chFName[],
const char  chSuff[],
const vector< mpp > &  telg,
long  nmods,
long  n,
long  ngrids,
const double  par2[],
int  format 
)

Definition at line 2303 of file stars.cpp.

References AS_LOCAL_ONLY, DEBUG_ENTRY, fp_equal(), fprintf(), INPUT_LINE_LENGTH, ioQQQ, NRAUCH, open_data(), read_whole_line(), TotalInsanity(), VERSION_ASCII, WriteASCIIData(), and WriteASCIIHead().

Referenced by RauchCompile().

Here is the call graph for this function:

long RauchInterpolateCOWD ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

RauchInterpolateCOWD get one of the Rauch C/O white dwarf model atmospheres

Definition at line 1267 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

long RauchInterpolateHCa ( double  val[],
long *  nval,
long *  ndim,
bool  lgHalo,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

RauchInterpolateHCa get one of the Rauch H-Ca model atmospheres, originally by K. Volk

Definition at line 1175 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

long RauchInterpolateHelium ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

RauchInterpolateHelium get one of the Rauch pure helium model atmospheres

Definition at line 1323 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

long RauchInterpolateHNi ( double  val[],
long *  nval,
long *  ndim,
bool  lgHalo,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

RauchInterpolateHNi get one of the Rauch H-Ni model atmospheres

Definition at line 1207 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

long RauchInterpolateHpHe ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

RauchInterpolateHpHe get one of the Rauch hydrogen plus helium model atmospheres

Definition at line 1351 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

long RauchInterpolateHydr ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

RauchInterpolateHydr get one of the Rauch pure hydrogen model atmospheres

Definition at line 1295 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

long RauchInterpolatePG1159 ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

RauchInterpolatePG1159 get one of the Rauch PG1159 model atmospheres

Definition at line 1239 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

STATIC void RauchReadMPP ( vector< mpp > &  telg1,
vector< mpp > &  telg2,
vector< mpp > &  telg3,
vector< mpp > &  telg4,
vector< mpp > &  telg5,
vector< mpp > &  telg6 
)

Definition at line 2452 of file stars.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), getdataline(), ioQQQ, mode_r, open_data(), and VERSION_RAUCH_MPP.

Referenced by RauchCompile().

Here is the call graph for this function:

STATIC void RebinAtmosphere ( const vector< realnum > &  StarEner,
const vector< realnum > &  StarFlux,
long  nCont,
const realnum  Edges[],
long  nEdges,
realnum  CloudyFlux[] 
)

Definition at line 4404 of file stars.cpp.

References t_mesh::anu(), t_mesh::anumax(), t_mesh::anumin(), ASSERT, DEBUG_ENTRY, get_ptr(), t_rfield::nflux_with_check, RebinFind(), RebinSingleCell(), and rfield.

Referenced by lgReadAtmosphereTail().

Here is the call graph for this function:

long RebinFind ( const realnum  array[],
long  nArr,
realnum  val 
)
inline

Definition at line 4640 of file stars.cpp.

References ASSERT, and hunt_bisect().

Referenced by RebinAtmosphere(), and RebinSingleCell().

Here is the call graph for this function:

STATIC realnum RebinSingleCell ( long  j,
const realnum  StarEner[],
const realnum  StarFlux[],
const vector< realnum > &  StarPower,
long  nCont 
)

Definition at line 4498 of file stars.cpp.

References t_mesh::anu(), t_mesh::anumax(), t_mesh::anumin(), ASSERT, DEBUG_ENTRY, max(), min(), MIN2, pow2(), RebinFind(), rfield, x1, and x2.

Referenced by RebinAtmosphere().

Here is the call graph for this function:

STATIC void SearchModel ( const vector< mpp > &  telg,
bool  lgIsTeffLoggGrid,
long  nmods,
const vector< double > &  val,
long  ndim,
long *  index_low,
long *  index_high 
)

Definition at line 4161 of file stars.cpp.

References DEBUG_ENTRY, and fp_equal().

Referenced by FillJ().

Here is the call graph for this function:

STATIC void SetLimits ( const stellar_grid grid,
double  val,
const vector< long > &  indlo,
const vector< long > &  indhi,
const long  useTr[],
const vector< realnum > &  ValTr,
double *  loLim,
double *  hiLim 
)
STATIC void SetLimitsSub ( const stellar_grid grid,
double  val,
const vector< long > &  indlo,
const vector< long > &  indhi,
vector< long > &  index,
long  nd,
double *  loLim,
double *  hiLim 
)

Definition at line 3934 of file stars.cpp.

References ASSERT, DEBUG_ENTRY, stellar_grid::jhi, JIndex(), stellar_grid::jlo, MAX2, MIN2, stellar_grid::nval, and stellar_grid::val.

Referenced by SetLimits().

Here is the call graph for this function:

template<class T >
void SortUnique ( vector< T > &  in,
vector< T > &  out 
)

Definition at line 3705 of file stars.cpp.

References DEBUG_ENTRY.

Referenced by InterpolateGridCoStar(), and InterpolateModel().

bool StarburstCompile ( process_counter pc)

StarburstCompile, rebin Starburst99 model output to match energy grid of code

Definition at line 1498 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), lgValidASCIIFile(), lgValidBinFile(), SB_TOTAL, and StarburstInitialize().

Referenced by ParseCompile().

Here is the call graph for this function:

bool StarburstInitialize ( const char  chInName[],
const char  chOutName[],
sb_mode  mode 
)

Create .ascii file out of Starburst99 output

Definition at line 1379 of file stars.cpp.

References AS_LOCAL_ONLY, DEBUG_ENTRY, exp10(), fp_equal(), fprintf(), INPUT_LINE_LENGTH, ioQQQ, MNTS, NSB99, open_data(), read_whole_line(), SB_NEBULAR, SB_STELLAR, SB_TOTAL, TotalInsanity(), VERSION_ASCII, WriteASCIIData(), and WriteASCIIHead().

Referenced by ParseCompile(), and StarburstCompile().

Here is the call graph for this function:

int TlustyCompile ( process_counter pc)

TlustyCompile rebin Tlusty OSTAR2002 stellar models to match energy grid of code

Definition at line 1522 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), and lgValidBinFile().

Referenced by ParseCompile().

Here is the call graph for this function:

long TlustyInterpolate ( double  val[],
long *  nval,
long *  ndim,
tl_grid  tlg,
const char *  chMetalicity,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

TlustyInterpolate get one of the Tlusty OSTAR2002 model atmospheres

Definition at line 1590 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, stellar_grid::scheme, TL_BSTAR, TL_OBSTAR, TL_OSTAR, and TotalInsanity().

Referenced by ParseTable().

Here is the call graph for this function:

STATIC void ValidateGrid ( const stellar_grid grid,
double  toler 
)
STATIC void ValidateMesh ( const stellar_grid grid,
const vector< Energy > &  anu 
)

Definition at line 4320 of file stars.cpp.

References cdEXIT, stellar_grid::command, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, and lgValidMesh().

Referenced by InterpolateGridCoStar(), and InterpolateRectGrid().

Here is the call graph for this function:

int WernerCompile ( process_counter pc)

WernerCompile rebin Werner stellar atmospheres to match cloudy energy grid

Definition at line 1651 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), and lgValidBinFile().

Referenced by ParseCompile().

Here is the call graph for this function:

long WernerInterpolate ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

WernerInterpolate read in and interpolate on Werner grid of PN atmospheres, by K Volk

Definition at line 1690 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

int WMBASICCompile ( process_counter pc)

WMBASICCompile rebin WMBASIC stellar models to match energy grid of code

Definition at line 1744 of file stars.cpp.

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, fprintf(), ioQQQ, lgCompileAtmosphere(), lgFileReadable(), and lgValidBinFile().

Referenced by ParseCompile().

Here is the call graph for this function:

long WMBASICInterpolate ( double  val[],
long *  nval,
long *  ndim,
bool  lgList,
double *  Tlow,
double *  Thigh 
)

WMBASICInterpolate read in and interpolate on WMBASIC grid of hot star atmospheres

Definition at line 1763 of file stars.cpp.

References AS_DATA_OPTIONAL, CheckVal(), stellar_grid::command, DEBUG_ENTRY, grid, stellar_grid::ident, InitGrid(), InterpolateRectGrid(), stellar_grid::name, t_rfield::nflux_with_check, rfield, and stellar_grid::scheme.

Referenced by ParseTable().

Here is the call graph for this function:

STATIC void WriteASCIIData ( FILE *  ioOut,
const vector< double > &  data,
long  ngrid,
const char *  format,
int  nmult 
)

Definition at line 2609 of file stars.cpp.

References DEBUG_ENTRY, and fprintf().

Referenced by CoStarInitialize(), RauchInitialize(), and StarburstInitialize().

Here is the call graph for this function:

STATIC void WriteASCIIHead ( FILE *  ioOut,
long  version,
long  ndim,
const vector< string > &  names,
long  nmods,
long  ngrid,
const string &  wtype,
double  wfac,
const string &  ftype,
double  ffac,
const vector< mpp > &  telg,
const char *  format,
int  nmult 
)

Definition at line 2558 of file stars.cpp.

References ASSERT, DEBUG_ENTRY, fprintf(), MDIM, VERSION_ASCII, and VERSION_COSTAR.

Referenced by CoStarInitialize(), RauchInitialize(), and StarburstInitialize().

Here is the call graph for this function:

Variable Documentation

const bool DEBUGPRT = false
static
const realnum Edges_CoStar[] = { realnum(RYDLAM/911.76), realnum(RYDLAM/504.26), realnum(RYDLAM/227.84) }
static

Definition at line 251 of file stars.cpp.

Referenced by CoStarCompile(), and InterpolateGridCoStar().

const int IS_COLLECT = 2<<ISB_COLLECT
static

Definition at line 47 of file stars.cpp.

Referenced by InterpolateModel().

const int IS_EXECUTE = 2<<ISB_EXECUTE
static

Definition at line 48 of file stars.cpp.

Referenced by InterpolateModel().

const int IS_FIRST = 2<<ISB_FIRST
static

Definition at line 49 of file stars.cpp.

Referenced by InterpolateModel().

const int IS_SECOND = 2<<ISB_SECOND
static

Definition at line 50 of file stars.cpp.

Referenced by InterpolateModel().

const bool lgLINEAR = false
static

Definition at line 37 of file stars.cpp.

Referenced by HaardtMadauInterpolate(), KhaireSrianandInterpolate(), and ValidateGrid().

const bool lgREAD_ASCII = true
static

Definition at line 41 of file stars.cpp.

Referenced by HaardtMadauInterpolate(), and KhaireSrianandInterpolate().

const bool lgREAD_BIN = false
static

Definition at line 40 of file stars.cpp.

const bool lgSILENT = false
static

Definition at line 34 of file stars.cpp.

Referenced by ValidateGrid().

const bool lgTAKELOG = true
static

Definition at line 38 of file stars.cpp.

const bool lgVERBOSE = true
static

Definition at line 35 of file stars.cpp.

Referenced by InterpolateGridCoStar(), and InterpolateModel().

const int MNTS = 200
static

maximum number of separate time steps in a Starburst99 model

Definition at line 14 of file stars.cpp.

Referenced by StarburstInitialize().

const int NMODS_HCA = 66
static

The number of models in the original Rauch H-Ca set (first version May 1998, current May 2001)

Definition at line 19 of file stars.cpp.

Referenced by RauchCompile().

const int NMODS_HELIUM = 81
static

The number of models in the Rauch Helium only set, Jun 2004

Definition at line 27 of file stars.cpp.

Referenced by RauchCompile().

const int NMODS_HNI = 51
static

The number of models in the new Rauch H-Ni set, Nov 2002

Definition at line 21 of file stars.cpp.

Referenced by RauchCompile().

const int NMODS_HpHE = 117
static

The number of models in the Rauch H+He set, Aug 2004

Definition at line 29 of file stars.cpp.

Referenced by RauchCompile().

const int NMODS_HYDR = 100
static

The number of models in the Rauch Hydrogen only set, Feb 2003

Definition at line 25 of file stars.cpp.

Referenced by RauchCompile().

const int NMODS_PG1159 = 71
static

The number of models in the new Rauch PG1159 set, Jan 2006

Definition at line 23 of file stars.cpp.

Referenced by RauchCompile().

const int NRAUCH = 19951
static

this is the number of points in each of the stellar continua

Definition at line 17 of file stars.cpp.

Referenced by RauchInitialize().

const int NSB99 = 1250
static

this is the initial assumed size of the Starburst grid, may be increased during execution if needed

Definition at line 12 of file stars.cpp.

Referenced by StarburstInitialize().

const long int VERSION_ASCII = 20060612L
static
const long int VERSION_BIN = 201009021L
static

Definition at line 235 of file stars.cpp.

Referenced by InitGridBin(), lgCompileAtmosphere(), and lgValidBinFile().

const long int VERSION_COSTAR = 20160614L
static
const long int VERSION_RAUCH_MPP = 20090324
static

Definition at line 237 of file stars.cpp.

Referenced by RauchReadMPP().