/* rfield.h */ EXTERN struct t_rfield { /* nflux is number of continuum points needed to get to high energy * end of this continuum. this is initally set to nupper in CreatePoint, * and then trimed down in setcon. It is finally reset in ConvInitTemp, * to make sure continuum includes all possible line and continuum emission * produced by the code */ long int nflux; /* number of frequency cells needed to get full energy resolution of code */ long int nupper; /* energy in Ryd of center of cell */ float anu[NCELL]; /* width of cells in ryd */ float widflx[NCELL]; /* these are log, sqrt, square, and cube of anu array */ float anulog[NCELL], anusqr[NCELL], anu2[NCELL], anu3[NCELL]; /*flux is photons per cell ND widthd of cells vary*/ float flux[NCELL]; /* occnum is the continuum occupation number, attenuated incident ONLY */ float convoc[NCELL]; /* convoc is the conversion factor from rfield to occnum */ float occnum[NCELL]; /* array of Boltzmann factors for the continuum energy grid and current temperature */ float ContBoltz[NCELL]; /* DiffLocal is local diffuse continuum, erg/cm^3 s^-1 per funny energy interval, * for current zone, evaluated in RTDiffuse */ float DiffLocal[NCELL]; /* ContNoInter diffuse continuum, per unit area (not vol), * not counted in internal energy budget (handled other ways) */ float ConOutNoInter[NCELL], ConRefNoInter[NCELL]; /* this is the spectrum of continuum thrown into the outward beam, * this is only used in metdif and makediffuse, remove after combining * these routines */ float ThrowOut[NCELL]; /* ThrowOutNoInter is diffuse continuum, erg/cm^3 s^-1 per funny energy interval, * for current zone, evaluated in RTDiffuse but does not interact*/ float ThrowOutNoInter[NCELL]; float SummedCon[NCELL]; float SummedDif[NCELL]; float SummedOcc[NCELL]; /* original set of energy units, always the same no matter what the * shape of the continuum - actual energy units change with shape */ float AnuOrg[NCELL]; /* otsline and ots con - local ots fields for line and continua * outlin and outcon - outward line and continuum fields */ float /* these two are the ots rate arrays that enter into the current solution */ otslin[NCELL], otscon[NCELL], /* these two are the new rates, that will be entered into the above once * SumContinuum has been called */ otslinNew[NCELL], otsconNew[NCELL], outlin[NCELL], outcon[NCELL], otssav[2][NCELL]; /* reflected line and continuum */ float reflin[NCELL], refcon[NCELL]; /* reflux is reflected part in incident continuum, by itself, for albedo */ float reflux[NCELL]; } rfield;