cloudy
trunk
|
#include <ctype.h>
#include "cddefines.h"
#include "elementnames.h"
#include "physconst.h"
#include "dense.h"
#include "called.h"
#include "version.h"
#include "grainvar.h"
#include "rfield.h"
#include "atmdat.h"
#include "grains.h"
Go to the source code of this file.
Data Structures | |
struct | sd_data |
struct | grain_data |
Defines | |
#define | NPTS_DERIV 8 |
#define | NPTS_COMB (NPTS_DERIV*(NPTS_DERIV-1)/2) |
#define | NMXLIM 16000 |
Enumerations | |
enum | rfi_type { RFI_TABLE, OPC_TABLE, OPC_GREY, OPC_PAH1 } |
enum | emt_type { FARAFONOV00, STOGNIENKO95, BRUGGEMAN35 } |
enum | sd_type { SD_ILLEGAL, SD_SINGLE_SIZE, SD_POWERLAW, SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_LOG_NORMAL, SD_LIN_NORMAL, SD_TABLE } |
Functions | |
STATIC void | mie_auxiliary (sd_data *, const char *) |
STATIC void | mie_integrate (sd_data *, double, double, double *, bool) |
STATIC void | mie_cs_size_distr (double, sd_data *, grain_data *, void(*)(double, sd_data *, grain_data *, double *, double *, double *, int *), double *, double *, double *, int *) |
STATIC void | mie_cs (double, sd_data *, grain_data *, double *, double *, double *, int *) |
STATIC void | pah1_fun (double, sd_data *, grain_data *, double *, double *, double *, int *) |
STATIC void | tbl_fun (double, sd_data *, grain_data *, double *, double *, double *, int *) |
STATIC double | size_distr (double, sd_data *) |
STATIC double | search_limit (double, double, double, sd_data) |
STATIC void | mie_calc_ial (grain_data *, long, double[], const char *, bool *) |
STATIC void | mie_repair (const char *, long, int, int, realnum[], double[], int[], bool, bool *) |
STATIC double | mie_find_slope (const realnum[], const double[], const int[], long, long, int, bool, bool *) |
STATIC void | mie_read_rfi (const char *, grain_data *) |
STATIC void | mie_read_mix (const char *, grain_data *) |
STATIC void | init_eps (double, long, grain_data[], complex< double >[]) |
STATIC complex< double > | cnewton (void(*)(complex< double >, double[], complex< double >[], long, complex< double > *, double *, double *), double[], complex< double >[], long, complex< double >, double) |
STATIC void | Stognienko (complex< double >, double[], complex< double >[], long, complex< double > *, double *, double *) |
STATIC void | Bruggeman (complex< double >, double[], complex< double >[], long, complex< double > *, double *, double *) |
STATIC void | mie_read_szd (const char *, sd_data *) |
STATIC void | mie_read_long (const char *, const char[], long int *, bool, long int) |
STATIC void | mie_read_realnum (const char *, const char[], realnum *, bool, long int) |
STATIC void | mie_read_double (const char *, const char[], double *, bool, long int) |
STATIC void | mie_read_form (const char *, double[], double *, double *) |
STATIC void | mie_write_form (const double[], char[]) |
STATIC void | mie_read_word (const char[], char[], long, int) |
STATIC void | mie_next_data (const char *, FILE *, char *, long int *) |
STATIC void | mie_next_line (const char *, FILE *, char *, long int *) |
STATIC void | sinpar (double, double, double, double *, double *, double *, double *, double *, long *) |
STATIC void | anomal (double, double *, double *, double *, double *, double, double) |
STATIC void | bigk (complex< double >, complex< double > *) |
STATIC void | ritodf (double, double, double *, double *) |
STATIC void | dftori (double *, double *, double, double) |
void | mie_write_opc (const char *rfi_file, const char *szd_file, long int nbin) |
void | mie_read_opc (const char *chFile, GrainPar gp) |
STATIC void | mie_calc_ial (grain_data *gd, long int n, double invlen[], const char *chString, bool *lgWarning) |
STATIC void | mie_repair (const char *chString, long int n, int val, int del, realnum anu[], double data[], int ErrorIndex[], bool lgRound, bool *lgWarning) |
STATIC void | mie_read_form (const char chWord[], double elmAbun[], double *no_atoms, double *mol_weight) |
STATIC void | mie_next_data (const char *chFile, FILE *io, char chLine[], long int *dl) |
STATIC void | mie_next_line (const char *chFile, FILE *io, char chLine[], long int *dl) |
void | gauss_init (long int nn, double xbot, double xtop, double x[], double a[], double rr[], double ww[]) |
void | gauss_legendre (long int nn, double x[], double a[]) |
void | find_arr (double x, double xa[], long int n, long int *ind, bool *lgOutOfBounds) |
STATIC void | sinpar (double nre, double nim, double x, double *qext, double *qphase, double *qscat, double *ctbrqs, double *qback, long int *iflag) |
Variables | |
static const long | MAGIC_RFI = 1030103L |
static const long | MAGIC_SZD = 2010403L |
static const long | MAGIC_OPC = 3030307L |
static const long | MAGIC_MIX = 4030103L |
static const double | SMALLEST_GRAIN = 0.0001*(1.-10.*DBL_EPSILON) |
static const double | LARGEST_GRAIN = 10.*(1.+10.*DBL_EPSILON) |
static const int | NSD = 7 |
static const int | ipSize = 0 |
static const int | ipBLo = 0 |
static const int | ipBHi = 1 |
static const int | ipExp = 2 |
static const int | ipBeta = 3 |
static const int | ipSLo = 4 |
static const int | ipSHi = 5 |
static const int | ipAlpha = 6 |
static const int | ipGCen = 2 |
static const int | ipGSig = 3 |
static const int | NAX = 3 |
static const int | NDAT = 4 |
static const int | WORDLEN = 5 |
static const int | LABELSUB1 = 3 |
static const int | LABELSUB2 = 5 |
static const int | LABELSIZE = LABELSUB1 + LABELSUB2 + 4 |
static const long | MIX_TABLE_SIZE = 2000L |
static const double | pah1_strength [7] = {1.4e-21,1.8e-21,1.2e-20,6.0e-21,4.0e-20,1.9e-20,1.9e-20} |
static const double | pah1_wlBand [7] = {3.3, 6.18, 7.7, 8.6, 11.3, 12.0, 13.3} |
static const double | pah1_width [7] = {0.024, 0.102, 0.24, 0.168, 0.086, 0.174, 0.174} |
#define NMXLIM 16000 |
Definition at line 4334 of file grains_mie.cpp.
Referenced by sinpar().
#define NPTS_COMB (NPTS_DERIV*(NPTS_DERIV-1)/2) |
Definition at line 2157 of file grains_mie.cpp.
Referenced by mie_find_slope().
#define NPTS_DERIV 8 |
Definition at line 2156 of file grains_mie.cpp.
Referenced by mie_find_slope(), and mie_repair().
enum emt_type |
Definition at line 75 of file grains_mie.cpp.
enum rfi_type |
Definition at line 70 of file grains_mie.cpp.
enum sd_type |
SD_ILLEGAL | |
SD_SINGLE_SIZE | |
SD_POWERLAW | |
SD_EXP_CUTOFF1 | |
SD_EXP_CUTOFF2 | |
SD_EXP_CUTOFF3 | |
SD_LOG_NORMAL | |
SD_LIN_NORMAL | |
SD_TABLE |
Definition at line 80 of file grains_mie.cpp.
STATIC void anomal | ( | double | x, |
double * | qext, | ||
double * | qabs, | ||
double * | qphase, | ||
double * | xistar, | ||
double | delta, | ||
double | beta | ||
) |
Definition at line 4600 of file grains_mie.cpp.
References bigk(), DEBUG_ENTRY, and POW2.
Referenced by mie_cs().
STATIC void Bruggeman | ( | complex< double > | x, |
double | frdelta[], | ||
complex< double > | eps[], | ||
long | sumAxes, | ||
complex< double > * | f, | ||
double * | dudx, | ||
double * | dudy | ||
) |
Definition at line 3482 of file grains_mie.cpp.
References DEBUG_ENTRY, h2, and POW2.
Referenced by mie_read_mix().
STATIC complex< double > cnewton | ( | void(*)(complex< double >, double[], complex< double >[], long, complex< double > *, double *, double *) | fun, |
double | frdelta[], | ||
complex< double > | eps[], | ||
long | sumAxes, | ||
complex< double > | x0, | ||
double | tol | ||
) |
Definition at line 3391 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, LOOP_MAX, POW2, ShowMe(), x0, and x1.
Referenced by mie_read_mix().
Definition at line 4682 of file grains_mie.cpp.
References ASSERT, and DEBUG_ENTRY.
Referenced by mie_read_mix(), and mie_read_rfi().
void find_arr | ( | double | , |
double | [], | ||
long | int, | ||
long int * | , | ||
bool * | |||
) |
find index ind such that min(xa[ind],xa[ind+1]) <= x <= max(xa[ind],xa[ind+1]). xa is assumed to be strictly monotically increasing or decreasing. if x is outside the range spanned by xa, lgOutOfBounds is raised and ind is set to -1 n is the number of elements in xa.
x | ||
xa[] | ||
n | ||
[out] | *ind | |
[out] | *lgOutOfBounds |
Definition at line 4244 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, MAX2, MIN2, and sign3().
Referenced by init_eps(), mie_calc_ial(), mie_cs(), size_distr(), and tbl_fun().
void gauss_init | ( | long | int, |
double | , | ||
double | , | ||
double | [], | ||
double | [], | ||
double | [], | ||
double | [] | ||
) |
set up Gaussian quadrature for arbitrary interval
nn | |
xbot | |
xtop | |
x[] | |
a[] | |
rr[] | |
ww[] |
Definition at line 4104 of file grains_mie.cpp.
References DEBUG_ENTRY.
Referenced by DebyeDeriv(), and mie_integrate().
void gauss_legendre | ( | long | int, |
double | [], | ||
double | [] | ||
) |
set up abscissas and weights for Gauss-Legendre intergration of arbitrary even order
nn | |
x[] | |
a[] |
Definition at line 4132 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, MALLOC, POW2, and SAFETY.
Referenced by DebyeDeriv(), and mie_integrate().
STATIC void init_eps | ( | double | wavlen, |
long | nMaterial, | ||
grain_data | gdArr[], | ||
complex< double > | eps[] | ||
) |
Definition at line 3347 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, find_arr(), grain_data::n, grain_data::nAxes, ritodf(), and grain_data::wavlen.
Referenced by mie_read_mix().
STATIC void mie_auxiliary | ( | sd_data * | sd, |
const char * | auxCase | ||
) |
Definition at line 789 of file grains_mie.cpp.
References sd_data::a, sd_data::aa, sd_data::area, cdEXIT, sd_data::clim, sd_data::cPart, DEBUG_ENTRY, ioQQQ, ipBHi, ipBLo, ipSize, sd_data::lgLogScale, sd_data::lim, mie_integrate(), MIN2, sd_data::nmul, sd_data::nPart, PI, POW2, POW3, sd_data::radius, sd_data::rr, SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, ShowMe(), TOLER, sd_data::unity, sd_data::unity_bin, sd_data::vol, sd_data::ww, and sd_data::xx.
Referenced by mie_write_opc().
STATIC void mie_calc_ial | ( | grain_data * | , |
long | , | ||
double | [], | ||
const char * | , | ||
bool * | |||
) |
Referenced by mie_write_opc().
STATIC void mie_calc_ial | ( | grain_data * | gd, |
long int | n, | ||
double | invlen[], | ||
const char * | chString, | ||
bool * | lgWarning | ||
) |
Definition at line 2089 of file grains_mie.cpp.
References t_rfield::anu, ASSERT, DEBUG_ENTRY, find_arr(), MALLOC, mie_repair(), grain_data::n, grain_data::nAxes, grain_data::ndata, t_rfield::nupper, PI4, RFI_TABLE, rfield, grain_data::rfiType, grain_data::wavlen, WAVNRYD, and grain_data::wt.
STATIC void mie_cs | ( | double | wavlen, |
sd_data * | sd, | ||
grain_data * | gd, | ||
double * | cs_abs, | ||
double * | cs_sct, | ||
double * | cosb, | ||
int * | error | ||
) |
Definition at line 1533 of file grains_mie.cpp.
References anomal(), ASSERT, grain_data::cAxis, cdEXIT, sd_data::cSize, DEBUG_ENTRY, find_arr(), ioQQQ, MAX2, grain_data::n, grain_data::ndata, grain_data::nr1, PI, POW2, sinpar(), and grain_data::wavlen.
Referenced by mie_write_opc().
STATIC void mie_cs_size_distr | ( | double | wavlen, |
sd_data * | sd, | ||
grain_data * | gd, | ||
void(*)(double, sd_data *, grain_data *, double *,double *, double *, int *) | cs_fun, | ||
double * | cs_abs, | ||
double * | cs_sct, | ||
double * | cosb, | ||
int * | error | ||
) |
Definition at line 1432 of file grains_mie.cpp.
References sd_data::a, ASSERT, grain_data::cAxis, cdEXIT, sd_data::cSize, DEBUG_ENTRY, ioQQQ, ipBHi, ipBLo, ipSize, NAX, grain_data::nAxes, SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, ShowMe(), and size_distr().
Referenced by mie_write_opc().
STATIC double mie_find_slope | ( | const realnum | anu[], |
const double | data[], | ||
const int | ErrorIndex[], | ||
long | i1, | ||
long | i2, | ||
int | val, | ||
bool | lgVerbose, | ||
bool * | lgWarning | ||
) |
Definition at line 2309 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, ioQQQ, MAX2, NPTS_COMB, NPTS_DERIV, and POW2.
Referenced by mie_repair().
STATIC void mie_integrate | ( | sd_data * | sd, |
double | amin, | ||
double | amax, | ||
double * | normalization, | ||
bool | lgFreeMem | ||
) |
Definition at line 922 of file grains_mie.cpp.
References sd_data::aa, sd_data::area, sd_data::clim, DEBUG_ENTRY, gauss_init(), gauss_legendre(), ipBHi, ipBLo, sd_data::lgLogScale, MALLOC, MAX2, MIN2, sd_data::nmul, sd_data::nn, PI, POW2, POW3, sd_data::radius, sd_data::rr, size_distr(), sd_data::vol, sd_data::ww, and sd_data::xx.
Referenced by mie_auxiliary().
STATIC void mie_next_data | ( | const char * | , |
FILE * | , | ||
char * | , | ||
long int * | |||
) |
Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().
STATIC void mie_next_data | ( | const char * | chFile, |
FILE * | io, | ||
char | chLine[], | ||
long int * | dl | ||
) |
Definition at line 4045 of file grains_mie.cpp.
References DEBUG_ENTRY, and mie_next_line().
STATIC void mie_next_line | ( | const char * | , |
FILE * | , | ||
char * | , | ||
long int * | |||
) |
Referenced by mie_next_data(), and mie_read_opc().
STATIC void mie_next_line | ( | const char * | chFile, |
FILE * | io, | ||
char | chLine[], | ||
long int * | dl | ||
) |
Definition at line 4073 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, FILENAME_PATH_LENGTH_2, ioQQQ, and read_whole_line().
STATIC void mie_read_double | ( | const char * | chFile, |
const char | chLine[], | ||
double * | data, | ||
bool | lgZeroIllegal, | ||
long int | dl | ||
) |
Definition at line 3909 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, and ioQQQ.
Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().
STATIC void mie_read_form | ( | const char * | , |
double | [], | ||
double * | , | ||
double * | |||
) |
Referenced by mie_read_rfi().
STATIC void mie_read_form | ( | const char | chWord[], |
double | elmAbun[], | ||
double * | no_atoms, | ||
double * | mol_weight | ||
) |
Definition at line 3932 of file grains_mie.cpp.
References t_dense::AtomicWeight, t_elementnames::chElementSym, DEBUG_ENTRY, dense, elementnames, ipHYDROGEN, and LIMELM.
STATIC void mie_read_long | ( | const char * | chFile, |
const char | chLine[], | ||
long int * | data, | ||
bool | lgZeroIllegal, | ||
long int | dl | ||
) |
Definition at line 3861 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, and ioQQQ.
Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().
STATIC void mie_read_mix | ( | const char * | chFile, |
grain_data * | gd | ||
) |
Definition at line 2890 of file grains_mie.cpp.
References a1, a2, grain_data::abun, AS_LOCAL_ONLY, ASSERT, grain_data::atom_weight, grain_data::bandgap, Bruggeman(), BRUGGEMAN35, cdEXIT, cnewton(), DEBUG_ENTRY, grain_data::depl, dftori(), grain_data::elmAbun, FARAFONOV00, FILENAME_PATH_LENGTH_2, init_eps(), ioQQQ, LIMELM, grain_data::magic, MAGIC_MIX, MALLOC, grain_data::matType, MAX2, mie_next_data(), mie_read_double(), mie_read_long(), mie_read_rfi(), mie_read_word(), mie_write_form(), MIN2, MIX_TABLE_SIZE, grain_data::mol_weight, grain_data::n, NAX, grain_data::nAxes, NDAT, grain_data::ndata, nMatch(), grain_data::nOpcCols, grain_data::nr1, grain_data::opcAnu, grain_data::opcData, open_data(), RFI_TABLE, grain_data::rfiType, grain_data::rho, ShowMe(), Stognienko(), STOGNIENKO95, grain_data::subl_temp, grain_data::therm_eff, grain_data::wavlen, WORDLEN, grain_data::work, and grain_data::wt.
Referenced by mie_write_opc().
void mie_read_opc | ( | const char * | , |
GrainPar | |||
) |
read in the *.opc file with opacities and other relevant information
*chFile | |
gp |
Definition at line 990 of file grains_mie.cpp.
References GrainBin::AccomCoef, AS_DATA_LOCAL, ASSERT, GrainBin::asym, t_dense::AtomicWeight, GrainBin::atomWeight, GrainBin::AvArea, GrainBin::AvRadius, GrainBin::AvVol, GrainBin::BandGap, t_gv::bin, called, GrainBin::Capacity, cdEXIT, GrainBin::chDstLab, GrainBin::cnv_GR_pH, GrainBin::cnv_H_pGR, DEBUG_ENTRY, dense, GrainPar::dep, GrainBin::dstab1, GrainBin::dstfactor, GrainBin::dustp, GrainBin::DustWorkFcn, GrainBin::eec, ELECTRIC_CONST, GrainBin::elmAbund, GrainBin::EnergyCheck, GrainBin::eyc, FILENAME_PATH_LENGTH_2, gv, GrainBin::IntArea, GrainBin::IntRadius, GrainBin::IntVol, GrainBin::inv_att_len, ioQQQ, LABELSIZE, GrainPar::lgAbunVsDepth, GrainBin::lgDustFunc, GrainPar::lgForbidQHeating, GrainPar::lgGreyGrain, GrainBin::lgQHeat, GrainPar::lgRequestQHeating, t_called::lgTalk, LIMELM, MAGIC_OPC, MALLOC, GrainBin::matType, MAX_READ_RECORDS, mie_next_data(), mie_next_line(), mie_read_double(), mie_read_long(), mie_read_realnum(), NewGrainBin(), GrainBin::NFPCheck, open_data(), PI4, POW2, GrainBin::pure_sc1, t_gv::ReadPtr, t_gv::ReadRecord, GrainBin::ThermEff, and GrainBin::Tsublimat.
Referenced by ParseAbundances(), and ParseGrain().
STATIC void mie_read_realnum | ( | const char * | chFile, |
const char | chLine[], | ||
realnum * | data, | ||
bool | lgZeroIllegal, | ||
long int | dl | ||
) |
Definition at line 3884 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, and ioQQQ.
Referenced by mie_read_opc().
STATIC void mie_read_rfi | ( | const char * | chFile, |
grain_data * | gd | ||
) |
Definition at line 2407 of file grains_mie.cpp.
References grain_data::abun, AS_LOCAL_ONLY, ASSERT, grain_data::atom_weight, grain_data::bandgap, cdEXIT, DEBUG_ENTRY, grain_data::depl, dftori(), grain_data::elmAbun, FILENAME_PATH_LENGTH_2, ioQQQ, LIMELM, grain_data::magic, MAGIC_RFI, MALLOC, MAT_TOP, grain_data::matType, mie_next_data(), mie_read_double(), mie_read_form(), mie_read_long(), mie_read_word(), MIN2, grain_data::mol_weight, grain_data::n, NAX, grain_data::nAxes, NDAT, grain_data::ndata, nMatch(), grain_data::nOpcCols, grain_data::nOpcData, grain_data::nr1, OPC_GREY, OPC_PAH1, OPC_TABLE, grain_data::opcAnu, grain_data::opcData, open_data(), RFI_TABLE, grain_data::rfiType, grain_data::rho, ShowMe(), sign3(), grain_data::subl_temp, grain_data::therm_eff, grain_data::wavlen, WORDLEN, grain_data::work, and grain_data::wt.
Referenced by mie_read_mix(), and mie_write_opc().
STATIC void mie_read_szd | ( | const char * | chFile, |
sd_data * | sd | ||
) |
Definition at line 3515 of file grains_mie.cpp.
References sd_data::a, AS_LOCAL_ONLY, cdEXIT, DEBUG_ENTRY, FILENAME_PATH_LENGTH_2, ioQQQ, ipAlpha, ipBeta, ipBHi, ipBLo, ipExp, ipGCen, ipGSig, ipSHi, ipSize, ipSLo, LARGEST_GRAIN, sd_data::lim, sd_data::ln_a, sd_data::ln_a4dNda, sd_data::magic, MAGIC_SZD, MALLOC, mie_next_data(), mie_read_double(), mie_read_long(), mie_read_word(), nMatch(), sd_data::npts, open_data(), POW2, SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, search_limit(), SMALLEST_GRAIN, and WORDLEN.
Referenced by mie_write_opc().
STATIC void mie_read_word | ( | const char | chLine[], |
char | chWord[], | ||
long | n, | ||
int | toUpper | ||
) |
Definition at line 4020 of file grains_mie.cpp.
References DEBUG_ENTRY.
Referenced by mie_read_mix(), mie_read_rfi(), and mie_read_szd().
STATIC void mie_repair | ( | const char * | , |
long | , | ||
int | , | ||
int | , | ||
realnum | [], | ||
double | [], | ||
int | [], | ||
bool | , | ||
bool * | |||
) |
Referenced by mie_calc_ial(), and mie_write_opc().
STATIC void mie_repair | ( | const char * | chString, |
long int | n, | ||
int | val, | ||
int | del, | ||
realnum | anu[], | ||
double | data[], | ||
int | ErrorIndex[], | ||
bool | lgRound, | ||
bool * | lgWarning | ||
) |
Definition at line 2160 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, MAX2, mie_find_slope(), NPTS_DERIV, and ShowMe().
STATIC void mie_write_form | ( | const double | elmAbun[], |
char | chWord[] | ||
) |
Definition at line 3983 of file grains_mie.cpp.
References ASSERT, t_elementnames::chElementSym, DEBUG_ENTRY, elementnames, FILENAME_PATH_LENGTH_2, LIMELM, and nint().
Referenced by mie_read_mix().
void mie_write_opc | ( | const char * | , |
const char * | , | ||
long | int | ||
) |
mie_write_opc
[in] | *rfi_file | |
[in] | *szd_file |
Definition at line 208 of file grains_mie.cpp.
References grain_data::abun, t_rfield::anu, sd_data::area, AS_LOCAL_ONLY, ASSERT, grain_data::atom_weight, ATOMIC_MASS_UNIT, grain_data::bandgap, grain_data::cAxis, cdEXIT, t_elementnames::chElementSym, sd_data::clim, sd_data::cPart, DEBUG_ENTRY, grain_data::depl, elementnames, grain_data::elmAbun, FILENAME_PATH_LENGTH_2, gv, IAL_CAR, IAL_SIL, Singleton< t_version >::Inst(), ioQQQ, ipBHi, ipBLo, LABELSIZE, LABELSUB1, LABELSUB2, sd_data::lgLogScale, sd_data::lim, LIMELM, sd_data::ln_a, sd_data::ln_a4dNda, sd_data::magic, grain_data::magic, MAGIC_OPC, MALLOC, grain_data::matType, MAX2, mie_auxiliary(), mie_calc_ial(), mie_cs(), mie_cs_size_distr(), mie_read_mix(), mie_read_rfi(), mie_read_szd(), mie_repair(), MIN2, grain_data::mol_weight, grain_data::n, NAX, grain_data::nAxes, NDAT, grain_data::nOpcCols, grain_data::norm, sd_data::nPart, grain_data::nr1, t_rfield::nupper, OPC_GREY, OPC_PAH1, OPC_TABLE, grain_data::opcAnu, grain_data::opcData, open_data(), pah1_fun(), POW4, sd_data::radius, radius, RFI_TABLE, rfield, grain_data::rfiType, grain_data::rho, SD_SINGLE_SIZE, sd_data::sdCase, ShowMe(), size_distr(), grain_data::subl_temp, tbl_fun(), grain_data::therm_eff, sd_data::unity, sd_data::unity_bin, sd_data::vol, grain_data::wavlen, WAVNRYD, t_gv::which_ial, grain_data::work, and grain_data::wt.
Referenced by ParseCompile().
STATIC void pah1_fun | ( | double | wavl, |
sd_data * | sd, | ||
grain_data * | gd, | ||
double * | cs_abs, | ||
double * | cs_sct, | ||
double * | cosb, | ||
int * | error | ||
) |
Definition at line 1671 of file grains_mie.cpp.
References ATOMIC_MASS_UNIT, t_dense::AtomicWeight, sd_data::cSize, DEBUG_ENTRY, dense, EVRYD, Singleton< T >::Inst(), ipCARBON, ipHYDROGEN, MAX2, MIN2, PHFIT95, PI, POW2, POW3, grain_data::rho, RYD_INF, x1, and x2.
Referenced by mie_write_opc().
STATIC double search_limit | ( | double | ref, |
double | step, | ||
double | rel_cutoff, | ||
sd_data | sd | ||
) |
Definition at line 2008 of file grains_mie.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, ioQQQ, ipBHi, ipBLo, sd_data::lim, MAX2, POW4, size_distr(), SMALLEST_GRAIN, TOLER, x1, and x2.
Referenced by mie_read_szd().
STATIC void sinpar | ( | double | , |
double | , | ||
double | , | ||
double * | , | ||
double * | , | ||
double * | , | ||
double * | , | ||
double * | , | ||
long * | |||
) |
Referenced by mie_cs().
STATIC void sinpar | ( | double | nre, |
double | nim, | ||
double | x, | ||
double * | qext, | ||
double * | qphase, | ||
double * | qscat, | ||
double * | ctbrqs, | ||
double * | qback, | ||
long int * | iflag | ||
) |
Definition at line 4336 of file grains_mie.cpp.
References DEBUG_ENTRY, MALLOC, MAX2, MAX4, nint(), NMXLIM, POW2, and POW3.
STATIC double size_distr | ( | double | size, |
sd_data * | sd | ||
) |
Definition at line 1935 of file grains_mie.cpp.
References sd_data::a, ASSERT, cdEXIT, DEBUG_ENTRY, find_arr(), ioQQQ, ipAlpha, ipBeta, ipBHi, ipBLo, ipExp, ipGCen, ipGSig, ipSHi, ipSLo, sd_data::lim, sd_data::ln_a, sd_data::ln_a4dNda, nint(), sd_data::npts, POW2, POW4, powi(), SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, and ShowMe().
Referenced by mie_cs_size_distr(), mie_integrate(), mie_write_opc(), and search_limit().
STATIC void Stognienko | ( | complex< double > | x, |
double | frdelta[], | ||
complex< double > | eps[], | ||
long | sumAxes, | ||
complex< double > * | f, | ||
double * | dudx, | ||
double * | dudy | ||
) |
Definition at line 3440 of file grains_mie.cpp.
References DEBUG_ENTRY, h2, PI, and POW2.
Referenced by mie_read_mix().
STATIC void tbl_fun | ( | double | wavl, |
sd_data * | sd, | ||
grain_data * | gd, | ||
double * | cs_abs, | ||
double * | cs_sct, | ||
double * | cosb, | ||
int * | error | ||
) |
Definition at line 1882 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, find_arr(), grain_data::nOpcCols, grain_data::nOpcData, grain_data::opcAnu, grain_data::opcData, TotalInsanity(), and WAVNRYD.
Referenced by mie_write_opc().
const int ipAlpha = 6 [static] |
Definition at line 65 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipBeta = 3 [static] |
Definition at line 62 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipBHi = 1 [static] |
Definition at line 60 of file grains_mie.cpp.
Referenced by mie_auxiliary(), mie_cs_size_distr(), mie_integrate(), mie_read_szd(), mie_write_opc(), search_limit(), and size_distr().
const int ipBLo = 0 [static] |
Definition at line 59 of file grains_mie.cpp.
Referenced by mie_auxiliary(), mie_cs_size_distr(), mie_integrate(), mie_read_szd(), mie_write_opc(), search_limit(), and size_distr().
const int ipExp = 2 [static] |
Definition at line 61 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipGCen = 2 [static] |
Definition at line 66 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipGSig = 3 [static] |
Definition at line 67 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipSHi = 5 [static] |
Definition at line 64 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipSize = 0 [static] |
Definition at line 58 of file grains_mie.cpp.
Referenced by mie_auxiliary(), mie_cs_size_distr(), and mie_read_szd().
const int ipSLo = 4 [static] |
Definition at line 63 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
Definition at line 152 of file grains_mie.cpp.
Referenced by mie_read_opc(), and mie_write_opc().
const int LABELSUB1 = 3 [static] |
Definition at line 150 of file grains_mie.cpp.
Referenced by mie_write_opc().
const int LABELSUB2 = 5 [static] |
Definition at line 151 of file grains_mie.cpp.
Referenced by mie_write_opc().
const double LARGEST_GRAIN = 10.*(1.+10.*DBL_EPSILON) [static] |
Definition at line 51 of file grains_mie.cpp.
Referenced by mie_read_szd().
const long MAGIC_MIX = 4030103L [static] |
Definition at line 40 of file grains_mie.cpp.
Referenced by mie_read_mix().
const long MAGIC_OPC = 3030307L [static] |
Definition at line 39 of file grains_mie.cpp.
Referenced by mie_read_opc(), and mie_write_opc().
const long MAGIC_RFI = 1030103L [static] |
Definition at line 37 of file grains_mie.cpp.
Referenced by mie_read_rfi().
const long MAGIC_SZD = 2010403L [static] |
Definition at line 38 of file grains_mie.cpp.
Referenced by mie_read_szd().
const long MIX_TABLE_SIZE = 2000L [static] |
Definition at line 155 of file grains_mie.cpp.
Referenced by mie_read_mix().
const int NAX = 3 [static] |
Definition at line 112 of file grains_mie.cpp.
Referenced by mie_cs_size_distr(), mie_read_mix(), mie_read_rfi(), and mie_write_opc().
const int NDAT = 4 [static] |
Definition at line 113 of file grains_mie.cpp.
Referenced by mie_read_mix(), mie_read_rfi(), and mie_write_opc().
const int NSD = 7 [static] |
Definition at line 54 of file grains_mie.cpp.
const double pah1_strength[7] = {1.4e-21,1.8e-21,1.2e-20,6.0e-21,4.0e-20,1.9e-20,1.9e-20} [static] |
Definition at line 1667 of file grains_mie.cpp.
const double pah1_width[7] = {0.024, 0.102, 0.24, 0.168, 0.086, 0.174, 0.174} [static] |
Definition at line 1669 of file grains_mie.cpp.
const double pah1_wlBand[7] = {3.3, 6.18, 7.7, 8.6, 11.3, 12.0, 13.3} [static] |
Definition at line 1668 of file grains_mie.cpp.
const double SMALLEST_GRAIN = 0.0001*(1.-10.*DBL_EPSILON) [static] |
Definition at line 50 of file grains_mie.cpp.
Referenced by mie_read_szd(), and search_limit().
const int WORDLEN = 5 [static] |
Definition at line 147 of file grains_mie.cpp.
Referenced by mie_read_mix(), mie_read_rfi(), and mie_read_szd().