cloudy
trunk
|
#include "cddefines.h"
#include "elementnames.h"
#include "dense.h"
#include "called.h"
#include "version.h"
#include "grainvar.h"
#include "rfield.h"
#include "atmdat_adfa.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, OPC_PAH3N, OPC_PAH3C } |
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_step (double, sd_data *, const grain_data *, void(*)(double, const sd_data *, const grain_data *, double *, double *, double *, int *), double *, double *, const double[], double *, double *, double *, int *) |
STATIC void | mie_cs (double, const sd_data *, const grain_data *, double *, double *, double *, int *) |
STATIC void | ld01_fun (void(*)(double, const sd_data *, const grain_data[], double *, double *, double *, int *), double, double, double, const sd_data *, const grain_data[], double *, double *, double *, int *) |
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 *) |
void | car2_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 *) |
void | car3_fun (double, const sd_data *, const grain_data[], double *, double *, double *, int *) |
STATIC void | pah3_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 double[], double[], vector< int > &, bool, bool *) |
STATIC double | mie_find_slope (const double[], 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 double 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] |
static const double | pah3_wavl [30] |
static const double | pah3_width [30] |
static const double | pah3n_strength [30] |
static const double | pah3c_strength [30] |
static const bool | pah3_hoc [30] |
const int | NPTS_DERIV = 8 |
static const int | NMXLIM = 80000 |
enum emt_type |
Enumerator | |
---|---|
FARAFONOV00 | |
STOGNIENKO95 | |
BRUGGEMAN35 |
Definition at line 73 of file grains_mie.cpp.
enum rfi_type |
Enumerator | |
---|---|
RFI_TABLE | |
OPC_TABLE | |
OPC_GREY | |
OPC_PAH1 | |
OPC_PAH2N | |
OPC_PAH2C | |
OPC_PAH3N | |
OPC_PAH3C |
Definition at line 68 of file grains_mie.cpp.
enum sd_type |
Enumerator | |
---|---|
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 78 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 5069 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 3945 of file grains_mie.cpp.
References DEBUG_ENTRY, h2, and pow2().
Referenced by mie_read_mix().
|
inline |
Definition at line 1888 of file grains_mie.cpp.
References ld01_fun(), and pah1_fun().
Referenced by mie_write_opc().
|
inline |
Definition at line 2116 of file grains_mie.cpp.
References ld01_fun(), and pah2_fun().
Referenced by mie_write_opc().
|
inline |
Definition at line 2252 of file grains_mie.cpp.
References ld01_fun(), and pah3_fun().
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 3853 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, LOOP_MAX, pow2(), ShowMe(), x0, and x1.
Referenced by mie_read_mix().
STATIC void dftori | ( | double * | nr, |
double * | ni, | ||
double | eps1, | ||
double | eps2 | ||
) |
Definition at line 5151 of file grains_mie.cpp.
References ASSERT, and DEBUG_ENTRY.
Referenced by mie_read_mix(), and mie_read_rfi().
|
inline |
Definition at line 2386 of file grains_mie.cpp.
References pow2().
Referenced by pah2_fun(), and pah3_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 4715 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), 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 4577 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 4605 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), 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 3809 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, find_arr(), and ritodf().
Referenced by mie_read_mix().
STATIC void ld01_fun | ( | void(*)(double, const sd_data *, const grain_data[], double *, double *, double *, int *) | pah_fun, |
double | q_gra, | ||
double | wmin, | ||
double | wavl, | ||
const sd_data * | sd, | ||
const grain_data | gdArr[], | ||
double * | cs_abs, | ||
double * | cs_sct, | ||
double * | cosb, | ||
int * | error | ||
) |
Definition at line 1849 of file grains_mie.cpp.
References DEBUG_ENTRY, mie_cs(), min(), and pow3().
Referenced by car1_fun(), car2_fun(), and car3_fun().
STATIC void mie_auxiliary | ( | sd_data * | sd, |
const grain_data * | gd, | ||
const char * | auxCase | ||
) |
Definition at line 778 of file grains_mie.cpp.
References sd_data::a, grain_data::abun, sd_data::area, cdEXIT, sd_data::clim, sd_data::cPart, DEBUG_ENTRY, grain_data::depl, grain_data::elmAbun, EXIT_FAILURE, fprintf(), ioQQQ, ipBHi, ipBLo, ipCARBON, ipSize, sd_data::lgLogScale, sd_data::lim, max(), mie_integrate(), min(), grain_data::mol_weight, sd_data::nCarbon, sd_data::nmul, sd_data::nPart, pow2(), pow3(), radius, sd_data::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 915 of file grains_mie.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, min(), and ShowMe().
Referenced by mie_write_opc().
STATIC void mie_calc_ial | ( | const grain_data * | , |
long | , | ||
vector< double > & | , | ||
const char * | , | ||
bool * | |||
) |
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 2605 of file grains_mie.cpp.
References t_mesh::anu(), t_mesh::anuptr(), ASSERT, DEBUG_ENTRY, find_arr(), frac(), mie_repair(), grain_data::n, grain_data::nAxes, grain_data::ndata, t_rfield::nflux_with_check, RFI_TABLE, rfield, grain_data::rfiType, grain_data::wavlen, and grain_data::wt.
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 1718 of file grains_mie.cpp.
References anomal(), ASSERT, grain_data::cAxis, cdEXIT, sd_data::cSize, DEBUG_ENTRY, EXIT_FAILURE, find_arr(), fprintf(), frac(), ioQQQ, max(), grain_data::n, grain_data::ndata, grain_data::nr1, pow2(), sinpar(), and grain_data::wavlen.
Referenced by 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 1473 of file grains_mie.cpp.
References sd_data::a, ASSERT, grain_data::cAxis, cdEXIT, sd_data::cSize, DEBUG_ENTRY, EXIT_FAILURE, fp_equal(), fprintf(), ioQQQ, ipBHi, ipBLo, ipSize, mie_step(), min(), 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 TOLER.
Referenced by mie_write_opc().
STATIC double mie_find_slope | ( | const double | anu[], |
const double | data[], | ||
const vector< int > & | ErrorIndex, | ||
long | i1, | ||
long | i2, | ||
int | val, | ||
bool | lgVerbose, | ||
bool * | lgWarning | ||
) |
Definition at line 2851 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, max(), and pow2().
Referenced by mie_repair().
Definition at line 962 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, 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 4517 of file grains_mie.cpp.
References DEBUG_ENTRY, mie_next_line(), and strstr_s().
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 4545 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, FILENAME_PATH_LENGTH_2, fprintf(), 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 4381 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), 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 4404 of file grains_mie.cpp.
References t_dense::AtomicWeight, t_elementnames::chElementSym, DEBUG_ENTRY, dense, elementnames, frac(), 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 4333 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), 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 3401 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, EXIT_FAILURE, FARAFONOV00, FILENAME_PATH_LENGTH_2, fprintf(), frac(), 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 1013 of file grains_mie.cpp.
References t_mesh::anu(), AS_LOCAL_DATA, ASSERT, t_dense::AtomicWeight, t_cpu_i::big_endian(), GrainVar::bin, called, cdEXIT, cpu, DEBUG_ENTRY, dense, GrainPar::dep, t_mesh::egamry(), t_mesh::emm(), EXIT_FAILURE, FILENAME_PATH_LENGTH_2, fp_equal_tol(), fprintf(), gv, t_cpu::i(), ioQQQ, LABELSIZE, GrainPar::lgForbidQHeating, GrainPar::lgGreyGrain, GrainPar::lgRequestQHeating, t_called::lgTalk, LIMELM, MAGIC_OPC, t_mesh::mesh_md5sum(), mie_next_data(), mie_next_line(), mie_read_double(), mie_read_long(), mie_read_realnum(), mie_read_word(), min(), GrainPar::nDustFunc, NMD5, open_data(), pow2(), GrainVar::ReadRecord, rfield, and strstr_s().
Referenced by ParseGrain().
STATIC void mie_read_realnum | ( | const char * | chFile, |
const char | chLine[], | ||
realnum * | data, | ||
bool | lgZeroIllegal, | ||
long int | dl | ||
) |
Definition at line 4356 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), and ioQQQ.
Referenced by mie_read_opc().
STATIC void mie_read_rfi | ( | const char * | chFile, |
grain_data * | gd | ||
) |
Definition at line 2910 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, EXIT_FAILURE, exp10(), FILENAME_PATH_LENGTH_2, fprintf(), 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_PAH3C, OPC_PAH3N, 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().
Definition at line 3978 of file grains_mie.cpp.
References sd_data::a, AS_LOCAL_ONLY, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, FILENAME_PATH_LENGTH_2, fprintf(), 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(), 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 4492 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 * | , |
long | , | ||
int | , | ||
int | , | ||
const double | [], | ||
double | [], | ||
vector< 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, | ||
const double | anu[], | ||
double | data[], | ||
vector< int > & | ErrorIndex, | ||
bool | lgRound, | ||
bool * | lgWarning | ||
) |
Definition at line 2671 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, max(), mie_find_slope(), min(), NPTS_DERIV, and ShowMe().
STATIC void mie_step | ( | double | wavlen, |
sd_data * | sd, | ||
const grain_data * | gd, | ||
void(*)(double, const sd_data *, const grain_data *,double *, double *, double *, int *) | cs_fun, | ||
double * | x, | ||
double * | h, | ||
const double | toler[], | ||
double * | absval, | ||
double * | sctval, | ||
double * | cosb, | ||
int * | error | ||
) |
Definition at line 1582 of file grains_mie.cpp.
References sd_data::clim, sd_data::cSize, DEBUG_ENTRY, e1(), e2(), fprintf(), ioQQQ, ipBLo, max(), safe_div(), and size_distr().
Referenced by mie_cs_size_distr().
STATIC void mie_write_form | ( | const double | elmAbun[], |
char | chWord[] | ||
) |
Definition at line 4455 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 274 of file grains_mie.cpp.
References grain_data::abun, t_mesh::anu(), t_mesh::anuptr(), sd_data::area, grain_data::atom_weight, grain_data::bandgap, t_cpu_i::big_endian(), car1_fun(), car2_fun(), car3_fun(), grain_data::cAxis, cdEXIT, grain_data::charge, t_elementnames::chElementSym, grain_data::clear(), sd_data::clim, multi_arr< T, d, ALLOC, lgBC >::clone(), sd_data::cPart, cpu, DEBUG_ENTRY, grain_data::depl, t_mesh::egamry(), elementnames, grain_data::elmAbun, t_mesh::emm(), EXIT_FAILURE, FILENAME_PATH_LENGTH_2, fprintf(), frac(), t_mesh::getResolutionScaleFactor(), gv, t_cpu::i(), IAL_CAR, IAL_SIL, Singleton< t_version >::Inst(), ioQQQ, ipBHi, ipBLo, LABELSIZE, LABELSUB1, LABELSUB2, sd_data::lgLogScale, sd_data::lim, LIMELM, sd_data::magic, grain_data::magic, MAGIC_OPC, grain_data::matType, max(), t_mesh::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, t_rfield::nflux_with_check, grain_data::norm, sd_data::nPart, OPC_GREY, OPC_PAH1, OPC_PAH2C, OPC_PAH2N, OPC_PAH3C, OPC_PAH3N, OPC_TABLE, open_data(), POW4, radius, sd_data::radius, 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, 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 1909 of file grains_mie.cpp.
References t_dense::AtomicWeight, sd_data::cSize, DEBUG_ENTRY, dense, frac(), Singleton< t_ADfA >::Inst(), ipCARBON, ipHYDROGEN, max(), min(), t_ADfA::phfit(), PHFIT95, pow2(), pow3(), grain_data::rho, t_ADfA::set_version(), 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 2140 of file grains_mie.cpp.
References t_dense::AtomicWeight, grain_data::charge, sd_data::cSize, DEBUG_ENTRY, dense, Drude(), exp10(), ipCARBON, M, pow2(), pow3(), grain_data::rho, and TotalInsanity().
Referenced by car2_fun().
STATIC void pah3_fun | ( | double | wavl, |
const sd_data * | sd, | ||
const grain_data * | gd, | ||
double * | cs_abs, | ||
double * | cs_sct, | ||
double * | cosb, | ||
int * | error | ||
) |
Definition at line 2287 of file grains_mie.cpp.
References t_dense::AtomicWeight, grain_data::charge, sd_data::cSize, DEBUG_ENTRY, dense, Drude(), exp10(), ipCARBON, M, pow2(), pow3(), grain_data::rho, and TotalInsanity().
Referenced by car3_fun().
STATIC void ritodf | ( | double | nr, |
double | ni, | ||
double * | eps1, | ||
double * | eps2 | ||
) |
Definition at line 2523 of file grains_mie.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), 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 | , |
double | , | ||
double | , | ||
double * | , | ||
double * | , | ||
double * | , | ||
double * | , | ||
double * | , | ||
long * | |||
) |
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 4807 of file grains_mie.cpp.
References DEBUG_ENTRY, max(), MAX4, nint(), pow2(), pow3(), and sincos().
Definition at line 2449 of file grains_mie.cpp.
References sd_data::a, ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, find_arr(), fprintf(), frac(), 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_NR_CARBON, SD_POWERLAW, SD_SINGLE_SIZE, SD_TABLE, sd_data::sdCase, and ShowMe().
Referenced by mie_integrate(), mie_step(), 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 3903 of file grains_mie.cpp.
References DEBUG_ENTRY, h2, 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 2397 of file grains_mie.cpp.
References ASSERT, DEBUG_ENTRY, find_arr(), frac(), grain_data::nOpcCols, grain_data::nOpcData, grain_data::opcAnu, grain_data::opcData, and TotalInsanity().
Referenced by mie_write_opc().
|
static |
alpha parameter for exp. cutoff
Definition at line 63 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
|
static |
beta parameter for powerlaw
Definition at line 60 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
|
static |
upper bound
Definition at line 58 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().
|
static |
lower bound
Definition at line 57 of file grains_mie.cpp.
Referenced by mie_auxiliary(), mie_cs_size_distr(), mie_integrate(), mie_read_szd(), mie_step(), mie_write_opc(), search_limit(), and size_distr().
|
static |
exponent for powerlaw
Definition at line 59 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
|
static |
center of gaussian distribution
Definition at line 64 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
|
static |
1-sigma width of gaussian distribution
Definition at line 65 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
|
static |
scale size for upper exp. cutoff
Definition at line 62 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
|
static |
single size
Definition at line 56 of file grains_mie.cpp.
Referenced by mie_auxiliary(), mie_cs_size_distr(), and mie_read_szd().
|
static |
scale size for lower exp. cutoff
Definition at line 61 of file grains_mie.cpp.
Referenced by mie_read_szd(), and size_distr().
Definition at line 197 of file grains_mie.cpp.
Referenced by mie_read_opc(), and mie_write_opc().
|
static |
Definition at line 195 of file grains_mie.cpp.
Referenced by mie_write_opc().
|
static |
Definition at line 196 of file grains_mie.cpp.
Referenced by mie_write_opc().
|
static |
Definition at line 49 of file grains_mie.cpp.
Referenced by mie_read_szd().
|
static |
Definition at line 38 of file grains_mie.cpp.
Referenced by mie_read_mix().
|
static |
Definition at line 37 of file grains_mie.cpp.
Referenced by mie_read_opc(), and mie_write_opc().
|
static |
Definition at line 35 of file grains_mie.cpp.
Referenced by mie_read_rfi().
|
static |
Definition at line 36 of file grains_mie.cpp.
Referenced by mie_read_szd().
|
static |
Definition at line 200 of file grains_mie.cpp.
Referenced by mie_read_mix().
|
static |
Definition at line 129 of file grains_mie.cpp.
Referenced by mie_cs_size_distr(), mie_read_rfi(), and grain_data::p_clear1().
|
static |
Definition at line 130 of file grains_mie.cpp.
Referenced by mie_read_rfi(), and grain_data::p_clear1().
|
static |
Definition at line 4805 of file grains_mie.cpp.
const int NPTS_DERIV = 8 |
Definition at line 2668 of file grains_mie.cpp.
Referenced by mie_repair().
|
static |
Definition at line 52 of file grains_mie.cpp.
|
static |
Definition at line 1905 of file grains_mie.cpp.
|
static |
Definition at line 1907 of file grains_mie.cpp.
|
static |
Definition at line 1906 of file grains_mie.cpp.
|
static |
Definition at line 2129 of file grains_mie.cpp.
|
static |
Definition at line 2131 of file grains_mie.cpp.
|
static |
Definition at line 2135 of file grains_mie.cpp.
|
static |
Definition at line 2133 of file grains_mie.cpp.
|
static |
Definition at line 2281 of file grains_mie.cpp.
|
static |
Definition at line 2265 of file grains_mie.cpp.
|
static |
Definition at line 2268 of file grains_mie.cpp.
|
static |
Definition at line 2275 of file grains_mie.cpp.
|
static |
Definition at line 2271 of file grains_mie.cpp.
|
static |
Definition at line 48 of file grains_mie.cpp.
Referenced by mie_read_szd(), and search_limit().
|
static |
Definition at line 192 of file grains_mie.cpp.
Referenced by mie_read_mix(), mie_read_rfi(), and mie_read_szd().