/home66/gary/public_html/cloudy/c08_branch/source/stars.h

Go to the documentation of this file.
00001 /* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and
00002  * others.  For conditions of distribution and use see copyright notice in license.txt */
00003 
00004 #ifndef _STARS_H_
00005 #define _STARS_H_
00006 
00007 
00009 #define MDIM 4
00010 
00012 #define MNAM 6
00013 
00016 typedef enum {
00017         IM_ILLEGAL_MODE=-1, IM_RECT_GRID, IM_COSTAR_TEFF_MODID,
00018         IM_COSTAR_TEFF_LOGG, IM_COSTAR_MZAMS_AGE, IM_COSTAR_AGE_MZAMS
00019 } IntMode;
00020 
00021 typedef enum {
00022         TL_BSTAR, TL_OSTAR
00023 } tl_grid;
00024 
00025 struct process_counter
00026 {
00027         int nFound;
00028         int notProcessed;
00029         int nOK;
00030         int nFail;
00031 process_counter() : nFound(0), notProcessed(0), nOK(0), nFail(0) {}
00032 };
00033 
00035 void AtmospheresAvail(void);
00036 
00038 int AtlasCompile(process_counter& pc);
00040 long AtlasInterpolate(double val[], /* val[nval] */
00041                       long *nval,
00042                       long *ndim,
00043                       const char *chMetalicity,
00044                       const char *chODFNew,
00045                       bool lgList,
00046                       double *Tlow,
00047                       double *Thigh);
00048 
00050 int CoStarCompile(process_counter& pc);
00052 long CoStarInterpolate(double val[], /* requested model parameters */
00053                        long *nval,
00054                        long *ndim,
00055                        IntMode imode, /* which interpolation mode is requested */
00056                        bool lgHalo,  /* flag indicating whether solar (==0) or halo (==1) abundances */
00057                        bool lgList,
00058                        double *val0_lo,
00059                        double *val0_hi);
00060 
00062 bool GridCompile(const char *InName);
00064 long GridInterpolate(double val[], /* val[nval] */
00065                      long *nval,
00066                      long *ndim,
00067                      const char *FileName,
00068                      bool lgList,
00069                      double *Tlow,
00070                      double *Thigh);
00071 
00073 int Kurucz79Compile(process_counter& pc);
00075 long Kurucz79Interpolate(double val[], /* val[nval] */
00076                          long *nval,
00077                          long *ndim,
00078                          bool lgList,
00079                          double *Tlow,
00080                          double *Thigh);
00081 
00083 int MihalasCompile(process_counter& pc);
00085 long MihalasInterpolate(double val[], /* val[nval] */
00086                         long *nval,
00087                         long *ndim,
00088                         bool lgList,
00089                         double *Tlow,
00090                         double *Thigh);
00091 
00094 int RauchCompile(process_counter& pc);
00096 long RauchInterpolateHydr(double val[], /* val[nval] */
00097                           long *nval,
00098                           long *ndim,
00099                           bool lgList,
00100                           double *Tlow,
00101                           double *Thigh);
00103 long RauchInterpolateHelium(double val[], /* val[nval] */
00104                             long *nval,
00105                             long *ndim,
00106                             bool lgList,
00107                             double *Tlow,
00108                             double *Thigh);
00110 long RauchInterpolateHpHe(double val[], /* val[nval] */
00111                           long *nval,
00112                           long *ndim,
00113                           bool lgList,
00114                           double *Tlow,
00115                           double *Thigh);
00117 long RauchInterpolatePG1159(double val[], /* val[nval] */
00118                             long *nval,
00119                             long *ndim,
00120                             bool lgList,
00121                             double *Tlow,
00122                             double *Thigh);
00124 long RauchInterpolateHCa(double val[], /* val[nval] */
00125                          long *nval,
00126                          long *ndim,
00127                          bool lgHalo,
00128                          bool lgList,
00129                          double *Tlow,
00130                          double *Thigh);
00132 long RauchInterpolateHNi(double val[], /* val[nval] */
00133                          long *nval,
00134                          long *ndim,
00135                          bool lgHalo,
00136                          bool lgList,
00137                          double *Tlow,
00138                          double *Thigh);
00139 
00141 bool StarburstInitialize(const char chInName[],
00142                         const char chOutName[]);
00144 bool StarburstCompile(process_counter& pc);
00145 
00147 int TlustyCompile(process_counter& pc);
00149 long TlustyInterpolate(double val[], /* val[nval] */
00150                        long *nval,
00151                        long *ndim,
00152                        tl_grid tlg,
00153                        const char *chMetalicity,
00154                        bool lgList,
00155                        double *Tlow,
00156                        double *Thigh);
00157 
00159 int WernerCompile(process_counter& pc);
00161 long WernerInterpolate(double val[], /* val[nval] */
00162                        long *nval,
00163                        long *ndim,
00164                        bool lgList,
00165                        double *Tlow,
00166                        double *Thigh);
00167 
00169 int WMBASICCompile(process_counter& pc);
00171 long WMBASICInterpolate(double val[], /* val[nval] */
00172                         long *nval,
00173                         long *ndim,
00174                         bool lgList,
00175                         double *Tlow,
00176                         double *Thigh);
00177 
00178 #endif /* _STARS_H_ */

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