#include "cddefines.h"
#include "continuum.h"
#include "thirdparty.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 | |
class | sd_data |
class | grain_data |
Enumerations | |
enum | rfi_type { RFI_TABLE, OPC_TABLE, OPC_GREY, OPC_PAH1, OPC_PAH2N, OPC_PAH2C } |
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, SD_NR_CARBON } |
Functions | |
STATIC void | mie_auxiliary (sd_data *, const grain_data *, const char *) |
STATIC bool | mie_auxiliary2 (vector< int > &, multi_arr< double, 2 > &, multi_arr< double, 2 > &, multi_arr< double, 2 > &, long, long) |
STATIC void | mie_integrate (sd_data *, double, double, double *) |
STATIC void | mie_cs_size_distr (double, sd_data *, const grain_data *, void(*)(double, const sd_data *, const grain_data *, double *, double *, double *, int *), double *, double *, double *, int *) |
STATIC void | mie_cs (double, const sd_data *, const grain_data *, double *, double *, double *, int *) |
STATIC void | car1_fun (double, const sd_data *, const grain_data[], double *, double *, double *, int *) |
STATIC void | pah1_fun (double, const sd_data *, const grain_data *, double *, double *, double *, int *) |
STATIC void | ld01_fun (double, const sd_data *, const grain_data[], double *, double *, double *, int *) |
STATIC void | pah2_fun (double, const sd_data *, const grain_data *, double *, double *, double *, int *) |
double | Drude (double, double, double, double) |
STATIC void | tbl_fun (double, const sd_data *, const grain_data *, double *, double *, double *, int *) |
STATIC double | size_distr (double, const sd_data *) |
STATIC double | search_limit (double, double, double, sd_data) |
STATIC void | mie_calc_ial (const grain_data *, long, vector< double > &, const char *, bool *) |
STATIC void | mie_repair (const char *, long, int, int, const realnum[], double[], vector< int > &, bool, bool *) |
STATIC double | mie_find_slope (const realnum[], const double[], const vector< 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, const vector< grain_data > &, vector< complex< double > > &) |
STATIC complex< double > | cnewton (void(*)(complex< double >, const vector< double > &, const vector< complex< double > > &, long, complex< double > *, double *, double *), const vector< double > &, const vector< complex< double > > &, long, complex< double >, double) |
STATIC void | Stognienko (complex< double >, const vector< double > &, const vector< complex< double > > &, long, complex< double > *, double *, double *) |
STATIC void | Bruggeman (complex< double >, const vector< double > &, const vector< 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, bool) |
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, const GrainPar &gp) |
STATIC void | mie_calc_ial (const grain_data *gd, long int n, vector< double > &invlen, const char *chString, bool *lgWarning) |
STATIC void | mie_repair (const char *chString, long int n, int val, int del, const realnum anu[], double data[], vector< 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, const vector< double > &x, const vector< double > &a, vector< double > &rr, vector< double > &ww) |
void | gauss_legendre (long int nn, vector< double > &x, vector< double > &a) |
void | find_arr (double x, const vector< 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 = 3100827L |
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 } |
static const double | pah2_wavl [14] |
static const double | pah2_width [14] |
static const double | pah2n_strength [14] |
static const double | pah2c_strength [14] |
const int | NPTS_DERIV = 8 |
const int | NPTS_COMB = NPTS_DERIV*(NPTS_DERIV-1)/2 |
static int | NMXLIM = 16000 |
enum emt_type |
Definition at line 76 of file grains_mie.cpp.
enum rfi_type |
Definition at line 71 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 | |
SD_NR_CARBON |
Definition at line 81 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 4741 of file grains_mie.cpp.
References bigk(), DEBUG_ENTRY, and pow2().
Referenced by mie_cs().
STATIC void bigk | ( | complex< double > | cw, | |
complex< double > * | cbigk | |||
) |
STATIC void Bruggeman | ( | complex< double > | x, | |
const vector< double > & | frdelta, | |||
const vector< complex< double > > & | eps, | |||
long | sumAxes, | |||
complex< double > * | f, | |||
double * | dudx, | |||
double * | dudy | |||
) |
Definition at line 3621 of file grains_mie.cpp.
References DEBUG_ENTRY, h2, and pow2().
Referenced by mie_read_mix().
STATIC void car1_fun | ( | double | wavl, | |
const sd_data * | sd, | |||
const grain_data | gdArr[], | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) |
Definition at line 1665 of file grains_mie.cpp.
References sd_data::cSize, DEBUG_ENTRY, mie_cs(), min(), pah1_fun(), and pow3().
Referenced by mie_write_opc().
STATIC complex< double > cnewton | ( | void(*)(complex< double >, const vector< double > &, const vector< complex< double > > &,long, complex< double > *, double *, double *) | fun, | |
const vector< double > & | frdelta, | |||
const vector< complex< double > > & | eps, | |||
long | sumAxes, | |||
complex< double > | x0, | |||
double | tol | |||
) |
Definition at line 3529 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, LOOP_MAX, pow2(), ShowMe(), and x1.
Referenced by mie_read_mix().
STATIC void dftori | ( | double * | nr, | |
double * | ni, | |||
double | eps1, | |||
double | eps2 | |||
) |
Definition at line 4823 of file grains_mie.cpp.
References ASSERT, and DEBUG_ENTRY.
Referenced by mie_read_mix(), and mie_read_rfi().
double Drude | ( | double | lambda, | |
double | lambdac, | |||
double | gamma, | |||
double | sigma | |||
) | [inline] |
Definition at line 2068 of file grains_mie.cpp.
Referenced by pah2_fun().
void find_arr | ( | double | , | |
const vector< 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 4391 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, max(), min(), and sign3().
Referenced by init_eps(), mie_calc_ial(), mie_cs(), size_distr(), and tbl_fun().
void gauss_init | ( | long | int, | |
double | , | |||
double | , | |||
const vector< double > & | , | |||
const vector< double > & | , | |||
vector< double > & | , | |||
vector< double > & | ||||
) |
set up Gaussian quadrature for arbitrary interval
nn | ||
xbot | ||
xtop | ||
x[] | ||
a[] | ||
rr[] | ||
ww[] |
Definition at line 4253 of file grains_mie.cpp.
References DEBUG_ENTRY.
Referenced by DebyeDeriv(), and mie_integrate().
void gauss_legendre | ( | long | int, | |
vector< double > & | , | |||
vector< double > & | ||||
) |
set up abscissas and weights for Gauss-Legendre intergration of arbitrary even order
nn | ||
x[] | ||
a[] |
Definition at line 4281 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, pow2(), and SAFETY.
Referenced by DebyeDeriv(), and mie_integrate().
STATIC void init_eps | ( | double | wavlen, | |
long | nMaterial, | |||
const vector< grain_data > & | gdArr, | |||
vector< complex< double > > & | eps | |||
) |
Definition at line 3485 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, find_arr(), and ritodf().
Referenced by mie_read_mix().
STATIC void ld01_fun | ( | double | wavl, | |
const sd_data * | sd, | |||
const grain_data | gdArr[], | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) |
Definition at line 1910 of file grains_mie.cpp.
References sd_data::cSize, DEBUG_ENTRY, mie_cs(), min(), pah2_fun(), and pow3().
Referenced by mie_write_opc().
STATIC void mie_auxiliary | ( | sd_data * | sd, | |
const grain_data * | gd, | |||
const char * | auxCase | |||
) |
Definition at line 752 of file grains_mie.cpp.
References sd_data::a, grain_data::abun, sd_data::area, ATOMIC_MASS_UNIT, cdEXIT, sd_data::clim, sd_data::cPart, DEBUG_ENTRY, grain_data::depl, grain_data::elmAbun, ioQQQ, ipBHi, ipBLo, ipCARBON, ipSize, sd_data::lgLogScale, sd_data::lim, mie_integrate(), min(), grain_data::mol_weight, sd_data::nCarbon, sd_data::nmul, sd_data::nPart, PI, PI4, pow(), pow2(), pow3(), sd_data::radius, radius, grain_data::rho, SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_NR_CARBON, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, ShowMe(), TOLER, sd_data::unity, sd_data::unity_bin, and sd_data::vol.
Referenced by mie_write_opc().
STATIC bool mie_auxiliary2 | ( | vector< int > & | ErrorIndex, | |
multi_arr< double, 2 > & | acs_abs, | |||
multi_arr< double, 2 > & | acs_sct, | |||
multi_arr< double, 2 > & | a1g, | |||
long | p, | |||
long | i | |||
) |
Definition at line 886 of file grains_mie.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, ioQQQ, min(), and ShowMe().
Referenced by mie_write_opc().
STATIC void mie_calc_ial | ( | const grain_data * | gd, | |
long int | n, | |||
vector< double > & | invlen, | |||
const char * | chString, | |||
bool * | lgWarning | |||
) |
Definition at line 2287 of file grains_mie.cpp.
References t_rfield::anu, ASSERT, DEBUG_ENTRY, find_arr(), 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_calc_ial | ( | const grain_data * | , | |
long | , | |||
vector< double > & | , | |||
const char * | , | |||
bool * | ||||
) |
Referenced by mie_write_opc().
STATIC void mie_cs | ( | double | wavlen, | |
const sd_data * | sd, | |||
const grain_data * | gd, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) |
Definition at line 1534 of file grains_mie.cpp.
References anomal(), ASSERT, grain_data::cAxis, cdEXIT, sd_data::cSize, DEBUG_ENTRY, find_arr(), ioQQQ, max(), grain_data::n, grain_data::ndata, grain_data::nr1, PI, pow2(), sinpar(), and grain_data::wavlen.
Referenced by car1_fun(), ld01_fun(), and mie_write_opc().
STATIC void mie_cs_size_distr | ( | double | wavlen, | |
sd_data * | sd, | |||
const grain_data * | gd, | |||
void(*)(double, const sd_data *, const grain_data *,double *, double *, double *, int *) | cs_fun, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) |
Definition at line 1431 of file grains_mie.cpp.
References sd_data::a, ASSERT, grain_data::cAxis, cdEXIT, sd_data::cSize, DEBUG_ENTRY, g, 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_NR_CARBON, 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 vector< int > & | ErrorIndex, | |||
long | i1, | |||
long | i2, | |||
int | val, | |||
bool | lgVerbose, | |||
bool * | lgWarning | |||
) |
Definition at line 2503 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, ioQQQ, max(), and pow2().
Referenced by mie_repair().
STATIC void mie_integrate | ( | sd_data * | sd, | |
double | amin, | |||
double | amax, | |||
double * | normalization | |||
) |
Definition at line 933 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, max(), min(), 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 * | chFile, | |
FILE * | io, | |||
char | chLine[], | |||
long int * | dl | |||
) |
Definition at line 4193 of file grains_mie.cpp.
References DEBUG_ENTRY, mie_next_line(), and strstr_s().
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_line | ( | const char * | chFile, | |
FILE * | io, | |||
char | chLine[], | |||
long int * | dl | |||
) |
Definition at line 4221 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, FILENAME_PATH_LENGTH_2, ioQQQ, and read_whole_line().
STATIC void mie_next_line | ( | const char * | , | |
FILE * | , | |||
char * | , | |||
long int * | ||||
) |
Referenced by mie_next_data(), and mie_read_opc().
STATIC void mie_read_double | ( | const char * | chFile, | |
const char | chLine[], | |||
double * | data, | |||
bool | lgZeroIllegal, | |||
long int | dl | |||
) |
Definition at line 4057 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 | chWord[], | |
double | elmAbun[], | |||
double * | no_atoms, | |||
double * | mol_weight | |||
) |
Definition at line 4080 of file grains_mie.cpp.
References t_dense::AtomicWeight, t_elementnames::chElementSym, DEBUG_ENTRY, dense, elementnames, ipHYDROGEN, and LIMELM.
STATIC void mie_read_form | ( | const char * | , | |
double | [], | |||
double * | , | |||
double * | ||||
) |
Referenced by mie_read_rfi().
STATIC void mie_read_long | ( | const char * | chFile, | |
const char | chLine[], | |||
long int * | data, | |||
bool | lgZeroIllegal, | |||
long int | dl | |||
) |
Definition at line 4009 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 3077 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, grain_data::matType, max(), mie_next_data(), mie_read_double(), mie_read_long(), mie_read_rfi(), mie_read_word(), mie_write_form(), min(), MIX_TABLE_SIZE, grain_data::mol_weight, grain_data::n, grain_data::nAxes, grain_data::ndata, nMatch(), grain_data::nr1, open_data(), RFI_TABLE, grain_data::rfiType, grain_data::rho, ShowMe(), Stognienko(), STOGNIENKO95, strchr_s(), 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 * | , | |
const GrainPar & | ||||
) |
read in the *.opc file with opacities and other relevant information
*chFile | ||
gp |
Definition at line 984 of file grains_mie.cpp.
References AS_DATA_LOCAL, ASSERT, t_dense::AtomicWeight, t_cpu::big_endian(), GrainVar::bin, called, cdEXIT, continuum, cpu, DEBUG_ENTRY, dense, GrainPar::dep, t_rfield::egamry, ELECTRIC_CONST, t_rfield::emm, FILENAME_PATH_LENGTH_2, fp_equal(), gv, ioQQQ, LABELSIZE, GrainPar::lgForbidQHeating, GrainPar::lgGreyGrain, GrainPar::lgRequestQHeating, t_called::lgTalk, LIMELM, MAGIC_OPC, t_continuum::mesh_md5sum, mie_next_data(), mie_next_line(), mie_read_double(), mie_read_long(), mie_read_realnum(), mie_read_word(), GrainPar::nDustFunc, NMD5, open_data(), PI4, pow(), pow2(), GrainVar::ReadRecord, rfield, and strstr_s().
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 4032 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 2592 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, MAT_TOP, grain_data::matType, mie_next_data(), mie_read_double(), mie_read_form(), mie_read_long(), mie_read_word(), min(), 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_PAH2C, OPC_PAH2N, OPC_TABLE, grain_data::opcAnu, grain_data::opcData, open_data(), pow(), 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 3654 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, mie_next_data(), mie_read_double(), mie_read_long(), mie_read_word(), sd_data::nCarbon, nMatch(), sd_data::npts, open_data(), pow(), pow2(), SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_NR_CARBON, 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, | |||
bool | lgToUpper | |||
) |
Definition at line 4168 of file grains_mie.cpp.
References DEBUG_ENTRY, and toupper().
Referenced by mie_read_mix(), mie_read_opc(), mie_read_rfi(), and mie_read_szd().
STATIC void mie_repair | ( | const char * | chString, | |
long int | n, | |||
int | val, | |||
int | del, | |||
const realnum | anu[], | |||
double | data[], | |||
vector< int > & | ErrorIndex, | |||
bool | lgRound, | |||
bool * | lgWarning | |||
) |
Definition at line 2354 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, max(), mie_find_slope(), and ShowMe().
STATIC void mie_repair | ( | const char * | , | |
long | , | |||
int | , | |||
int | , | |||
const | realnum[], | |||
double | [], | |||
vector< int > & | , | |||
bool | , | |||
bool * | ||||
) |
Referenced by mie_calc_ial(), and mie_write_opc().
STATIC void mie_write_form | ( | const double | elmAbun[], | |
char | chWord[] | |||
) |
Definition at line 4131 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 265 of file grains_mie.cpp.
References grain_data::abun, t_rfield::anu, sd_data::area, AS_LOCAL_ONLY, grain_data::atom_weight, ATOMIC_MASS_UNIT, grain_data::bandgap, t_cpu::big_endian(), car1_fun(), grain_data::cAxis, cdEXIT, grain_data::charge, t_elementnames::chElementSym, grain_data::clear(), sd_data::clim, multi_arr< T, d, ALLOC, lgBC >::clone(), continuum, sd_data::cPart, cpu, DEBUG_ENTRY, grain_data::depl, t_rfield::egamry, elementnames, grain_data::elmAbun, t_rfield::emm, FILENAME_PATH_LENGTH_2, gv, IAL_CAR, IAL_SIL, Singleton< t_version >::Inst(), ioQQQ, ipBHi, ipBLo, LABELSIZE, LABELSUB1, LABELSUB2, ld01_fun(), sd_data::lgLogScale, sd_data::lim, LIMELM, sd_data::magic, grain_data::magic, MAGIC_OPC, grain_data::matType, max(), t_continuum::mesh_md5sum, mie_auxiliary(), mie_auxiliary2(), mie_calc_ial(), mie_cs(), mie_cs_size_distr(), mie_read_mix(), mie_read_rfi(), mie_read_szd(), mie_repair(), min(), grain_data::mol_weight, grain_data::nAxes, grain_data::norm, sd_data::nPart, t_rfield::nupper, OPC_GREY, OPC_PAH1, OPC_PAH2C, OPC_PAH2N, OPC_TABLE, open_data(), pow(), POW4, radius, sd_data::radius, t_continuum::ResolutionScaleFactor, RFI_TABLE, rfield, grain_data::rfiType, grain_data::rho, SD_NR_CARBON, SD_SINGLE_SIZE, sd_data::sdCase, ShowMe(), size_distr(), strstr_s(), grain_data::subl_temp, tbl_fun(), grain_data::therm_eff, sd_data::unity, sd_data::unity_bin, sd_data::vol, WAVNRYD, GrainVar::which_ial, grain_data::work, and grain_data::wt.
Referenced by ParseCompile().
STATIC void pah1_fun | ( | double | wavl, | |
const sd_data * | sd, | |||
const grain_data * | gd, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) |
Definition at line 1703 of file grains_mie.cpp.
References ATOMIC_MASS_UNIT, t_dense::AtomicWeight, sd_data::cSize, DEBUG_ENTRY, dense, EVRYD, Singleton< T >::Inst(), ipCARBON, ipHYDROGEN, max(), min(), PHFIT95, PI, pow2(), pow3(), grain_data::rho, RYD_INF, x1, and x2.
Referenced by car1_fun().
STATIC void pah2_fun | ( | double | wavl, | |
const sd_data * | sd, | |||
const grain_data * | gd, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) |
Definition at line 1957 of file grains_mie.cpp.
References ATOMIC_MASS_UNIT, t_dense::AtomicWeight, grain_data::charge, sd_data::cSize, DEBUG_ENTRY, dense, Drude(), ipCARBON, M, PI, pow(), pow2(), pow3(), grain_data::rho, and TotalInsanity().
Referenced by ld01_fun().
STATIC void ritodf | ( | double | nr, | |
double | ni, | |||
double * | eps1, | |||
double * | eps2 | |||
) |
STATIC double search_limit | ( | double | ref, | |
double | step, | |||
double | rel_cutoff, | |||
sd_data | sd | |||
) |
Definition at line 2205 of file grains_mie.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, ioQQQ, ipBHi, ipBLo, sd_data::lim, max(), POW4, size_distr(), SMALLEST_GRAIN, TOLER, x1, and x2.
Referenced by mie_read_szd().
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 4483 of file grains_mie.cpp.
References DEBUG_ENTRY, max(), MAX4, nint(), pow2(), and pow3().
STATIC void sinpar | ( | double | , | |
double | , | |||
double | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
long * | ||||
) |
Referenced by mie_cs().
STATIC double size_distr | ( | double | size, | |
const sd_data * | sd | |||
) |
Definition at line 2131 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, pow(), pow2(), POW4, powi(), SD_EXP_CUTOFF1, SD_EXP_CUTOFF2, SD_EXP_CUTOFF3, SD_ILLEGAL, SD_LIN_NORMAL, SD_LOG_NORMAL, SD_NR_CARBON, 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, | |
const vector< double > & | frdelta, | |||
const vector< complex< double > > & | eps, | |||
long | sumAxes, | |||
complex< double > * | f, | |||
double * | dudx, | |||
double * | dudy | |||
) |
Definition at line 3579 of file grains_mie.cpp.
References DEBUG_ENTRY, h2, PI, and pow2().
Referenced by mie_read_mix().
STATIC void tbl_fun | ( | double | wavl, | |
const sd_data * | sd, | |||
const grain_data * | gd, | |||
double * | cs_abs, | |||
double * | cs_sct, | |||
double * | cosb, | |||
int * | error | |||
) |
Definition at line 2079 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] |
alpha parameter for exp. cutoff
Definition at line 66 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipBeta = 3 [static] |
beta parameter for powerlaw
Definition at line 63 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipBHi = 1 [static] |
upper bound
Definition at line 61 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] |
lower bound
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 ipExp = 2 [static] |
exponent for powerlaw
Definition at line 62 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipGCen = 2 [static] |
center of gaussian distribution
Definition at line 67 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipGSig = 3 [static] |
1-sigma width of gaussian distribution
Definition at line 68 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipSHi = 5 [static] |
scale size for upper exp. cutoff
Definition at line 65 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
const int ipSize = 0 [static] |
single size
Definition at line 59 of file grains_mie.cpp.
Referenced by mie_auxiliary(), mie_cs_size_distr(), and mie_read_szd().
const int ipSLo = 4 [static] |
scale size for lower exp. cutoff
Definition at line 64 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
Definition at line 200 of file grains_mie.cpp.
Referenced by mie_read_opc(), and mie_write_opc().
const int LABELSUB1 = 3 [static] |
Definition at line 198 of file grains_mie.cpp.
Referenced by mie_write_opc().
const int LABELSUB2 = 5 [static] |
Definition at line 199 of file grains_mie.cpp.
Referenced by mie_write_opc().
const double LARGEST_GRAIN = 10.*(1.+10.*DBL_EPSILON) [static] |
Definition at line 52 of file grains_mie.cpp.
Referenced by mie_read_szd().
const long MAGIC_MIX = 4030103L [static] |
Definition at line 41 of file grains_mie.cpp.
Referenced by mie_read_mix().
const long MAGIC_OPC = 3100827L [static] |
Definition at line 40 of file grains_mie.cpp.
Referenced by mie_read_opc(), and mie_write_opc().
const long MAGIC_RFI = 1030103L [static] |
Definition at line 38 of file grains_mie.cpp.
Referenced by mie_read_rfi().
const long MAGIC_SZD = 2010403L [static] |
Definition at line 39 of file grains_mie.cpp.
Referenced by mie_read_szd().
const long MIX_TABLE_SIZE = 2000L [static] |
Definition at line 203 of file grains_mie.cpp.
Referenced by mie_read_mix().
const int NAX = 3 [static] |
Definition at line 132 of file grains_mie.cpp.
Referenced by mie_cs_size_distr(), mie_read_rfi(), and grain_data::p_clear1().
const int NDAT = 4 [static] |
Definition at line 133 of file grains_mie.cpp.
Referenced by mie_read_rfi(), and grain_data::p_clear1().
int NMXLIM = 16000 [static] |
Definition at line 4481 of file grains_mie.cpp.
const int NPTS_COMB = NPTS_DERIV*(NPTS_DERIV-1)/2 |
Definition at line 2351 of file grains_mie.cpp.
const int NPTS_DERIV = 8 |
Definition at line 2350 of file grains_mie.cpp.
const int NSD = 7 [static] |
Definition at line 55 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 1699 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 1701 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 1700 of file grains_mie.cpp.
const double pah2_wavl[14] [static] |
{ 0.0722, 0.2175, 3.3, 6.2, 7.7, 8.6, 11.3, 11.9, 12.7, 16.4, 18.3, 21.2, 23.1, 26.0 }
Definition at line 1946 of file grains_mie.cpp.
const double pah2_width[14] [static] |
{ 0.195, 0.217, 0.012, 0.032, 0.091, 0.047, 0.018, 0.025, 0.024, 0.010, 0.036, 0.038, 0.046, 0.69 }
Definition at line 1948 of file grains_mie.cpp.
const double pah2c_strength[14] [static] |
{ 7.97e-13, 1.23e-13, 4.47e-19, 1.57e-18, 5.48e-18, 2.42e-18, 4.00e-18, 6.14e-19, 1.49e-18, 5.52e-20, 6.04e-20, 1.08e-19, 2.78e-20, 1.52e-19 }
Definition at line 1952 of file grains_mie.cpp.
const double pah2n_strength[14] [static] |
{ 7.97e-13, 1.23e-13, 1.97e-18, 1.96e-19, 6.09e-19, 3.47e-19, 4.27e-18, 7.27e-19, 1.67e-18, 5.52e-20, 6.04e-20, 1.08e-19, 2.78e-20, 1.52e-19 }
Definition at line 1950 of file grains_mie.cpp.
const double SMALLEST_GRAIN = 0.0001*(1.-10.*DBL_EPSILON) [static] |
Definition at line 51 of file grains_mie.cpp.
Referenced by mie_read_szd(), and search_limit().
const int WORDLEN = 5 [static] |
Definition at line 195 of file grains_mie.cpp.
Referenced by mie_read_mix(), mie_read_rfi(), and mie_read_szd().